cURL
curl --request GET \
--url https://api.teamfollowup.ai/api/agent-builder/agent-types \
--header 'Authorization: Bearer YOUR_API_KEY'import requests
url = "https://api.teamfollowup.ai/api/agent-builder/agent-types"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.teamfollowup.ai/api/agent-builder/agent-types', 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.teamfollowup.ai/api/agent-builder/agent-types",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.teamfollowup.ai/api/agent-builder/agent-types"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.teamfollowup.ai/api/agent-builder/agent-types")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.teamfollowup.ai/api/agent-builder/agent-types")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"agentTypes": [
{
"id": "outreach",
"agentType": "outreach",
"label": "Outreach",
"description": "Call a lead after they enter a workflow or pipeline.",
"templates": [
{
"id": "appointment_booking",
"label": "Appointment Booking",
"description": "Find real availability and book the time the lead accepts.",
"version": 1
},
{
"id": "live_transfer",
"label": "Live Transfer",
"description": "Qualify the lead, then connect them to a person.",
"version": 1
},
{
"id": "add_tag",
"label": "Add Tag",
"description": "Apply a CRM tag during the call to trigger the next automation.",
"version": 1
}
]
},
{
"id": "inbound",
"agentType": "inbound",
"label": "Inbound",
"description": "Answer incoming calls and help the caller in real time.",
"templateId": "inbound_receptionist",
"version": 1,
"templates": [
{
"id": "appointment_booking",
"label": "Appointment Booking",
"description": "Find real availability and book the time the lead accepts.",
"version": 1
},
{
"id": "live_transfer",
"label": "Live Transfer",
"description": "Qualify the lead, then connect them to a person.",
"version": 1
},
{
"id": "add_tag",
"label": "Add Tag",
"description": "Apply a CRM tag during the call to trigger the next automation.",
"version": 1
}
]
},
{
"id": "appointment",
"agentType": "appointment",
"label": "Reminder",
"description": "Remind, confirm, or reschedule someone who already has an appointment.",
"templateId": "appointment_confirmation",
"version": 1
}
]
}List agent types
List the three campaign types available when creating an agent, each with the starting capabilities you may pick from. This module intentionally excludes chat endpoints.
Required API key scope: agents:read.
GET
/
api
/
agent-builder
/
agent-types
cURL
curl --request GET \
--url https://api.teamfollowup.ai/api/agent-builder/agent-types \
--header 'Authorization: Bearer YOUR_API_KEY'import requests
url = "https://api.teamfollowup.ai/api/agent-builder/agent-types"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.teamfollowup.ai/api/agent-builder/agent-types', 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.teamfollowup.ai/api/agent-builder/agent-types",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.teamfollowup.ai/api/agent-builder/agent-types"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.teamfollowup.ai/api/agent-builder/agent-types")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.teamfollowup.ai/api/agent-builder/agent-types")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"agentTypes": [
{
"id": "outreach",
"agentType": "outreach",
"label": "Outreach",
"description": "Call a lead after they enter a workflow or pipeline.",
"templates": [
{
"id": "appointment_booking",
"label": "Appointment Booking",
"description": "Find real availability and book the time the lead accepts.",
"version": 1
},
{
"id": "live_transfer",
"label": "Live Transfer",
"description": "Qualify the lead, then connect them to a person.",
"version": 1
},
{
"id": "add_tag",
"label": "Add Tag",
"description": "Apply a CRM tag during the call to trigger the next automation.",
"version": 1
}
]
},
{
"id": "inbound",
"agentType": "inbound",
"label": "Inbound",
"description": "Answer incoming calls and help the caller in real time.",
"templateId": "inbound_receptionist",
"version": 1,
"templates": [
{
"id": "appointment_booking",
"label": "Appointment Booking",
"description": "Find real availability and book the time the lead accepts.",
"version": 1
},
{
"id": "live_transfer",
"label": "Live Transfer",
"description": "Qualify the lead, then connect them to a person.",
"version": 1
},
{
"id": "add_tag",
"label": "Add Tag",
"description": "Apply a CRM tag during the call to trigger the next automation.",
"version": 1
}
]
},
{
"id": "appointment",
"agentType": "appointment",
"label": "Reminder",
"description": "Remind, confirm, or reschedule someone who already has an appointment.",
"templateId": "appointment_confirmation",
"version": 1
}
]
}⌘I
