Initiate Call By Workflow Uuid
curl --request POST \
--url http://localhost:8000/api/v1/public/agent/workflow/{workflow_uuid} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <x-api-key>' \
--data '
{
"phone_number": "<string>",
"initial_context": {},
"telephony_configuration_id": 123
}
'import requests
url = "http://localhost:8000/api/v1/public/agent/workflow/{workflow_uuid}"
payload = {
"phone_number": "<string>",
"initial_context": {},
"telephony_configuration_id": 123
}
headers = {
"X-API-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({phone_number: '<string>', initial_context: {}, telephony_configuration_id: 123})
};
fetch('http://localhost:8000/api/v1/public/agent/workflow/{workflow_uuid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8000",
CURLOPT_URL => "http://localhost:8000/api/v1/public/agent/workflow/{workflow_uuid}",
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([
'phone_number' => '<string>',
'initial_context' => [
],
'telephony_configuration_id' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <x-api-key>"
],
]);
$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 := "http://localhost:8000/api/v1/public/agent/workflow/{workflow_uuid}"
payload := strings.NewReader("{\n \"phone_number\": \"<string>\",\n \"initial_context\": {},\n \"telephony_configuration_id\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<x-api-key>")
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("http://localhost:8000/api/v1/public/agent/workflow/{workflow_uuid}")
.header("X-API-Key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"phone_number\": \"<string>\",\n \"initial_context\": {},\n \"telephony_configuration_id\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8000/api/v1/public/agent/workflow/{workflow_uuid}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone_number\": \"<string>\",\n \"initial_context\": {},\n \"telephony_configuration_id\": 123\n}"
response = http.request(request)
puts response.read_body{
"status": "<string>",
"workflow_run_id": 123,
"workflow_run_name": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Запуски
Запустить агента исходящим звонком по Agent UUID
Запуск агента исходящим звонком с использованием стабильного Agent UUID воркфлоу
POST
/
api
/
v1
/
public
/
agent
/
workflow
/
{workflow_uuid}
Initiate Call By Workflow Uuid
curl --request POST \
--url http://localhost:8000/api/v1/public/agent/workflow/{workflow_uuid} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <x-api-key>' \
--data '
{
"phone_number": "<string>",
"initial_context": {},
"telephony_configuration_id": 123
}
'import requests
url = "http://localhost:8000/api/v1/public/agent/workflow/{workflow_uuid}"
payload = {
"phone_number": "<string>",
"initial_context": {},
"telephony_configuration_id": 123
}
headers = {
"X-API-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({phone_number: '<string>', initial_context: {}, telephony_configuration_id: 123})
};
fetch('http://localhost:8000/api/v1/public/agent/workflow/{workflow_uuid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8000",
CURLOPT_URL => "http://localhost:8000/api/v1/public/agent/workflow/{workflow_uuid}",
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([
'phone_number' => '<string>',
'initial_context' => [
],
'telephony_configuration_id' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <x-api-key>"
],
]);
$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 := "http://localhost:8000/api/v1/public/agent/workflow/{workflow_uuid}"
payload := strings.NewReader("{\n \"phone_number\": \"<string>\",\n \"initial_context\": {},\n \"telephony_configuration_id\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<x-api-key>")
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("http://localhost:8000/api/v1/public/agent/workflow/{workflow_uuid}")
.header("X-API-Key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"phone_number\": \"<string>\",\n \"initial_context\": {},\n \"telephony_configuration_id\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8000/api/v1/public/agent/workflow/{workflow_uuid}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone_number\": \"<string>\",\n \"initial_context\": {},\n \"telephony_configuration_id\": 123\n}"
response = http.request(request)
puts response.read_body{
"status": "<string>",
"workflow_run_id": 123,
"workflow_run_name": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Используйте этот эндпоинт, когда хотите запустить агента напрямую по его стабильному Agent UUID, а не через узел API Trigger.
workflow_uuid — это Agent UUID воркфлоу. Он отличается от trigger_path узла API Trigger.
Чтобы найти и скопировать Agent UUID в интерфейсе, см. Agent UUID.
Используйте workflow_run_id из ответа, чтобы позже получить сведения о запуске, записи и транскрипты.
Передайте initial_context, чтобы внедрить данные времени выполнения как переменные шаблона в промпт агента. См. Использование initial context.
Передайте telephony_configuration_id, чтобы направить звонок через конкретную конфигурацию телефонии вместо конфигурации по умолчанию для вашей организации. Id отображается в каждой строке раздела Конфигурации телефонии (https://app.agentika.ai/telephony-configurations для хостинговой версии или http://localhost:3010/telephony-configurations для локальной).
Этот маршрут ожидает UUID воркфлоу. Не передавайте сюда UUID узла API Trigger. Если вы хотите выполнить запуск через узел API Trigger, используйте вместо этого Запустить агента исходящим звонком.
Перед тем как исходящие звонки смогут подключаться, должен быть настроен ваш провайдер телефонии. Инструкции по настройке см. в разделе Телефония.
Headers
Path Parameters
Body
application/json
⌘I