curl --request PATCH \
--url https://api.duvo.ai/v2/slack-triggers/{trigger_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"channel_id": "<string>",
"channel_name": "<string>",
"match_rule": {
"kind": "all"
},
"is_private": true,
"enabled": true
}
'import requests
url = "https://api.duvo.ai/v2/slack-triggers/{trigger_id}"
payload = {
"channel_id": "<string>",
"channel_name": "<string>",
"match_rule": { "kind": "all" },
"is_private": True,
"enabled": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
channel_id: '<string>',
channel_name: '<string>',
match_rule: {kind: 'all'},
is_private: true,
enabled: true
})
};
fetch('https://api.duvo.ai/v2/slack-triggers/{trigger_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.duvo.ai/v2/slack-triggers/{trigger_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'channel_id' => '<string>',
'channel_name' => '<string>',
'match_rule' => [
'kind' => 'all'
],
'is_private' => true,
'enabled' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.duvo.ai/v2/slack-triggers/{trigger_id}"
payload := strings.NewReader("{\n \"channel_id\": \"<string>\",\n \"channel_name\": \"<string>\",\n \"match_rule\": {\n \"kind\": \"all\"\n },\n \"is_private\": true,\n \"enabled\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.duvo.ai/v2/slack-triggers/{trigger_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"channel_id\": \"<string>\",\n \"channel_name\": \"<string>\",\n \"match_rule\": {\n \"kind\": \"all\"\n },\n \"is_private\": true,\n \"enabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.duvo.ai/v2/slack-triggers/{trigger_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"channel_id\": \"<string>\",\n \"channel_name\": \"<string>\",\n \"match_rule\": {\n \"kind\": \"all\"\n },\n \"is_private\": true,\n \"enabled\": true\n}"
response = http.request(request)
puts response.read_body{
"slack_trigger": {
"id": "<string>",
"agent_id": "<string>",
"user_id": "<string>",
"integration_slug": "<string>",
"trigger_type": "<string>",
"filter_config": {},
"integration_instance_id": "<string>",
"enabled": true,
"auto_disabled_at": "<string>",
"auto_disabled_reason": "<string>",
"consecutive_missing_connection_failures": 4503599627370495,
"first_missing_connection_failure_at": "<string>",
"last_missing_connection_failure_at": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Update Slack Channel Trigger
Update a Slack channel trigger you own — repoint it at another channel, change which messages match, or pause and resume it with enabled. Only the supplied fields change. Resuming a paused trigger requires the Slack connection it runs off to still be available on the agent; changing the channel resets the trigger’s seen-message state.
curl --request PATCH \
--url https://api.duvo.ai/v2/slack-triggers/{trigger_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"channel_id": "<string>",
"channel_name": "<string>",
"match_rule": {
"kind": "all"
},
"is_private": true,
"enabled": true
}
'import requests
url = "https://api.duvo.ai/v2/slack-triggers/{trigger_id}"
payload = {
"channel_id": "<string>",
"channel_name": "<string>",
"match_rule": { "kind": "all" },
"is_private": True,
"enabled": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
channel_id: '<string>',
channel_name: '<string>',
match_rule: {kind: 'all'},
is_private: true,
enabled: true
})
};
fetch('https://api.duvo.ai/v2/slack-triggers/{trigger_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.duvo.ai/v2/slack-triggers/{trigger_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'channel_id' => '<string>',
'channel_name' => '<string>',
'match_rule' => [
'kind' => 'all'
],
'is_private' => true,
'enabled' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.duvo.ai/v2/slack-triggers/{trigger_id}"
payload := strings.NewReader("{\n \"channel_id\": \"<string>\",\n \"channel_name\": \"<string>\",\n \"match_rule\": {\n \"kind\": \"all\"\n },\n \"is_private\": true,\n \"enabled\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.duvo.ai/v2/slack-triggers/{trigger_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"channel_id\": \"<string>\",\n \"channel_name\": \"<string>\",\n \"match_rule\": {\n \"kind\": \"all\"\n },\n \"is_private\": true,\n \"enabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.duvo.ai/v2/slack-triggers/{trigger_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"channel_id\": \"<string>\",\n \"channel_name\": \"<string>\",\n \"match_rule\": {\n \"kind\": \"all\"\n },\n \"is_private\": true,\n \"enabled\": true\n}"
response = http.request(request)
puts response.read_body{
"slack_trigger": {
"id": "<string>",
"agent_id": "<string>",
"user_id": "<string>",
"integration_slug": "<string>",
"trigger_type": "<string>",
"filter_config": {},
"integration_instance_id": "<string>",
"enabled": true,
"auto_disabled_at": "<string>",
"auto_disabled_reason": "<string>",
"consecutive_missing_connection_failures": 4503599627370495,
"first_missing_connection_failure_at": "<string>",
"last_missing_connection_failure_at": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Authorizations
API key authentication. Get your API key from the Duvo dashboard.
Path Parameters
The Slack channel trigger's unique identifier
Body
New Slack channel ID to watch. Omit to leave unchanged.
1New Slack channel name, without the leading #.
1Which channel messages fire the trigger: {"kind":"all"} for every message, or {"kind":"contains","values":["invoice"]} to match keywords.
- Option 1
- Option 2
Show child attributes
Show child attributes
Whether the channel is private.
Set to false to pause the trigger without deleting it, or true to resume it. Resuming requires the connection the trigger uses to still be available on the agent.
Response
Default Response
Show child attributes
Show child attributes
Was this page helpful?