Skip to content
TriedDocs
Account

Create Conductor session

Start a Conductor conversation, optionally with context attached.

POSThttps://api.tried.com.au/conductor/sessions

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.