COD Order Confirmation Call
SkillAI & modelsPrepares an authorized cash-on-delivery order confirmation call script and result form from order details.
Use COD Order Confirmation Call in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add COD Order Confirmation Call and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the COD Order Confirmation Call skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
About this skill
Prepare one authorized cash-on-delivery order confirmation call. Compiles a CALL-E brief and advisory result schema from order rows, leaving result validation and status changes to the calling system or a human. Dry-run preview by default.
What this skill tells your AI
The instructions your AI receives, as published by calle-ai/awesome-phone-call-agents in skills/cod-order-confirmation-call/SKILL.md and read by Ahel’s review.
Use this skill when a shop, marketplace or chat-commerce system has explicit authority to place one disclosed phone call to confirm a cash-on-delivery order the customer already placed. The call reads back the items and total exactly as recorded, confirms the delivery address, records requested changes, and returns a structured disposition. It never invents items, prices or delivery promises.
This skill does not execute calls, validate returned results or change order status itself. The compiler prepares a task and schema; the host must review the advisory result before applying its own rules. The external reference uses heuristic confirmation and cancellation rules, not a guarantee that every ambiguous answer reaches a human.
When To Use
- Confirm a COD order that arrived through WhatsApp, Instagram, Messenger, a web shop or a marketplace
- Reduce fake, duplicate or forgotten COD orders before goods are prepared and dispatched
- Capture an address correction or an item change the customer asks for
- Produce an evidence-backed disposition for the operations team
When Not To Use
- First-contact sales, upselling or unsolicited marketing
- Collecting card details, ID numbers, or any payment on the call
- Medical, legal, financial, collections or political calls
- Calling a number that did not come from the order record
- Hidden retries or recurring reminder schedules
Required Inputs
order_ref: short human reference read on the callbusiness_display_name: name disclosed on the callcustomer_name(optional) andto_phone_e164(E.164, from the order record)items[]:{ name, variant?, quantity, unit_price }from the order rows, not from a chat transcriptcurrency,total, optionaldelivery_feedelivery_address(optional — if absent the caller collects it)delivery_policy(optional short text the caller may quote)language(optional),timezone(IANA)consent: must be true;do_not_call: must be false
Preflight
- Confirm the operator or the calling system authorized this one confirmation call.
- Confirm
to_phone_e164came from the order record and is in a CALL-E supported country. - Refuse if
do_not_callis true,consentis not true, or the order has no items. - Run the local preview before any CALL-E plan.
Dry-Run Preview
From the repository root (no CALL-E credentials, no network):
python3 skills/cod-order-confirmation-call/scripts/build_task.py skills/cod-order-confirmation-call/assets/sample-order.json
Prints display copies of the compiled CALL-E task, result_schema, and idempotency key with phone-like text masked throughout. It does not dial. The internal build(order) result retains the private task for a separately authorized host integration; do not treat masked preview output as an approved live payload.
CALL-E Goal Template
You are calling on behalf of {business_display_name} to confirm a cash-on-delivery order
before it is prepared and dispatched. Disclose that you are an AI assistant.
Customer: {customer_name}. Order reference {order_ref}, placed {placed_at_friendly}.
Items: {quantity} x {item} at {unit_price}; ...
Delivery fee: {delivery_fee}. Total to pay in cash on delivery: {total}.
Delivery address on file: {delivery_address} (or: No delivery address is on file — ask for it).
Delivery policy: {delivery_policy}.
Goal: 1) greet and say you are calling from the shop to confirm their order; 2) read back the
items and the total; 3) confirm the delivery address or collect it; 4) ask if they want any
change and record it precisely; 5) if they no longer want the order, accept politely.
Rules: never invent items, prices, discounts or delivery times not in this brief. If asked
something you do not know, say a team member will follow up. Keep the call under two minutes.
On voicemail, leave a short message saying who you are and end the call.
Structured Result
{
"disposition": "confirmed | changed | cancelled | voicemail | no_answer | wrong_number | needs_human",
"confirmed": "yes | no | unknown",
"address_correct": "yes | no | unknown",
"delivery_address": "as stated by the customer, or empty",
"requested_changes": "exact changes requested, or empty",
"preferred_delivery_window": "stated preference, or empty",
"customer_notes": "anything else the team should know"
}
Only disposition = confirmed and confirmed = yes with high completion confidence should flip an order to confirmed. changed, voicemail, no_answer, wrong_number, needs_human and any low-confidence result need a human. cancelled may cancel the order only if the calling system's rules allow it.
Live Planning And Execution
The following SDK call executes a real call; it is not a plan. Run it only after final per-call approval of the reviewed task and authorized E.164 destination, and CALL-E authentication:
import { CalleClient } from "@call-e/calle";
const client = new CalleClient({ apiKey: process.env.CALLE_API_KEY! });
const call = await client.calls.create(
{ task, recipients: [{ phones: ["<E164_PHONE>"], region: "<REGION>" }], resultSchema, recipientResultSchema: resultSchema, metadata: { order_ref } },
{ idempotencyKey: `cod-confirm:${order_ref}:1` },
);
Planning via the CALL-E CLI is also valid and is not execution:
calle call plan --to-phone <E164_PHONE> --goal "<reviewed task text>" --timezone Asia/Beirut --language English --region GB
For the CLI, do not execute the resulting plan unless the operator or calling system separately confirms this call. Creating a plan alone is not that approval.
Cancellation And Idempotency
Idempotency key: cod-confirm:{order_ref}:{attempt}. Persist it before the first request and reuse it on retries. One call per order per attempt; never retry automatically on unknown, voicemail or no answer — route to a human.
Before submission, cancel by discarding the preview or plan. After submission, stopping this script or closing a page does not recall an accepted call. Use supported provider controls and treat cancellation as unconfirmed until the provider confirms it. Reconcile an unknown outcome before authorizing another attempt; a stable key is not a crash-proof or permanent duplicate-prevention guarantee.
Reference Implementation
FrontDesk Phone Follow-Through (see docs/community-apps/frontdesk-phone-follow-through.md) runs this skill inside a multi-tenant WhatsApp AI front desk: a Confirm by phone button on the Orders page and an optional auto-confirm timer, with the result written back to the order and posted as a note in the customer's inbox thread.
Safety Notes
Read references/safety.md and references/examples.md before live planning.
Signals
- GitHub stars
- 104
- Forks
- 528
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
cod-order-confirmation-call- Source
- github.com/calle-ai/awesome-phone-call-agents
github.com/calle-ai/awesome-phone-call-agents
More in AI & models
Skill · anthropics
More in AI & modelstriage
Skill · mattpocock
More in AI & modelswayfinder
Skill · mattpocock
More in AI & modelsalgorithmic-art
Skill · anthropics
More in AI & modelscode-review-and-quality
Skill · addyosmani
More in AI & modelsmarketing-psychology
Skill · coreyhaines31
More in AI & models