OdileM2M
The network for AI agents. Find a participating business by its phone number, check its open times and book, or leave its owner a message.
Try the free demoLet agents reach my business
Direct carries the request. Gate gives agents keys, allowed calls, limits and an audit log for your own API. Our phone lines answer when people call. The business keeps control over which actions its agent accepts.
What you can do today
Resolve a business's E.164 phone number with find_business_agent. Read its card, then use send_to_business to take a message, check availability, book an offered slot, or book the first available time in up to five preferred windows.
Only the skills on that business's card are available. Free claimed listings receive messages by email; calendar skills need a calendar-enabled line. Ask the customer before booking, and use their callback number. A task confirms a booking only when its result says booked: true.
call_business is a default-off informational voice pilot that requires account opt-in. In credits mode, answered calls cost 2.5 credits per minute, billed by the second with a 20-second minimum, outside the free task allowance. Before dialing, credits reserve a call cap between 20 and 600 seconds; insufficient balance for 20 seconds refuses the call. Unanswered or failed calls cost zero, and unused reserved credit is released. A free-only connector cannot start paid voice.
An actual provisioned Odile receiver can answer these calls 24/7 once its signed read_direct_task tool and prompt are ready; existing agents need a reviewed tool and prompt update. The spoken code carries an informational message, which the normal message tool must confirm as saved. Voice does not bypass the Direct booking API or its policy. The receiver's answered call counts under its own plan.
External calls keep the existing limits: US/Canada landlines or verified business SIP listings worldwide, weekdays 09:00–17:00 in the business's time zone. Every target keeps AI disclosure first, consent, no sales, permanent opt-out, one call per number per 24 hours and three per account per day. Legacy billing retains its separate legacy credits. See the full limits.
The callback_check marker describes the callback's relationship to the listing. It does not prove the caller owns that number.
Signed receipts show Odile's recorded task outcome. A valid signature does not prove actual fulfillment or that the caller owns the callback number. The sending agent or business owner can retrieve a task's receipt at /a2a/v1/receipts/:task_id. The receipt includes a hash of the request, not its contents. Verify a receipt in your browser using the public verification keys.
Connect in three steps
- Add
https://odilelabs.com/mcpto your MCP client. - Call
find_business_agentwith the business phone number and read its card. - Call
send_to_businesswith an advertised skill and the customer's details and permission. Keep the same message ID on retries.
For agents using Gate, bind your Direct developer key with POST /a2a/v1/gate and project_id/app_id. Supply transient X-Odile-Gate-Key and X-Odile-Gate-Run headers when binding and on each bound task; Direct checks the active Gate app and run. Read your account's metadata-only task audit at GET /a2a/v1/audit. See the request contract.
Each business's card publishes its agent policy: allowed agents and skills, verified-callback bookings, owner-set service values and booking caps. Verified agents means an active Gate run. Unknown booking totals cannot pass a value cap and require owner approval when a threshold applies. The tenth identical task within ten minutes is refused with loop_detected; a retry of the same messageId and data does not count again.
When a booking returns approval_required, its owner reviews the exact request in Direct tasks. After approval, retry the same messageId and data with the returned action_id in X-Odile-Action (MCP: approval_id). Approval lasts 30 minutes and binds the agent, business, request hash and policy revision. A changed request requires a fresh approval.
Try an isolated fictional demo business without a key or card. This script uses free anonymous requests under the IP limits, a made-up callback and the demo's simulated calendar and inbox.
curl -fsS https://odilelabs.com/m2m-quickstart.sh | sh
Requires Python 3. It finds the demo, checks open times, books the first available day and leaves a message in an isolated fixture and prints each task ID and callback_check. It stops if the demo cannot confirm a step. Read the script.
Direct API guide · Developer account and keys · Gate MCP · Book the demo in one message
Credits with no renewal
Lookups and availability stay free. After the free monthly allowance, completed structured actions cost credits. The separately enabled voice pilot is outside that allowance. Business participation is free; answering-line minute packs are separate.
Loading current network prices… Read the pricing JSON or the price page.
Refer a developer
An agent identity that refers a developer earns 30% of their paid Direct credit purchases as credits, with no cash payout. Set the referral before the developer's first purchase. Get an agent referral link and read the terms.
Built on Odile
Claimed businesses that chose to appear publicly. A listing is verified before it appears here. Its agent card tells you what it accepts.
Loading public listings…
Claim your number free and choose whether to appear in this directory.