@talqing/mcp 0.11.0 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +123 -39
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/tools.json +420 -0
package/SKILL.md
CHANGED
|
@@ -37,8 +37,10 @@ An agent is a single object, `config`, plus what you attach to it:
|
|
|
37
37
|
- **`prompt`** — the system prompt. This is where the agent's behaviour lives.
|
|
38
38
|
- **`greeting`** — the line spoken on connect, and on the way in from a
|
|
39
39
|
handoff. Voice and video only. `greeting_interruptible: false` makes the
|
|
40
|
-
caller unable to cut it off (cascade only)
|
|
41
|
-
notice
|
|
40
|
+
caller unable to cut it off (cascade only). To tell callers they are recorded,
|
|
41
|
+
set `recording.notice` to the sentence and put `{{recording.notice}}` in the
|
|
42
|
+
greeting where it should be spoken; it plays uninterruptibly, needs recording
|
|
43
|
+
on and a cascade pipeline, and `null` means no notice.
|
|
42
44
|
|
|
43
45
|
Both are personalized per session: `{{userdata.field}}` is substituted from
|
|
44
46
|
the session's userdata when the agent starts, so *"You are speaking with
|
|
@@ -55,22 +57,28 @@ An agent is a single object, `config`, plus what you attach to it:
|
|
|
55
57
|
Two more roots are filled in from outside the session, and nothing inside one
|
|
56
58
|
can write either. They differ in who fills them.
|
|
57
59
|
|
|
58
|
-
**`{{system_vars.…}}` — ours.**
|
|
59
|
-
`GET /v1/catalog` returns them as `system_vars
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
- `{{system_vars.
|
|
60
|
+
**`{{system_vars.…}}` — ours.** Seven keys, and any other is rejected at save;
|
|
61
|
+
`GET /v1/catalog` returns them as `system_vars`, each with the `channels` it
|
|
62
|
+
has a value on.
|
|
63
|
+
|
|
64
|
+
- `{{system_vars.human_phone_number}}` — the person's number: who called or
|
|
65
|
+
wrote to you, or whom you called or wrote to
|
|
66
|
+
- `{{system_vars.agent_phone_number}}` — your number in this session
|
|
67
|
+
- `{{system_vars.direction}}` — `inbound` when they started the call or chat,
|
|
68
|
+
`outbound` when you did
|
|
69
|
+
- `{{system_vars.channel}}` — where the session is happening: `phone_call`,
|
|
70
|
+
`whatsapp_call`, `whatsapp_message`, `web_call`, `chat`, `telegram` or `stream`
|
|
65
71
|
- `{{system_vars.now}}` — `2026-08-19T19:26:59+05:30`, the machine format;
|
|
66
72
|
send it to an API, never read it aloud
|
|
67
73
|
- `{{system_vars.date}}` — `Wednesday, 19 August 2026`
|
|
68
74
|
- `{{system_vars.time}}` — `7:26 PM`
|
|
69
75
|
|
|
70
|
-
The first three come from
|
|
71
|
-
|
|
76
|
+
The first three come from a phone number — phone calls, WhatsApp calls,
|
|
77
|
+
WhatsApp chats and media streams — so they are empty on web calls, API chats
|
|
78
|
+
and Telegram; do not make one the only source of a fact the agent needs. One
|
|
72
79
|
agent can greet a caller and someone it called differently by branching on
|
|
73
|
-
`{{system_vars.direction}}
|
|
80
|
+
`{{system_vars.direction}}`, and one agent on several channels can adapt by
|
|
81
|
+
branching on `{{system_vars.channel}}`. The last three come from the agent's
|
|
74
82
|
**`timezone`** and work on every channel; using one without setting `timezone`
|
|
75
83
|
is a save error. In a prompt or greeting the clock is frozen at the moment the
|
|
76
84
|
agent started (re-resolving would throw away the model's prompt cache); inside
|
|
@@ -107,8 +115,9 @@ An agent is a single object, `config`, plus what you attach to it:
|
|
|
107
115
|
Four things to get right:
|
|
108
116
|
|
|
109
117
|
- **They are visible to the model.** Anything in `vars` may be read aloud or
|
|
110
|
-
repeated back. A credential belongs in
|
|
111
|
-
|
|
118
|
+
repeated back. A credential belongs in `secrets` on the same request when it
|
|
119
|
+
is per session, or in a workspace secret when it is shared — either is read
|
|
120
|
+
as `{{secrets.NAME}}` from a tool, where the model never sees it.
|
|
112
121
|
- **`required: true` refuses the session** that supplies no value for a
|
|
113
122
|
variable with no `default` — the call token, the dial, the batch and the chat,
|
|
114
123
|
before anything is compiled and before any provider is called.
|
|
@@ -649,17 +658,21 @@ states what to add; do not try to turn the derived silence off.
|
|
|
649
658
|
this tool run's own state, `{{userdata.field}}` the session's state,
|
|
650
659
|
`{{system_vars.field}}` what the platform knows about this session,
|
|
651
660
|
`{{vars.field}}` what the tenant supplied for it, and `{{secrets.NAME}}` a
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
not text.
|
|
656
|
-
|
|
657
|
-
`
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
661
|
+
secret — the session's own if it brought one of that name, else the workspace's.
|
|
662
|
+
A string that is exactly one template token keeps the resolved value's type.
|
|
663
|
+
Every one of these works in a URL, in the query, in the body **and in headers**.
|
|
664
|
+
A token whose root is not one of those six is an error at save, not text.
|
|
665
|
+
**A secret may only be sent by an `http` operation or read by a `code`
|
|
666
|
+
operation**: `{{secrets.…}}` in any other operation (`say`, `set_variable`,
|
|
667
|
+
`if`, `frontend_rpc`, `generate_reply`, a handoff…) is refused at save, because
|
|
668
|
+
it would be spoken, shown or stored.
|
|
669
|
+
|
|
670
|
+
`system_vars` is read-only, and its seven keys are the same ones the agent's prompt
|
|
671
|
+
reads: `human_phone_number`, `agent_phone_number`, `direction`, `channel`, `now`,
|
|
672
|
+
`date`, `time`. So a tool can POST the person's number to a CRM, stamp a record
|
|
673
|
+
with `{{system_vars.now}}`, or branch an `if` on the direction or the channel
|
|
674
|
+
without the agent having to ask. The phone keys are empty on web calls, API chats,
|
|
675
|
+
Telegram and in a dashboard test run; the clock keys resolve wherever the agent has a
|
|
663
676
|
`timezone`, and read the time the **tool ran** rather than the time the call
|
|
664
677
|
started.
|
|
665
678
|
|
|
@@ -916,7 +929,7 @@ message, draft an opening line, take a shipping address mid-call.
|
|
|
916
929
|
reads `{{vars.name}}` for the values the run was given, and
|
|
917
930
|
`{{system_vars.now}}` / `.date` / `.time` when `timezone` is set. It does
|
|
918
931
|
**not** read `{{system_vars.human_phone_number}}` / `.agent_phone_number` /
|
|
919
|
-
`.direction` — there is no
|
|
932
|
+
`.direction` / `.channel` — there is no session.
|
|
920
933
|
- **`llm`** — one model, with the same `fallback`, `reasoning_effort`,
|
|
921
934
|
`priority` and `builtin_tools` an agent's LLM has. A provider tool runs inside
|
|
922
935
|
a step rather than as one, so it costs no steps and real seconds. It is the
|
|
@@ -1054,14 +1067,16 @@ rest — it never refuses for load. `run_task_batch` queues up to 1000 runs of o
|
|
|
1054
1067
|
call, all or nothing: one invalid item refuses the batch, naming `runs[i]`. Give
|
|
1055
1068
|
each run `metadata` (≤16 string labels, e.g. `{candidate_id: "c_42"}`) and an
|
|
1056
1069
|
`idempotency_key`: resending a key returns the existing run (`deduplicated`)
|
|
1057
|
-
instead of starting another
|
|
1058
|
-
`409`. Read results with `list_task_runs`
|
|
1059
|
-
`metadata=key:value`, a creation window) and
|
|
1060
|
-
webhook to `task_run.completed`, sent once per run
|
|
1070
|
+
instead of starting another — even after the task was republished — and the same
|
|
1071
|
+
key with a different request is a `409`. Read results with `list_task_runs`
|
|
1072
|
+
(filter by `task_id`, `status`, `metadata=key:value`, a creation window) and
|
|
1073
|
+
`get_task_run`, or subscribe a webhook to `task_run.completed`, sent once per run
|
|
1074
|
+
as it finishes.
|
|
1061
1075
|
|
|
1062
1076
|
**Retries.** A background run is tried again — at most 3 tries — when its
|
|
1063
1077
|
worker stopped under it, or when the model provider failed transiently before
|
|
1064
|
-
any tool ran, so a side-effecting tool
|
|
1078
|
+
any tool ran. A worker stop retries from the start, so a side-effecting tool
|
|
1079
|
+
can repeat. Everything else settles
|
|
1065
1080
|
on the first try. `tries` says how many there were; cost adds up across them.
|
|
1066
1081
|
|
|
1067
1082
|
`cancel_task_run` stops a queued run at once and a running background one
|
|
@@ -1440,8 +1455,8 @@ a ramp.
|
|
|
1440
1455
|
messaged. Cold outreach breaks WhatsApp's policy and risks their number.
|
|
1441
1456
|
- **US numbers never receive marketing templates**, and Meta caps the marketing
|
|
1442
1457
|
templates any one person receives.
|
|
1443
|
-
-
|
|
1444
|
-
a
|
|
1458
|
+
- **`send_whatsapp_batch` messages every row and cannot be undone.** Send, or
|
|
1459
|
+
resume a paused batch, only on an explicit yes for this batch.
|
|
1445
1460
|
- **`add_whatsapp_batch_recipients` on a sending or completed batch messages
|
|
1446
1461
|
the new rows at once**, with nobody pressing anything. Get an explicit yes.
|
|
1447
1462
|
|
|
@@ -1450,11 +1465,48 @@ Replies are answered by the agent on the sender's
|
|
|
1450
1465
|
`{{userdata.<column>}}` and the whole template, buttons included, as its own
|
|
1451
1466
|
first message — so write that agent's prompt against the CSV's column names.
|
|
1452
1467
|
|
|
1468
|
+
A tapped quick-reply button reaches the agent as its text; the item's `content`
|
|
1469
|
+
keeps the button's `payload` (never shown to the agent) and `replied_to`, the
|
|
1470
|
+
`provider_message_id` of the template message it answers. Photos reach an
|
|
1471
|
+
agent whose model has `vision: true`; any
|
|
1472
|
+
other agent is told to ask for a description, so pick a vision model for a
|
|
1473
|
+
number people send photos to. Voice notes, video and documents are not read.
|
|
1474
|
+
|
|
1475
|
+
**One message to one person** is `create_conversation_item`, not a batch. `to`
|
|
1476
|
+
is a `conversation_id`, or `number` (your WhatsApp sender, E.164) plus `peer`
|
|
1477
|
+
(their number) to reach someone with no conversation yet. Four `type`s:
|
|
1478
|
+
|
|
1479
|
+
- `template` — an approved template with every variable filled
|
|
1480
|
+
(`template.variables`); may go any time.
|
|
1481
|
+
- `agent_text` — free text sent as the agent's own message.
|
|
1482
|
+
- `note` — background for the agent, never delivered (any contact, PSTN ones too).
|
|
1483
|
+
- `instruct` — the agent writes and sends the next message itself, in the
|
|
1484
|
+
conversation's language, without ever saying it was instructed. Refused with
|
|
1485
|
+
`voice_session_live` while they are on a call with the agent.
|
|
1486
|
+
|
|
1487
|
+
WhatsApp allows free text only within **24 hours of their last message or
|
|
1488
|
+
call** (`ref.whatsapp_window_expires_at`). Outside it `agent_text` and
|
|
1489
|
+
`instruct` are refused with `whatsapp_window_closed`, unless
|
|
1490
|
+
`on_window_closed: {opener: {id, variables}}` names a template to send first:
|
|
1491
|
+
the text is then `held` until they reply, and `expired` after 7 days. Prefer an
|
|
1492
|
+
opener over a bare template when what you want to say is free-form.
|
|
1493
|
+
`userdata` on a post joins the contact's and is what the agent answering their
|
|
1494
|
+
reply starts from. Send an `idempotency_key` when retrying is possible. A
|
|
1495
|
+
provider refusal still stores the item, `delivery_status: failed` (nothing resends it). While
|
|
1496
|
+
they have an open chat, post anything but a note into that chat's conversation:
|
|
1497
|
+
another one is refused with `chat_open_elsewhere`.
|
|
1498
|
+
|
|
1453
1499
|
## Secrets, keys and webhooks
|
|
1454
1500
|
|
|
1455
1501
|
**Secrets** are workspace values referenced as `{{secrets.NAME}}` from tool
|
|
1456
1502
|
operations and integration config. They are write-only: once stored, only the
|
|
1457
|
-
runtime resolves them.
|
|
1503
|
+
runtime resolves them. A session can also bring its own, as `secrets` on the
|
|
1504
|
+
request that starts it; for that session they join the workspace's under the
|
|
1505
|
+
same `{{secrets.NAME}}`, the session's value winning. A tool that reads a name
|
|
1506
|
+
that is not a workspace secret saves with a warning, and starting a session
|
|
1507
|
+
without supplying it is refused — an inbound call or chat, which has no
|
|
1508
|
+
request, gets one only from the inbound webhook below. Integration and carrier
|
|
1509
|
+
credentials and MCP server headers must be workspace secrets.
|
|
1458
1510
|
|
|
1459
1511
|
**BYOK.** Talqing runs agents on the workspace's own provider API keys and has
|
|
1460
1512
|
none of its own. `list_provider_keys` says which providers are configured, and
|
|
@@ -1465,7 +1517,21 @@ there, tell them the key has to be added before the agent can publish.
|
|
|
1465
1517
|
|
|
1466
1518
|
**Webhooks** are workspace-wide and fire for every agent. `event_types` lists
|
|
1467
1519
|
what can be subscribed to, and `webhook_deliveries` is where to look when one
|
|
1468
|
-
seems silent.
|
|
1520
|
+
seems silent. `session.refused` fires for every inbound call or channel chat
|
|
1521
|
+
turned away before an agent ran.
|
|
1522
|
+
|
|
1523
|
+
**The inbound webhook** is how an inbound PSTN call, WhatsApp call or new
|
|
1524
|
+
WhatsApp/Telegram chat gets what an outbound request would carry. An agent with
|
|
1525
|
+
`inbound_webhook: true` has Talqing POST `session.request` (channel, numbers,
|
|
1526
|
+
`contact_key`, the opening message) to the workspace's one URL
|
|
1527
|
+
(`set_inbound_webhook`) before the session starts; the answer may set `vars`,
|
|
1528
|
+
`secrets`, `agent_override`, `metadata` and `userdata`, each meaning what it
|
|
1529
|
+
means on `create_outbound_call`. No valid answer within 3 s **refuses the
|
|
1530
|
+
session** (`inbound_webhook_failed`, reason in `error`), so publishing such an
|
|
1531
|
+
agent needs the webhook set, and `test_inbound_webhook` checks a reply before
|
|
1532
|
+
real callers depend on it. A chat asks once, when it opens. `metadata` — the
|
|
1533
|
+
caller's own labels — appears on the call or chat and filters `list_calls` and
|
|
1534
|
+
`list_chats` (`metadata=key:value`).
|
|
1469
1535
|
|
|
1470
1536
|
## Running an agent, and reading what happened
|
|
1471
1537
|
|
|
@@ -1488,9 +1554,14 @@ every agent the session runs and is gone when the session ends. Use `userdata`
|
|
|
1488
1554
|
for facts about the person and `vars` for configuration of the session; unlike
|
|
1489
1555
|
`userdata`, `vars` is never written onto the caller's contact record and no tool
|
|
1490
1556
|
can change it mid-session. An empty string is a deliberate blank, not a request
|
|
1491
|
-
for the default. The model can see the values, so credentials
|
|
1492
|
-
|
|
1493
|
-
|
|
1557
|
+
for the default. The model can see the values, so credentials go in secrets. On
|
|
1558
|
+
a batch it is one bag for the whole campaign, copied onto every call it places —
|
|
1559
|
+
per-person data is what a recipient's `userdata` is for.
|
|
1560
|
+
|
|
1561
|
+
All three (not batches) also take `secrets`, `{NAME: value}`: credentials for
|
|
1562
|
+
that one session, read by its tools as `{{secrets.NAME}}` and never shown to the
|
|
1563
|
+
model or returned. A web call's `resume_call` keeps them, and its own `secrets`
|
|
1564
|
+
adds or replaces.
|
|
1494
1565
|
|
|
1495
1566
|
**Per-call configuration.** All three — and `create_call_batch` — also take four
|
|
1496
1567
|
fields that change what runs on that one call:
|
|
@@ -1537,7 +1608,13 @@ rather than as two messages. The agent's model must have `vision` (see *Images*
|
|
|
1537
1608
|
above) or the call is refused naming the model.
|
|
1538
1609
|
|
|
1539
1610
|
**Reading it back.** A *conversation* is the thread with a person, on any
|
|
1540
|
-
surface; a *call* is one voice or video session.
|
|
1611
|
+
surface; a *call* is one voice or video session. A person is one **contact**
|
|
1612
|
+
(`contact_key`) per business number: `phone:<your number>:<their number>` spans
|
|
1613
|
+
phone calls, WhatsApp messages and WhatsApp calls on that number, with one
|
|
1614
|
+
`userdata`. Which thread a session writes to is the answering agent's
|
|
1615
|
+
`conversation.context` (`transcript` joins their newest thread), except that a
|
|
1616
|
+
WhatsApp call always joins their open WhatsApp chat. Every item carries the
|
|
1617
|
+
`channel` it arrived on. `list_conversations` and
|
|
1541
1618
|
`list_conversation_items` are the transcript; `list_conversation_sessions` lists
|
|
1542
1619
|
its calls and chats, and `get_chat` gives one chat's cost and analysis.
|
|
1543
1620
|
`list_calls` and `get_call` cover phone and web calls — `get_call` gives the transcript with every tool call and
|
|
@@ -1549,6 +1626,13 @@ What a run costs is the provider spend on the workspace's own keys plus
|
|
|
1549
1626
|
Talqing's platform fee, which `get_catalog` gives: per minute on voice and
|
|
1550
1627
|
video, and $0.0001 per answered message on text.
|
|
1551
1628
|
|
|
1629
|
+
Items posted through `create_conversation_item` carry `post_type` and the
|
|
1630
|
+
`author` you gave (shown to people, never to the agent or the contact). Notes and
|
|
1631
|
+
instructions have no `channel`. Outbound WhatsApp and Telegram messages move
|
|
1632
|
+
through `delivery_status` (`queued`, `sent`, `delivered`, `read`, or
|
|
1633
|
+
`undelivered`/`failed` with `delivery_error`), and each move fires the
|
|
1634
|
+
`conversation.item.status` webhook.
|
|
1635
|
+
|
|
1552
1636
|
When an agent misbehaves, read the actual run before theorizing. The transcript
|
|
1553
1637
|
and the final `userdata` usually name the cause.
|
|
1554
1638
|
|
package/dist/index.js
CHANGED
|
@@ -97,13 +97,19 @@ async function call(name, args) {
|
|
|
97
97
|
return failure(`unknown function: ${name}`);
|
|
98
98
|
let response;
|
|
99
99
|
try {
|
|
100
|
-
|
|
100
|
+
// Not followed: the recordings redirect to the media itself, which is no
|
|
101
|
+
// use as a tool result. The model gets the short-lived link instead.
|
|
102
|
+
response = await fetch(requestFor(fn, args), { redirect: "manual" });
|
|
101
103
|
}
|
|
102
104
|
catch (error) {
|
|
103
105
|
// A bad argument (missing path parameter) and an unreachable API both land
|
|
104
106
|
// here; either way the model gets a readable error in the API's own shape.
|
|
105
107
|
return failure(error instanceof Error ? error.message : String(error));
|
|
106
108
|
}
|
|
109
|
+
const location = response.headers.get("location");
|
|
110
|
+
if (response.status >= 300 && response.status < 400 && location) {
|
|
111
|
+
return { content: [{ type: "text", text: JSON.stringify({ url: location }) }] };
|
|
112
|
+
}
|
|
107
113
|
const text = await response.text();
|
|
108
114
|
if (!response.ok) {
|
|
109
115
|
// Errors already carry {detail: {message, errors}} — pass them through so
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/tools.json
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
"api_prefix": "/v1",
|
|
3
3
|
"api_version": "1.0.0",
|
|
4
4
|
"tools": [
|
|
5
|
+
{
|
|
6
|
+
"description": "Liveness probe: `200` once this process is serving. Unauthenticated.",
|
|
7
|
+
"method": "GET",
|
|
8
|
+
"name": "health",
|
|
9
|
+
"parameters": {
|
|
10
|
+
"additionalProperties": true,
|
|
11
|
+
"description": "Arguments not inlined: call describe_function('health').",
|
|
12
|
+
"properties": {},
|
|
13
|
+
"type": "object"
|
|
14
|
+
},
|
|
15
|
+
"path": "/health",
|
|
16
|
+
"read_only": true,
|
|
17
|
+
"role": "public"
|
|
18
|
+
},
|
|
5
19
|
{
|
|
6
20
|
"description": "List the workspace's agents, newest edit first.",
|
|
7
21
|
"method": "GET",
|
|
@@ -1192,6 +1206,20 @@
|
|
|
1192
1206
|
"read_only": false,
|
|
1193
1207
|
"role": "write"
|
|
1194
1208
|
},
|
|
1209
|
+
{
|
|
1210
|
+
"description": "Delete a finished batch and its recipient list for good. Its calls stay.",
|
|
1211
|
+
"method": "DELETE",
|
|
1212
|
+
"name": "delete_call_batch",
|
|
1213
|
+
"parameters": {
|
|
1214
|
+
"additionalProperties": true,
|
|
1215
|
+
"description": "Arguments not inlined: call describe_function('delete_call_batch').",
|
|
1216
|
+
"properties": {},
|
|
1217
|
+
"type": "object"
|
|
1218
|
+
},
|
|
1219
|
+
"path": "/v1/calls/batches/{batch_id}",
|
|
1220
|
+
"read_only": false,
|
|
1221
|
+
"role": "write"
|
|
1222
|
+
},
|
|
1195
1223
|
{
|
|
1196
1224
|
"description": "The domains a connected email account may send from, right now.",
|
|
1197
1225
|
"method": "GET",
|
|
@@ -1304,6 +1332,20 @@
|
|
|
1304
1332
|
"read_only": false,
|
|
1305
1333
|
"role": "write"
|
|
1306
1334
|
},
|
|
1335
|
+
{
|
|
1336
|
+
"description": "Delete a batch, its rows and its sends for good. **The record of what was sent goes too.**",
|
|
1337
|
+
"method": "DELETE",
|
|
1338
|
+
"name": "delete_email_batch",
|
|
1339
|
+
"parameters": {
|
|
1340
|
+
"additionalProperties": true,
|
|
1341
|
+
"description": "Arguments not inlined: call describe_function('delete_email_batch').",
|
|
1342
|
+
"properties": {},
|
|
1343
|
+
"type": "object"
|
|
1344
|
+
},
|
|
1345
|
+
"path": "/v1/email/batches/{batch_id}",
|
|
1346
|
+
"read_only": false,
|
|
1347
|
+
"role": "write"
|
|
1348
|
+
},
|
|
1307
1349
|
{
|
|
1308
1350
|
"description": "One batch's rows, in the order they were uploaded.",
|
|
1309
1351
|
"method": "GET",
|
|
@@ -1486,6 +1528,20 @@
|
|
|
1486
1528
|
"read_only": true,
|
|
1487
1529
|
"role": "read"
|
|
1488
1530
|
},
|
|
1531
|
+
{
|
|
1532
|
+
"description": "List the WhatsApp senders on a Twilio account, before connecting one. Stores nothing.",
|
|
1533
|
+
"method": "POST",
|
|
1534
|
+
"name": "list_twilio_whatsapp_senders",
|
|
1535
|
+
"parameters": {
|
|
1536
|
+
"additionalProperties": true,
|
|
1537
|
+
"description": "Arguments not inlined: call describe_function('list_twilio_whatsapp_senders').",
|
|
1538
|
+
"properties": {},
|
|
1539
|
+
"type": "object"
|
|
1540
|
+
},
|
|
1541
|
+
"path": "/v1/whatsapp/twilio-senders",
|
|
1542
|
+
"read_only": false,
|
|
1543
|
+
"role": "write"
|
|
1544
|
+
},
|
|
1489
1545
|
{
|
|
1490
1546
|
"description": "Create a WhatsApp batch: one approved template, sent once per CSV row. Sends nothing yet.",
|
|
1491
1547
|
"method": "POST",
|
|
@@ -1542,6 +1598,20 @@
|
|
|
1542
1598
|
"read_only": false,
|
|
1543
1599
|
"role": "write"
|
|
1544
1600
|
},
|
|
1601
|
+
{
|
|
1602
|
+
"description": "Send every ready row. **This messages real people and cannot be undone.**",
|
|
1603
|
+
"method": "POST",
|
|
1604
|
+
"name": "send_whatsapp_batch",
|
|
1605
|
+
"parameters": {
|
|
1606
|
+
"additionalProperties": true,
|
|
1607
|
+
"description": "Arguments not inlined: call describe_function('send_whatsapp_batch').",
|
|
1608
|
+
"properties": {},
|
|
1609
|
+
"type": "object"
|
|
1610
|
+
},
|
|
1611
|
+
"path": "/v1/whatsapp/batches/{batch_id}/send",
|
|
1612
|
+
"read_only": false,
|
|
1613
|
+
"role": "write"
|
|
1614
|
+
},
|
|
1545
1615
|
{
|
|
1546
1616
|
"description": "Stop sending before the next message. Nothing is lost.",
|
|
1547
1617
|
"method": "POST",
|
|
@@ -1556,6 +1626,20 @@
|
|
|
1556
1626
|
"read_only": false,
|
|
1557
1627
|
"role": "write"
|
|
1558
1628
|
},
|
|
1629
|
+
{
|
|
1630
|
+
"description": "Carry on sending from where the batch stopped.",
|
|
1631
|
+
"method": "POST",
|
|
1632
|
+
"name": "resume_whatsapp_batch",
|
|
1633
|
+
"parameters": {
|
|
1634
|
+
"additionalProperties": true,
|
|
1635
|
+
"description": "Arguments not inlined: call describe_function('resume_whatsapp_batch').",
|
|
1636
|
+
"properties": {},
|
|
1637
|
+
"type": "object"
|
|
1638
|
+
},
|
|
1639
|
+
"path": "/v1/whatsapp/batches/{batch_id}/resume",
|
|
1640
|
+
"read_only": false,
|
|
1641
|
+
"role": "write"
|
|
1642
|
+
},
|
|
1559
1643
|
{
|
|
1560
1644
|
"description": "Stop for good. Messages already sent stay sent, and replies are still answered.",
|
|
1561
1645
|
"method": "POST",
|
|
@@ -1570,6 +1654,20 @@
|
|
|
1570
1654
|
"read_only": false,
|
|
1571
1655
|
"role": "write"
|
|
1572
1656
|
},
|
|
1657
|
+
{
|
|
1658
|
+
"description": "Delete a batch and its rows for good. A live batch must be canceled first.",
|
|
1659
|
+
"method": "DELETE",
|
|
1660
|
+
"name": "delete_whatsapp_batch",
|
|
1661
|
+
"parameters": {
|
|
1662
|
+
"additionalProperties": true,
|
|
1663
|
+
"description": "Arguments not inlined: call describe_function('delete_whatsapp_batch').",
|
|
1664
|
+
"properties": {},
|
|
1665
|
+
"type": "object"
|
|
1666
|
+
},
|
|
1667
|
+
"path": "/v1/whatsapp/batches/{batch_id}",
|
|
1668
|
+
"read_only": false,
|
|
1669
|
+
"role": "write"
|
|
1670
|
+
},
|
|
1573
1671
|
{
|
|
1574
1672
|
"description": "A batch's rows in upload order, each with its rendered message.",
|
|
1575
1673
|
"method": "GET",
|
|
@@ -1780,6 +1878,34 @@
|
|
|
1780
1878
|
"read_only": false,
|
|
1781
1879
|
"role": "write"
|
|
1782
1880
|
},
|
|
1881
|
+
{
|
|
1882
|
+
"description": "Mint a one-hour browser token for this chat. Mint another to refresh.",
|
|
1883
|
+
"method": "POST",
|
|
1884
|
+
"name": "create_chat_token",
|
|
1885
|
+
"parameters": {
|
|
1886
|
+
"additionalProperties": true,
|
|
1887
|
+
"description": "Arguments not inlined: call describe_function('create_chat_token').",
|
|
1888
|
+
"properties": {},
|
|
1889
|
+
"type": "object"
|
|
1890
|
+
},
|
|
1891
|
+
"path": "/v1/chats/{chat_id}/token",
|
|
1892
|
+
"read_only": false,
|
|
1893
|
+
"role": "write"
|
|
1894
|
+
},
|
|
1895
|
+
{
|
|
1896
|
+
"description": "Erase an ended chat's content; the chat and its cost stay. Cannot be undone.",
|
|
1897
|
+
"method": "DELETE",
|
|
1898
|
+
"name": "delete_chat",
|
|
1899
|
+
"parameters": {
|
|
1900
|
+
"additionalProperties": true,
|
|
1901
|
+
"description": "Arguments not inlined: call describe_function('delete_chat').",
|
|
1902
|
+
"properties": {},
|
|
1903
|
+
"type": "object"
|
|
1904
|
+
},
|
|
1905
|
+
"path": "/v1/chats/{chat_id}",
|
|
1906
|
+
"read_only": false,
|
|
1907
|
+
"role": "write"
|
|
1908
|
+
},
|
|
1783
1909
|
{
|
|
1784
1910
|
"description": "List voice and video calls, newest first, with status, duration and cost.",
|
|
1785
1911
|
"method": "GET",
|
|
@@ -1822,6 +1948,62 @@
|
|
|
1822
1948
|
"read_only": true,
|
|
1823
1949
|
"role": "read"
|
|
1824
1950
|
},
|
|
1951
|
+
{
|
|
1952
|
+
"description": "Erase this call's content. The call itself stays, with its cost.",
|
|
1953
|
+
"method": "DELETE",
|
|
1954
|
+
"name": "delete_call",
|
|
1955
|
+
"parameters": {
|
|
1956
|
+
"additionalProperties": true,
|
|
1957
|
+
"description": "Arguments not inlined: call describe_function('delete_call').",
|
|
1958
|
+
"properties": {},
|
|
1959
|
+
"type": "object"
|
|
1960
|
+
},
|
|
1961
|
+
"path": "/v1/calls/{session_id}",
|
|
1962
|
+
"read_only": false,
|
|
1963
|
+
"role": "write"
|
|
1964
|
+
},
|
|
1965
|
+
{
|
|
1966
|
+
"description": "Redirect to the call's audio: one stereo Ogg/Opus file.",
|
|
1967
|
+
"method": "GET",
|
|
1968
|
+
"name": "get_call_recording",
|
|
1969
|
+
"parameters": {
|
|
1970
|
+
"additionalProperties": true,
|
|
1971
|
+
"description": "Arguments not inlined: call describe_function('get_call_recording').",
|
|
1972
|
+
"properties": {},
|
|
1973
|
+
"type": "object"
|
|
1974
|
+
},
|
|
1975
|
+
"path": "/v1/calls/{session_id}/recording",
|
|
1976
|
+
"read_only": true,
|
|
1977
|
+
"role": "read"
|
|
1978
|
+
},
|
|
1979
|
+
{
|
|
1980
|
+
"description": "Redirect to the screen the person shared: one 1 fps H.264 file.",
|
|
1981
|
+
"method": "GET",
|
|
1982
|
+
"name": "get_call_screen_recording",
|
|
1983
|
+
"parameters": {
|
|
1984
|
+
"additionalProperties": true,
|
|
1985
|
+
"description": "Arguments not inlined: call describe_function('get_call_screen_recording').",
|
|
1986
|
+
"properties": {},
|
|
1987
|
+
"type": "object"
|
|
1988
|
+
},
|
|
1989
|
+
"path": "/v1/calls/{session_id}/screen-recording",
|
|
1990
|
+
"read_only": true,
|
|
1991
|
+
"role": "read"
|
|
1992
|
+
},
|
|
1993
|
+
{
|
|
1994
|
+
"description": "Delete the call's recorded media, keeping the call itself.",
|
|
1995
|
+
"method": "DELETE",
|
|
1996
|
+
"name": "delete_call_recording",
|
|
1997
|
+
"parameters": {
|
|
1998
|
+
"additionalProperties": true,
|
|
1999
|
+
"description": "Arguments not inlined: call describe_function('delete_call_recording').",
|
|
2000
|
+
"properties": {},
|
|
2001
|
+
"type": "object"
|
|
2002
|
+
},
|
|
2003
|
+
"path": "/v1/calls/{session_id}/recording",
|
|
2004
|
+
"read_only": false,
|
|
2005
|
+
"role": "write"
|
|
2006
|
+
},
|
|
1825
2007
|
{
|
|
1826
2008
|
"description": "Try an analysis definition against one past call and see what it finds.",
|
|
1827
2009
|
"method": "POST",
|
|
@@ -1920,6 +2102,20 @@
|
|
|
1920
2102
|
"read_only": true,
|
|
1921
2103
|
"role": "read"
|
|
1922
2104
|
},
|
|
2105
|
+
{
|
|
2106
|
+
"description": "What the platform did during this conversation's sessions, oldest first.",
|
|
2107
|
+
"method": "GET",
|
|
2108
|
+
"name": "list_conversation_trace",
|
|
2109
|
+
"parameters": {
|
|
2110
|
+
"additionalProperties": true,
|
|
2111
|
+
"description": "Arguments not inlined: call describe_function('list_conversation_trace').",
|
|
2112
|
+
"properties": {},
|
|
2113
|
+
"type": "object"
|
|
2114
|
+
},
|
|
2115
|
+
"path": "/v1/conversations/{conversation_id}/trace",
|
|
2116
|
+
"read_only": true,
|
|
2117
|
+
"role": "read"
|
|
2118
|
+
},
|
|
1923
2119
|
{
|
|
1924
2120
|
"description": "Edit a conversation's summary, userdata or metadata.",
|
|
1925
2121
|
"method": "PATCH",
|
|
@@ -1934,6 +2130,76 @@
|
|
|
1934
2130
|
"read_only": false,
|
|
1935
2131
|
"role": "write"
|
|
1936
2132
|
},
|
|
2133
|
+
{
|
|
2134
|
+
"description": "Erase a conversation: every session's content, its items, and the contact once it has no other conversations. Cannot be undone.",
|
|
2135
|
+
"method": "DELETE",
|
|
2136
|
+
"name": "delete_conversation",
|
|
2137
|
+
"parameters": {
|
|
2138
|
+
"additionalProperties": true,
|
|
2139
|
+
"description": "Arguments not inlined: call describe_function('delete_conversation').",
|
|
2140
|
+
"properties": {},
|
|
2141
|
+
"type": "object"
|
|
2142
|
+
},
|
|
2143
|
+
"path": "/v1/conversations/{conversation_id}",
|
|
2144
|
+
"read_only": false,
|
|
2145
|
+
"role": "write"
|
|
2146
|
+
},
|
|
2147
|
+
{
|
|
2148
|
+
"description": "Post a template, agent text, note or instruction into a conversation, or start one with a person.",
|
|
2149
|
+
"method": "POST",
|
|
2150
|
+
"name": "create_conversation_item",
|
|
2151
|
+
"parameters": {
|
|
2152
|
+
"additionalProperties": true,
|
|
2153
|
+
"description": "Arguments not inlined: call describe_function('create_conversation_item').",
|
|
2154
|
+
"properties": {},
|
|
2155
|
+
"type": "object"
|
|
2156
|
+
},
|
|
2157
|
+
"path": "/v1/conversations/items",
|
|
2158
|
+
"read_only": false,
|
|
2159
|
+
"role": "write"
|
|
2160
|
+
},
|
|
2161
|
+
{
|
|
2162
|
+
"description": "Say something to AgentCoPilot. The reply arrives on the stream, not here.",
|
|
2163
|
+
"method": "POST",
|
|
2164
|
+
"name": "agent_copilot_send_message",
|
|
2165
|
+
"parameters": {
|
|
2166
|
+
"additionalProperties": true,
|
|
2167
|
+
"description": "Arguments not inlined: call describe_function('agent_copilot_send_message').",
|
|
2168
|
+
"properties": {},
|
|
2169
|
+
"type": "object"
|
|
2170
|
+
},
|
|
2171
|
+
"path": "/v1/copilot/agents/{agent_id}/messages",
|
|
2172
|
+
"read_only": false,
|
|
2173
|
+
"role": "write"
|
|
2174
|
+
},
|
|
2175
|
+
{
|
|
2176
|
+
"description": "Say something to ToolCoPilot. The reply arrives on the stream, not here.",
|
|
2177
|
+
"method": "POST",
|
|
2178
|
+
"name": "tool_copilot_send_message",
|
|
2179
|
+
"parameters": {
|
|
2180
|
+
"additionalProperties": true,
|
|
2181
|
+
"description": "Arguments not inlined: call describe_function('tool_copilot_send_message').",
|
|
2182
|
+
"properties": {},
|
|
2183
|
+
"type": "object"
|
|
2184
|
+
},
|
|
2185
|
+
"path": "/v1/copilot/tools/{tool_id}/messages",
|
|
2186
|
+
"read_only": false,
|
|
2187
|
+
"role": "write"
|
|
2188
|
+
},
|
|
2189
|
+
{
|
|
2190
|
+
"description": "Say something to TaskCoPilot. The reply arrives on the stream, not here.",
|
|
2191
|
+
"method": "POST",
|
|
2192
|
+
"name": "task_copilot_send_message",
|
|
2193
|
+
"parameters": {
|
|
2194
|
+
"additionalProperties": true,
|
|
2195
|
+
"description": "Arguments not inlined: call describe_function('task_copilot_send_message').",
|
|
2196
|
+
"properties": {},
|
|
2197
|
+
"type": "object"
|
|
2198
|
+
},
|
|
2199
|
+
"path": "/v1/copilot/tasks/{task_id}/messages",
|
|
2200
|
+
"read_only": false,
|
|
2201
|
+
"role": "write"
|
|
2202
|
+
},
|
|
1937
2203
|
{
|
|
1938
2204
|
"description": "Workspace analytics: volume, endings, recordings, response time and spend. One snapshot of a date range, up to 7 days.",
|
|
1939
2205
|
"method": "GET",
|
|
@@ -1948,6 +2214,90 @@
|
|
|
1948
2214
|
"read_only": true,
|
|
1949
2215
|
"role": "read"
|
|
1950
2216
|
},
|
|
2217
|
+
{
|
|
2218
|
+
"description": "This workspace's credit balance, what it buys, and what a top-up costs.",
|
|
2219
|
+
"method": "GET",
|
|
2220
|
+
"name": "get_credits",
|
|
2221
|
+
"parameters": {
|
|
2222
|
+
"additionalProperties": true,
|
|
2223
|
+
"description": "Arguments not inlined: call describe_function('get_credits').",
|
|
2224
|
+
"properties": {},
|
|
2225
|
+
"type": "object"
|
|
2226
|
+
},
|
|
2227
|
+
"path": "/v1/billing/credits",
|
|
2228
|
+
"read_only": true,
|
|
2229
|
+
"role": "read"
|
|
2230
|
+
},
|
|
2231
|
+
{
|
|
2232
|
+
"description": "Every movement of this workspace's balance, newest first, with what caused each.",
|
|
2233
|
+
"method": "GET",
|
|
2234
|
+
"name": "list_credit_ledger",
|
|
2235
|
+
"parameters": {
|
|
2236
|
+
"additionalProperties": true,
|
|
2237
|
+
"description": "Arguments not inlined: call describe_function('list_credit_ledger').",
|
|
2238
|
+
"properties": {},
|
|
2239
|
+
"type": "object"
|
|
2240
|
+
},
|
|
2241
|
+
"path": "/v1/billing/credits/ledger",
|
|
2242
|
+
"read_only": true,
|
|
2243
|
+
"role": "read"
|
|
2244
|
+
},
|
|
2245
|
+
{
|
|
2246
|
+
"description": "Start a credit purchase and return the hosted checkout URL to open.",
|
|
2247
|
+
"method": "POST",
|
|
2248
|
+
"name": "create_credit_checkout",
|
|
2249
|
+
"parameters": {
|
|
2250
|
+
"additionalProperties": true,
|
|
2251
|
+
"description": "Arguments not inlined: call describe_function('create_credit_checkout').",
|
|
2252
|
+
"properties": {},
|
|
2253
|
+
"type": "object"
|
|
2254
|
+
},
|
|
2255
|
+
"path": "/v1/billing/credits/checkout",
|
|
2256
|
+
"read_only": false,
|
|
2257
|
+
"role": "admin"
|
|
2258
|
+
},
|
|
2259
|
+
{
|
|
2260
|
+
"description": "List personal access tokens: your own, or every one in the organization if you are an admin.",
|
|
2261
|
+
"method": "GET",
|
|
2262
|
+
"name": "list_tokens",
|
|
2263
|
+
"parameters": {
|
|
2264
|
+
"additionalProperties": true,
|
|
2265
|
+
"description": "Arguments not inlined: call describe_function('list_tokens').",
|
|
2266
|
+
"properties": {},
|
|
2267
|
+
"type": "object"
|
|
2268
|
+
},
|
|
2269
|
+
"path": "/v1/tokens",
|
|
2270
|
+
"read_only": true,
|
|
2271
|
+
"role": "read"
|
|
2272
|
+
},
|
|
2273
|
+
{
|
|
2274
|
+
"description": "Create a personal access token for driving this API without the dashboard.",
|
|
2275
|
+
"method": "POST",
|
|
2276
|
+
"name": "create_token",
|
|
2277
|
+
"parameters": {
|
|
2278
|
+
"additionalProperties": true,
|
|
2279
|
+
"description": "Arguments not inlined: call describe_function('create_token').",
|
|
2280
|
+
"properties": {},
|
|
2281
|
+
"type": "object"
|
|
2282
|
+
},
|
|
2283
|
+
"path": "/v1/tokens",
|
|
2284
|
+
"read_only": false,
|
|
2285
|
+
"role": "read"
|
|
2286
|
+
},
|
|
2287
|
+
{
|
|
2288
|
+
"description": "Revoke a token immediately and permanently.",
|
|
2289
|
+
"method": "DELETE",
|
|
2290
|
+
"name": "delete_token",
|
|
2291
|
+
"parameters": {
|
|
2292
|
+
"additionalProperties": true,
|
|
2293
|
+
"description": "Arguments not inlined: call describe_function('delete_token').",
|
|
2294
|
+
"properties": {},
|
|
2295
|
+
"type": "object"
|
|
2296
|
+
},
|
|
2297
|
+
"path": "/v1/tokens/{token_id}",
|
|
2298
|
+
"read_only": false,
|
|
2299
|
+
"role": "read"
|
|
2300
|
+
},
|
|
1951
2301
|
{
|
|
1952
2302
|
"description": "List the workspace's secrets by name, with a masked hint of each value.",
|
|
1953
2303
|
"method": "GET",
|
|
@@ -2102,6 +2452,76 @@
|
|
|
2102
2452
|
"read_only": true,
|
|
2103
2453
|
"role": "read"
|
|
2104
2454
|
},
|
|
2455
|
+
{
|
|
2456
|
+
"description": "Get the workspace's inbound session webhook.",
|
|
2457
|
+
"method": "GET",
|
|
2458
|
+
"name": "get_inbound_webhook",
|
|
2459
|
+
"parameters": {
|
|
2460
|
+
"additionalProperties": true,
|
|
2461
|
+
"description": "Arguments not inlined: call describe_function('get_inbound_webhook').",
|
|
2462
|
+
"properties": {},
|
|
2463
|
+
"type": "object"
|
|
2464
|
+
},
|
|
2465
|
+
"path": "/v1/inbound-webhook",
|
|
2466
|
+
"read_only": true,
|
|
2467
|
+
"role": "read"
|
|
2468
|
+
},
|
|
2469
|
+
{
|
|
2470
|
+
"description": "Set the URL asked for an inbound session's configuration.",
|
|
2471
|
+
"method": "PUT",
|
|
2472
|
+
"name": "set_inbound_webhook",
|
|
2473
|
+
"parameters": {
|
|
2474
|
+
"additionalProperties": true,
|
|
2475
|
+
"description": "Arguments not inlined: call describe_function('set_inbound_webhook').",
|
|
2476
|
+
"properties": {},
|
|
2477
|
+
"type": "object"
|
|
2478
|
+
},
|
|
2479
|
+
"path": "/v1/inbound-webhook",
|
|
2480
|
+
"read_only": false,
|
|
2481
|
+
"role": "write"
|
|
2482
|
+
},
|
|
2483
|
+
{
|
|
2484
|
+
"description": "Remove the inbound session webhook.",
|
|
2485
|
+
"method": "DELETE",
|
|
2486
|
+
"name": "delete_inbound_webhook",
|
|
2487
|
+
"parameters": {
|
|
2488
|
+
"additionalProperties": true,
|
|
2489
|
+
"description": "Arguments not inlined: call describe_function('delete_inbound_webhook').",
|
|
2490
|
+
"properties": {},
|
|
2491
|
+
"type": "object"
|
|
2492
|
+
},
|
|
2493
|
+
"path": "/v1/inbound-webhook",
|
|
2494
|
+
"read_only": false,
|
|
2495
|
+
"role": "write"
|
|
2496
|
+
},
|
|
2497
|
+
{
|
|
2498
|
+
"description": "Issue a new signing secret; the old one stops working at once.",
|
|
2499
|
+
"method": "POST",
|
|
2500
|
+
"name": "rotate_inbound_webhook_secret",
|
|
2501
|
+
"parameters": {
|
|
2502
|
+
"additionalProperties": true,
|
|
2503
|
+
"description": "Arguments not inlined: call describe_function('rotate_inbound_webhook_secret').",
|
|
2504
|
+
"properties": {},
|
|
2505
|
+
"type": "object"
|
|
2506
|
+
},
|
|
2507
|
+
"path": "/v1/inbound-webhook/rotate-secret",
|
|
2508
|
+
"read_only": false,
|
|
2509
|
+
"role": "write"
|
|
2510
|
+
},
|
|
2511
|
+
{
|
|
2512
|
+
"description": "Send a sample request and check the reply against the response schema.",
|
|
2513
|
+
"method": "POST",
|
|
2514
|
+
"name": "test_inbound_webhook",
|
|
2515
|
+
"parameters": {
|
|
2516
|
+
"additionalProperties": true,
|
|
2517
|
+
"description": "Arguments not inlined: call describe_function('test_inbound_webhook').",
|
|
2518
|
+
"properties": {},
|
|
2519
|
+
"type": "object"
|
|
2520
|
+
},
|
|
2521
|
+
"path": "/v1/inbound-webhook/test",
|
|
2522
|
+
"read_only": false,
|
|
2523
|
+
"role": "write"
|
|
2524
|
+
},
|
|
2105
2525
|
{
|
|
2106
2526
|
"description": "The provider catalog: every LLM, STT, TTS, realtime and avatar model that agents may use.",
|
|
2107
2527
|
"method": "GET",
|