Canned Responses
Add a New Canned Response
Add a new Canned Response to Account
POST
/
api
/
v1
/
accounts
/
{account_id}
/
canned_responses
Add a New Canned Response
curl --request POST \
--url https://app.chatwoot.com/api/v1/accounts/{account_id}/canned_responses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "Hello, {{contact.name}}! Welcome to our service.",
"short_code": "welcome"
}
'import requests
url = "https://app.chatwoot.com/api/v1/accounts/{account_id}/canned_responses"
payload = {
"content": "Hello, {{contact.name}}! Welcome to our service.",
"short_code": "welcome"
}
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({
content: 'Hello, {{contact.name}}! Welcome to our service.',
short_code: 'welcome'
})
};
fetch('https://app.chatwoot.com/api/v1/accounts/{account_id}/canned_responses', 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}/canned_responses",
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([
'content' => 'Hello, {{contact.name}}! Welcome to our service.',
'short_code' => 'welcome'
]),
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}/canned_responses"
payload := strings.NewReader("{\n \"content\": \"Hello, {{contact.name}}! Welcome to our service.\",\n \"short_code\": \"welcome\"\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}/canned_responses")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"Hello, {{contact.name}}! Welcome to our service.\",\n \"short_code\": \"welcome\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.chatwoot.com/api/v1/accounts/{account_id}/canned_responses")
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 \"content\": \"Hello, {{contact.name}}! Welcome to our service.\",\n \"short_code\": \"welcome\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"account_id": 123,
"short_code": "<string>",
"content": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
}{
"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
ID of the canned response
Account Id
Short Code for quick access of the canned response
Message content for canned response
The date and time when the canned response was created
The date and time when the canned response was updated
⌘I
Add a New Canned Response
curl --request POST \
--url https://app.chatwoot.com/api/v1/accounts/{account_id}/canned_responses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "Hello, {{contact.name}}! Welcome to our service.",
"short_code": "welcome"
}
'import requests
url = "https://app.chatwoot.com/api/v1/accounts/{account_id}/canned_responses"
payload = {
"content": "Hello, {{contact.name}}! Welcome to our service.",
"short_code": "welcome"
}
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({
content: 'Hello, {{contact.name}}! Welcome to our service.',
short_code: 'welcome'
})
};
fetch('https://app.chatwoot.com/api/v1/accounts/{account_id}/canned_responses', 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}/canned_responses",
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([
'content' => 'Hello, {{contact.name}}! Welcome to our service.',
'short_code' => 'welcome'
]),
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}/canned_responses"
payload := strings.NewReader("{\n \"content\": \"Hello, {{contact.name}}! Welcome to our service.\",\n \"short_code\": \"welcome\"\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}/canned_responses")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"Hello, {{contact.name}}! Welcome to our service.\",\n \"short_code\": \"welcome\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.chatwoot.com/api/v1/accounts/{account_id}/canned_responses")
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 \"content\": \"Hello, {{contact.name}}! Welcome to our service.\",\n \"short_code\": \"welcome\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"account_id": 123,
"short_code": "<string>",
"content": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
}{
"description": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}
