Creates an empty Conductor conversation. Attach agents, calls, dashboards, QA cohorts, contacts, flow nodes or files to give Conductor context for every message in it.
Request#
| Field | Type | Required | Description |
|---|---|---|---|
title |
string | No | Up to 120 characters. Default New conversation. The first message replaces it. |
attachments |
object[] | No | Up to 10 attachments. Default []. |
Each attachment is one of:
type |
Other fields | Adds to the context |
|---|---|---|
agent |
id |
Agent name, version and the first 1500 characters of its prompt. |
call |
id |
Status, duration, disconnection reason, sentiment and summary. |
dashboard |
id |
Dashboard name and chart titles. |
qa_cohort |
id |
Cohort name, calls scored and average score. |
contact |
id |
Name or number, call count and contact memory. |
node |
agent_id, node_id |
A conversation flow node, or a multi-prompt state by name, of that agent. |
file |
name (1 to 200 characters), content (up to 200000 characters) |
The file's first 8000 characters. |
Every ID must exist in the workspace.
Example request#
curl -X POST https://api.tried.com.au/conductor/sessions \
-H "Authorization: Bearer $TRIED_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Latency review",
"attachments": [
{
"type": "agent",
"id": "agent_4b7e2c9a1f3d5e8b0c6a2d1f"
}
]
}'const res = await fetch("https://api.tried.com.au/conductor/sessions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.TRIED_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"title": "Latency review",
"attachments": [
{
"type": "agent",
"id": "agent_4b7e2c9a1f3d5e8b0c6a2d1f"
}
]
}),
});
const session = await res.json();import os, requests
res = requests.post(
"https://api.tried.com.au/conductor/sessions",
headers={"Authorization": f"Bearer {os.environ['TRIED_API_KEY']}"},
json={
"title": "Latency review",
"attachments": [
{
"type": "agent",
"id": "agent_4b7e2c9a1f3d5e8b0c6a2d1f",
},
],
},
)
session = res.json()Response#
201 Created
{
"session_id": "conductor_1d3f5a7c9e2b4d6f8a0c2e4b",
"title": "Latency review",
"user_id": null,
"attachments": [
{
"type": "agent",
"id": "agent_4b7e2c9a1f3d5e8b0c6a2d1f"
}
],
"message_count": 0,
"messages": [],
"created_timestamp": 1792395000000,
"last_modification_timestamp": 1792395000000
}| Field | Type | Description |
|---|---|---|
session_id |
string | Conversation ID, prefixed conductor_. |
user_id |
string or null | Dashboard user who owns it. null when created with an API key. |
attachments |
object[] | Context attached to the conversation. |
message_count |
integer | User and assistant messages so far. |
messages |
object[] | The conversation. See Get Conductor session. |
Errors#
| Status | When |
|---|---|
400 |
Body validation failed, for example more than 10 attachments or an unknown type. |
401 |
Missing or invalid API key. |
403 |
The key's IP allowlist or scopes reject the request. This route needs the admin scope. Dashboard users with the member role get The member role is read-only. |
404 |
An attachment does not exist, for example Agent <id> not found, Call <id> not found or Node <node_id> not found in agent <agent_id>. |
429 |
Rate limit exceeded. See Rate limits. |
See Errors for the body format.
Retell compatibility#
Retell's public API reference has no Conductor endpoints, so this route has no Retell SDK equivalent.