Integrations
Create an integration hook
Create an integration hook
POST
/
api
/
v1
/
accounts
/
{account_id}
/
integrations
/
hooks
Create an integration hook
curl --request POST \
--url https://app.chatwoot.com/api/v1/accounts/{account_id}/integrations/hooks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"app_id": 1,
"inbox_id": 1,
"status": 1,
"settings": {}
}
'import requests
url = "https://app.chatwoot.com/api/v1/accounts/{account_id}/integrations/hooks"
payload = {
"app_id": 1,
"inbox_id": 1,
"status": 1,
"settings": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({app_id: 1, inbox_id: 1, status: 1, settings: {}})
};
fetch('https://app.chatwoot.com/api/v1/accounts/{account_id}/integrations/hooks', 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://app.chatwoot.com/api/v1/accounts/{account_id}/integrations/hooks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'app_id' => 1,
'inbox_id' => 1,
'status' => 1,
'settings' => [
]
]),
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://app.chatwoot.com/api/v1/accounts/{account_id}/integrations/hooks"
payload := strings.NewReader("{\n \"app_id\": 1,\n \"inbox_id\": 1,\n \"status\": 1,\n \"settings\": {}\n}")
req, _ := http.NewRequest("POST", 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.post("https://app.chatwoot.com/api/v1/accounts/{account_id}/integrations/hooks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"app_id\": 1,\n \"inbox_id\": 1,\n \"status\": 1,\n \"settings\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.chatwoot.com/api/v1/accounts/{account_id}/integrations/hooks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"app_id\": 1,\n \"inbox_id\": 1,\n \"status\": 1,\n \"settings\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"app_id": "<string>",
"inbox_id": "<string>",
"account_id": "<string>",
"status": true,
"hook_type": true,
"settings": {}
}{
"description": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}Authorizations
userBearerAuthuserApiKey
Authenticate with Authorization: Bearer <token> using a user API token from Profile Settings. Available in Chatwoot v4.19.0 and later.
Path Parameters
The numeric ID of the account
Body
application/json
Response
Success
The ID of the integration hook
The ID of the integration app
Inbox ID if its an Inbox integration
Account ID of the integration
Whether the integration hook is enabled for the account
Whether its an account or inbox integration hook
The associated settings for the integration
⌘I
Create an integration hook
curl --request POST \
--url https://app.chatwoot.com/api/v1/accounts/{account_id}/integrations/hooks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"app_id": 1,
"inbox_id": 1,
"status": 1,
"settings": {}
}
'import requests
url = "https://app.chatwoot.com/api/v1/accounts/{account_id}/integrations/hooks"
payload = {
"app_id": 1,
"inbox_id": 1,
"status": 1,
"settings": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({app_id: 1, inbox_id: 1, status: 1, settings: {}})
};
fetch('https://app.chatwoot.com/api/v1/accounts/{account_id}/integrations/hooks', 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://app.chatwoot.com/api/v1/accounts/{account_id}/integrations/hooks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'app_id' => 1,
'inbox_id' => 1,
'status' => 1,
'settings' => [
]
]),
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://app.chatwoot.com/api/v1/accounts/{account_id}/integrations/hooks"
payload := strings.NewReader("{\n \"app_id\": 1,\n \"inbox_id\": 1,\n \"status\": 1,\n \"settings\": {}\n}")
req, _ := http.NewRequest("POST", 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.post("https://app.chatwoot.com/api/v1/accounts/{account_id}/integrations/hooks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"app_id\": 1,\n \"inbox_id\": 1,\n \"status\": 1,\n \"settings\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.chatwoot.com/api/v1/accounts/{account_id}/integrations/hooks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"app_id\": 1,\n \"inbox_id\": 1,\n \"status\": 1,\n \"settings\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"app_id": "<string>",
"inbox_id": "<string>",
"account_id": "<string>",
"status": true,
"hook_type": true,
"settings": {}
}{
"description": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}
