curl --request POST \
--url https://api.helloannie.com/v1/templates/{templateId}/apply \
--header 'Content-Type: application/json' \
--data '
{
"botId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"variables": {
"office_name": "Happy Dental",
"phone_number": {
"value": "+15551234567",
"createOrgVariable": true
},
"office_address": {
"existingOrgVariableId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
}
'import requests
url = "https://api.helloannie.com/v1/templates/{templateId}/apply"
payload = {
"botId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"variables": {
"office_name": "Happy Dental",
"phone_number": {
"value": "+15551234567",
"createOrgVariable": True
},
"office_address": { "existingOrgVariableId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" }
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
botId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
variables: {
office_name: 'Happy Dental',
phone_number: {value: '+15551234567', createOrgVariable: true},
office_address: {existingOrgVariableId: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'}
}
})
};
fetch('https://api.helloannie.com/v1/templates/{templateId}/apply', 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.helloannie.com/v1/templates/{templateId}/apply",
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([
'botId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'variables' => [
'office_name' => 'Happy Dental',
'phone_number' => [
'value' => '+15551234567',
'createOrgVariable' => true
],
'office_address' => [
'existingOrgVariableId' => 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
]
]
]),
CURLOPT_HTTPHEADER => [
"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.helloannie.com/v1/templates/{templateId}/apply"
payload := strings.NewReader("{\n \"botId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"variables\": {\n \"office_name\": \"Happy Dental\",\n \"phone_number\": {\n \"value\": \"+15551234567\",\n \"createOrgVariable\": true\n },\n \"office_address\": {\n \"existingOrgVariableId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
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://api.helloannie.com/v1/templates/{templateId}/apply")
.header("Content-Type", "application/json")
.body("{\n \"botId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"variables\": {\n \"office_name\": \"Happy Dental\",\n \"phone_number\": {\n \"value\": \"+15551234567\",\n \"createOrgVariable\": true\n },\n \"office_address\": {\n \"existingOrgVariableId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.helloannie.com/v1/templates/{templateId}/apply")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"botId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"variables\": {\n \"office_name\": \"Happy Dental\",\n \"phone_number\": {\n \"value\": \"+15551234567\",\n \"createOrgVariable\": true\n },\n \"office_address\": {\n \"existingOrgVariableId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"applicationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflowId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflow": "<unknown>"
}
}{
"success": false,
"data": {},
"message": "<string>"
}{
"success": false,
"data": {},
"message": "<string>"
}{
"success": false,
"data": {},
"message": "<string>"
}{
"success": false,
"data": {},
"message": "<string>"
}Apply template to bot
DEPRECATED: Use POST /bots/{botId}/templates/{templateId} instead. Apply a workflow template to a bot by providing values for all required variables. If the template has already been applied to this bot, the existing workflow will be replaced. Each variable can be provided in one of three ways: (1) an inline value (plain string or { value }) that substitutes text directly, (2) { value, createOrgVariable: true } which creates/updates an org variable and keeps the {{placeholder}} in the workflow for runtime resolution, or (3) { existingOrgVariableId } which links to a pre-existing org variable by ID. Org-variable-backed placeholders are resolved at runtime, so updating the variable value propagates to all linked workflows automatically.
curl --request POST \
--url https://api.helloannie.com/v1/templates/{templateId}/apply \
--header 'Content-Type: application/json' \
--data '
{
"botId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"variables": {
"office_name": "Happy Dental",
"phone_number": {
"value": "+15551234567",
"createOrgVariable": true
},
"office_address": {
"existingOrgVariableId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
}
'import requests
url = "https://api.helloannie.com/v1/templates/{templateId}/apply"
payload = {
"botId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"variables": {
"office_name": "Happy Dental",
"phone_number": {
"value": "+15551234567",
"createOrgVariable": True
},
"office_address": { "existingOrgVariableId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" }
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
botId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
variables: {
office_name: 'Happy Dental',
phone_number: {value: '+15551234567', createOrgVariable: true},
office_address: {existingOrgVariableId: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'}
}
})
};
fetch('https://api.helloannie.com/v1/templates/{templateId}/apply', 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.helloannie.com/v1/templates/{templateId}/apply",
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([
'botId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'variables' => [
'office_name' => 'Happy Dental',
'phone_number' => [
'value' => '+15551234567',
'createOrgVariable' => true
],
'office_address' => [
'existingOrgVariableId' => 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
]
]
]),
CURLOPT_HTTPHEADER => [
"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.helloannie.com/v1/templates/{templateId}/apply"
payload := strings.NewReader("{\n \"botId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"variables\": {\n \"office_name\": \"Happy Dental\",\n \"phone_number\": {\n \"value\": \"+15551234567\",\n \"createOrgVariable\": true\n },\n \"office_address\": {\n \"existingOrgVariableId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
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://api.helloannie.com/v1/templates/{templateId}/apply")
.header("Content-Type", "application/json")
.body("{\n \"botId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"variables\": {\n \"office_name\": \"Happy Dental\",\n \"phone_number\": {\n \"value\": \"+15551234567\",\n \"createOrgVariable\": true\n },\n \"office_address\": {\n \"existingOrgVariableId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.helloannie.com/v1/templates/{templateId}/apply")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"botId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"variables\": {\n \"office_name\": \"Happy Dental\",\n \"phone_number\": {\n \"value\": \"+15551234567\",\n \"createOrgVariable\": true\n },\n \"office_address\": {\n \"existingOrgVariableId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"applicationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflowId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflow": "<unknown>"
}
}{
"success": false,
"data": {},
"message": "<string>"
}{
"success": false,
"data": {},
"message": "<string>"
}{
"success": false,
"data": {},
"message": "<string>"
}{
"success": false,
"data": {},
"message": "<string>"
}Path Parameters
Body
Request body for applying a template to a bot
The bot to apply the template to
Variable values keyed by variable name. Each value can be a plain string (inline substitution) or an options object.
Show child attributes
Show child attributes
{
"office_name": "Happy Dental",
"phone_number": {
"value": "+15551234567",
"createOrgVariable": true
},
"office_address": {
"existingOrgVariableId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}