@talqing/mcp 0.12.2 → 0.13.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 +22 -4
- package/package.json +1 -1
- package/tools.json +50 -1
package/SKILL.md
CHANGED
|
@@ -1441,14 +1441,26 @@ drafting and does not touch a send that is already scheduled or going out.
|
|
|
1441
1441
|
A **WhatsApp batch** sends one *approved* template to every row of a CSV from a
|
|
1442
1442
|
connected WhatsApp integration. There is no drafting: Meta approved the wording,
|
|
1443
1443
|
and only the template's variables change per row. `list_whatsapp_templates`
|
|
1444
|
-
gives a sender's
|
|
1445
|
-
|
|
1444
|
+
gives a sender's templates — header, body, footer, buttons, variable names and
|
|
1445
|
+
review `status`; only `approved` ones send, and one with `unsupported_reason`
|
|
1446
|
+
cannot be used.
|
|
1446
1447
|
`create_whatsapp_batch` maps `to_column` and every variable onto CSV columns. A
|
|
1447
1448
|
row with a bad or repeated phone, or a blank mapped cell, is kept and skipped
|
|
1448
1449
|
with the reason, so read the returned `counts`. `send_daily_cap` takes the same
|
|
1449
1450
|
object an email batch's does (a fixed 250 by default); for a new sender suggest
|
|
1450
1451
|
a ramp.
|
|
1451
1452
|
|
|
1453
|
+
**Templates** are written here too, on a Twilio sender (Gupshup ones are made in
|
|
1454
|
+
the Gupshup app). `create_whatsapp_template` submits it to WhatsApp at once; it
|
|
1455
|
+
is shared by every number on that Twilio account. Variables are named
|
|
1456
|
+
(`{{first_name}}`), each with a realistic sample in `examples`. Meta rejects a
|
|
1457
|
+
body that starts or ends with a variable, puts two variables side by side, or has
|
|
1458
|
+
fewer than `2x+1` other words for `x` variables — these come back in one 400, so
|
|
1459
|
+
draft around them. `utility` is for updates about something the person asked
|
|
1460
|
+
for; anything promotional is `marketing`. Review usually takes minutes: report
|
|
1461
|
+
`status`, and poll the list when asked. A submitted template can't be edited; a
|
|
1462
|
+
rejected one is fixed by creating a corrected copy under a new name.
|
|
1463
|
+
|
|
1452
1464
|
**Say these before creating one:**
|
|
1453
1465
|
|
|
1454
1466
|
- **Only people who opted in to hear from the business on WhatsApp** may be
|
|
@@ -1460,8 +1472,8 @@ a ramp.
|
|
|
1460
1472
|
- **`add_whatsapp_batch_recipients` on a sending or completed batch messages
|
|
1461
1473
|
the new rows at once**, with nobody pressing anything. Get an explicit yes.
|
|
1462
1474
|
|
|
1463
|
-
Replies are answered by the agent
|
|
1464
|
-
`whatsapp.message.inbound` trigger
|
|
1475
|
+
Replies are answered by the batch's own agent, if `create_whatsapp_batch` named
|
|
1476
|
+
one, else the agent on the sender's `whatsapp.message.inbound` trigger. It sees the row's columns as
|
|
1465
1477
|
`{{userdata.<column>}}` and the whole template, buttons included, as its own
|
|
1466
1478
|
first message — so write that agent's prompt against the CSV's column names.
|
|
1467
1479
|
|
|
@@ -1495,6 +1507,12 @@ reply starts from. Send an `idempotency_key` when retrying is possible. A
|
|
|
1495
1507
|
provider refusal still stores the item, `delivery_status: failed` (nothing resends it). While
|
|
1496
1508
|
they have an open chat, post anything but a note into that chat's conversation:
|
|
1497
1509
|
another one is refused with `chat_open_elsewhere`.
|
|
1510
|
+
**Choosing the agent:** a post or batch takes the agent fields an outbound call
|
|
1511
|
+
does (`agent_id`, `agent`, `agent_override`, `vars`…; a batch takes no `secrets`).
|
|
1512
|
+
Send them to make that agent answer this person — an open chat running something
|
|
1513
|
+
else ends, and a template or `agent_text` saves it for their reply; leave them
|
|
1514
|
+
out to continue whatever runs. Needs the number's messages trigger on
|
|
1515
|
+
(`messages_off`).
|
|
1498
1516
|
|
|
1499
1517
|
## Secrets, keys and webhooks
|
|
1500
1518
|
|
package/package.json
CHANGED
package/tools.json
CHANGED
|
@@ -2488,7 +2488,7 @@
|
|
|
2488
2488
|
"role": "write"
|
|
2489
2489
|
},
|
|
2490
2490
|
{
|
|
2491
|
-
"description": "List a WhatsApp sender's
|
|
2491
|
+
"description": "List a WhatsApp sender's templates in every review state, newest first, live from its BSP.",
|
|
2492
2492
|
"method": "GET",
|
|
2493
2493
|
"name": "list_whatsapp_templates",
|
|
2494
2494
|
"parameters": {
|
|
@@ -2497,6 +2497,9 @@
|
|
|
2497
2497
|
"properties": {
|
|
2498
2498
|
"integration_id": {
|
|
2499
2499
|
"type": "string"
|
|
2500
|
+
},
|
|
2501
|
+
"status": {
|
|
2502
|
+
"type": "array"
|
|
2500
2503
|
}
|
|
2501
2504
|
},
|
|
2502
2505
|
"required": [
|
|
@@ -2508,6 +2511,52 @@
|
|
|
2508
2511
|
"read_only": true,
|
|
2509
2512
|
"role": "read"
|
|
2510
2513
|
},
|
|
2514
|
+
{
|
|
2515
|
+
"description": "Create a template, shared by every number on the Twilio account, and submit it to WhatsApp.",
|
|
2516
|
+
"method": "POST",
|
|
2517
|
+
"name": "create_whatsapp_template",
|
|
2518
|
+
"parameters": {
|
|
2519
|
+
"additionalProperties": false,
|
|
2520
|
+
"description": "Arguments not inlined: call describe_function('create_whatsapp_template').",
|
|
2521
|
+
"properties": {
|
|
2522
|
+
"body": {
|
|
2523
|
+
"type": "object"
|
|
2524
|
+
}
|
|
2525
|
+
},
|
|
2526
|
+
"required": [
|
|
2527
|
+
"body"
|
|
2528
|
+
],
|
|
2529
|
+
"type": "object"
|
|
2530
|
+
},
|
|
2531
|
+
"path": "/v1/whatsapp/templates",
|
|
2532
|
+
"read_only": false,
|
|
2533
|
+
"role": "write"
|
|
2534
|
+
},
|
|
2535
|
+
{
|
|
2536
|
+
"description": "Delete a template from WhatsApp for good. Refused while a live batch sends it.",
|
|
2537
|
+
"method": "DELETE",
|
|
2538
|
+
"name": "delete_whatsapp_template",
|
|
2539
|
+
"parameters": {
|
|
2540
|
+
"additionalProperties": false,
|
|
2541
|
+
"description": "Arguments not inlined: call describe_function('delete_whatsapp_template').",
|
|
2542
|
+
"properties": {
|
|
2543
|
+
"integration_id": {
|
|
2544
|
+
"type": "string"
|
|
2545
|
+
},
|
|
2546
|
+
"template_id": {
|
|
2547
|
+
"type": "string"
|
|
2548
|
+
}
|
|
2549
|
+
},
|
|
2550
|
+
"required": [
|
|
2551
|
+
"template_id",
|
|
2552
|
+
"integration_id"
|
|
2553
|
+
],
|
|
2554
|
+
"type": "object"
|
|
2555
|
+
},
|
|
2556
|
+
"path": "/v1/whatsapp/templates/{template_id}",
|
|
2557
|
+
"read_only": false,
|
|
2558
|
+
"role": "write"
|
|
2559
|
+
},
|
|
2511
2560
|
{
|
|
2512
2561
|
"description": "List the WhatsApp senders on a Twilio account, before connecting one. Stores nothing.",
|
|
2513
2562
|
"method": "POST",
|