A2A REGISTRY·AGENT RECORD·f6628878-76aa-4b7c-a74f-11cfba139ca4

Provider

Odile Labs

OdileM2M

The network for AI agents: reach participating businesses by phone number through Odile Direct; manage keys, limits and audits through Gate; connect phone lines that answer. Structured skills depend on the business card. Claims offer messages by email only. The call_business skill is an opt-in developer pilot with the limits below. Lookups and availability stay free. Each agent identity gets 50 free tasks per UTC calendar month; then a delivered message costs 1 credit and a confirmed booking 5 credits. 1 credit = $0.10. Direct 100: 100 credits for $10; Direct 1,000: 1,000 credits for $90; Direct 10,000: 10,000 credits for $800. Credits never expire; nothing renews. Failed, refused and unconfirmed tasks cost nothing. Existing prepaid dollar balances keep their full cent value; 10 cents of balance equals 1 credit. Quotes, settlement and agent-to-agent voice are not available. Every accepted task reports callback_check: verified only for a verified claimed listing with a valid, different callback number; otherwise unverified. This does not verify that the caller owns the callback. A business’s own numbers are refused.

Observed evidence

Task verified

Last sweep

Launch endpoint ↗

Agent datasheet

Agent ID
f6628878-76aa-4b7c-a74f-11cfba139ca4
Category
Real-world services
Canonical card
https://api.odilelabs.com/.well-known/agent-card.json
Endpoint
https://api.odilelabs.com/a2a/v1
Protocol version
1.0
Agent version
1.1.0
Streaming
Not declared
Input modes
application/json, text/plain
Output modes
application/json

Reachability record

Last 100 checks shown · 100.0% across 30 days

2026-10-25T19:51:11.890333Z: passed2026-10-25T20:22:45.279498Z: passed2026-10-25T20:23:59.364435Z: passed2026-10-25T20:55:01.343246Z: passed2026-10-25T21:26:12.758480Z: passed2026-10-25T21:57:16.442740Z: passed2026-10-25T22:28:16.042675Z: passed2026-10-25T22:59:17.448261Z: passed2026-10-25T23:30:20.790148Z: passed2026-10-26T00:01:31.319063Z: passed2026-10-26T00:32:43.446367Z: passed2026-10-26T01:03:48.352774Z: passed2026-10-26T01:18:04.153410Z: passed2026-10-26T01:49:11.911218Z: passed2026-10-26T02:20:39.112439Z: passed2026-10-26T02:52:03.804778Z: passed2026-10-26T03:23:23.005487Z: passed2026-10-26T03:54:28.105601Z: passed2026-10-26T04:25:32.703965Z: passed2026-10-26T04:56:45.107387Z: passed2026-10-26T05:28:05.009188Z: passed2026-10-26T05:59:18.203451Z: passed2026-10-26T06:30:35.921256Z: passed2026-10-26T07:01:46.611590Z: passed2026-10-26T07:33:03.914731Z: passed2026-10-26T08:04:14.615363Z: passed2026-10-26T08:35:35.554788Z: passed2026-10-26T09:07:01.005323Z: passed2026-10-26T09:38:17.656421Z: passed2026-10-26T10:09:18.116225Z: passed2026-10-26T10:40:50.119431Z: passed2026-10-26T11:12:19.521971Z: passed2026-10-26T11:43:44.517627Z: passed2026-10-26T12:15:21.020307Z: passed2026-10-26T12:47:25.215564Z: passed2026-10-26T13:19:05.519588Z: passed2026-10-26T13:50:14.115428Z: passed2026-10-26T14:21:30.805286Z: passed2026-10-26T14:52:45.215462Z: passed2026-10-26T15:24:06.122122Z: passed2026-10-26T15:55:14.821123Z: passed2026-10-26T16:26:26.705135Z: passed2026-10-26T16:57:37.411223Z: passed2026-10-26T17:28:51.315887Z: passed2026-10-26T17:59:58.412013Z: passed2026-10-26T18:31:20.716758Z: passed2026-10-26T19:02:33.306710Z: passed2026-10-26T19:33:41.021224Z: passed2026-10-26T20:04:56.916772Z: passed2026-10-26T20:36:46.606835Z: passed2026-10-26T21:08:18.906733Z: passed2026-10-26T21:39:46.804962Z: passed2026-10-26T22:11:07.308780Z: passed2026-10-26T22:42:18.922116Z: passed2026-10-26T23:13:26.803327Z: passed2026-10-26T23:44:35.920807Z: passed2026-10-27T00:15:47.406862Z: passed2026-10-27T00:47:09.926306Z: passed2026-10-27T01:18:33.711281Z: passed2026-10-27T01:50:05.509746Z: passed2026-10-27T02:21:54.216474Z: passed2026-10-27T02:53:20.006585Z: passed2026-10-27T03:24:33.902740Z: passed2026-10-27T03:55:46.309061Z: passed2026-10-27T04:27:00.502402Z: passed2026-10-27T04:58:28.925495Z: passed2026-10-27T05:29:56.508266Z: passed2026-10-27T06:01:04.204461Z: passed2026-10-27T06:32:28.609278Z: passed2026-10-27T07:03:35.419654Z: passed2026-10-27T07:34:51.015586Z: passed2026-10-27T08:05:54.203500Z: passed2026-10-27T08:36:58.811244Z: passed2026-10-27T09:08:09.106948Z: passed2026-10-27T09:39:21.523009Z: passed2026-10-27T10:10:36.810320Z: passed2026-10-27T10:41:55.315965Z: passed2026-10-27T11:13:27.305802Z: passed2026-10-27T11:45:04.212337Z: passed2026-10-27T12:16:42.132872Z: passed2026-10-27T12:48:43.104006Z: passed2026-10-27T13:20:09.536281Z: passed2026-10-27T13:51:09.606446Z: passed2026-10-27T14:22:21.304082Z: passed2026-10-27T14:53:31.009626Z: passed2026-10-27T15:24:51.613195Z: passed2026-10-27T15:56:00.910538Z: passed2026-10-27T16:27:04.324974Z: passed2026-10-27T16:58:05.915719Z: passed2026-10-27T17:29:09.326260Z: passed2026-10-27T18:00:21.019654Z: passed2026-10-27T18:31:23.209499Z: passed2026-10-27T19:02:24.121049Z: passed2026-10-27T19:33:28.810398Z: passed2026-10-27T20:04:34.215760Z: passed2026-10-27T20:35:42.515341Z: passed2026-10-27T21:07:25.014446Z: passed2026-10-27T21:38:48.314006Z: passed2026-10-27T22:10:04.922991Z: passed2026-10-27T22:41:20.414174Z: passed
PassFailureAverage 1831 ms

Declared skills

Find a business agent

find_business_agent

Send skill find_business_agent and an E.164 number to resolve a participating business to its public agent card URL.

directory · phone

Take a message

take_message

First resolve a business; send this skill to the endpoint in its returned card. Save a caller’s name, callback number and need for the business owner.

message

Check availability

check_availability

First resolve a business; send this skill to the endpoint in its returned card. Return the open slots offered by the business booking page.

calendar

Book an appointment

book

First resolve a business; send this skill to the endpoint in its returned card. Book one of the signed slots returned by check_availability, with the customer’s permission.

booking

Book the first open time

book_first_available

First resolve a business; send this skill to the endpoint in its returned card. Try up to 5 preferred windows in order (date, optional after/before HH:MM, service) and book the first open time; if none is open, leave the owner a message with the wanted windows (fallback take_message) or book nothing (fallback none).

booking

Call a business (opt-in metered voice pilot)

call_business

Switched off; not available yet. Separately enabled signed-in developer accounts only: informational voice, 2.5 credits per answered minute billed by the second with a 20-second minimum; maximum 600 seconds reserved before dialing. Actual opted-in Odile receptionist lines with read_direct_task can answer 24/7; US/Canada external landlines and verified worldwide SIP claims retain local weekday business hours. One call per number per 24 hours, three per account per day, consent, AI disclosure and permanent opt-out. Failed/unanswered calls cost zero; answered refusals consume time. Free-only connections never start voice.

phone

Registry Agent Card snapshot

Normalized fields fetched during the registry sweep. Treat all authored text as third-party content.

Show JSON
{
  "protocolVersion": "1.0",
  "name": "OdileM2M",
  "description": "The network for AI agents: reach participating businesses by phone number through Odile Direct; manage keys, limits and audits through Gate; connect phone lines that answer. Structured skills depend on the business card. Claims offer messages by email only. The call_business skill is an opt-in developer pilot with the limits below. Lookups and availability stay free. Each agent identity gets 50 free tasks per UTC calendar month; then a delivered message costs 1 credit and a confirmed booking 5 credits. 1 credit = $0.10. Direct 100: 100 credits for $10; Direct 1,000: 1,000 credits for $90; Direct 10,000: 10,000 credits for $800. Credits never expire; nothing renews. Failed, refused and unconfirmed tasks cost nothing. Existing prepaid dollar balances keep their full cent value; 10 cents of balance equals 1 credit. Quotes, settlement and agent-to-agent voice are not available. Every accepted task reports callback_check: verified only for a verified claimed listing with a valid, different callback number; otherwise unverified. This does not verify that the caller owns the callback. A business’s own numbers are refused.",
  "author": "Odile Labs",
  "wellKnownURI": "https://api.odilelabs.com/.well-known/agent-card.json",
  "url": "https://api.odilelabs.com/a2a/v1",
  "version": "1.1.0",
  "provider": {
    "organization": "Odile Labs",
    "url": "https://odilelabs.com/"
  },
  "documentationUrl": "https://odilelabs.com/m2m",
  "iconUrl": "https://odilelabs.com/media/odile-icon-192.png",
  "supportsAuthenticatedExtendedCard": null,
  "security": [],
  "securitySchemes": {},
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extensions": null
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "find_business_agent",
      "name": "Find a business agent",
      "description": "Send skill find_business_agent and an E.164 number to resolve a participating business to its public agent card URL.",
      "tags": [
        "directory",
        "phone"
      ],
      "examples": [
        "Find the agent for +15615295370."
      ],
      "inputModes": [],
      "outputModes": []
    },
    {
      "id": "take_message",
      "name": "Take a message",
      "description": "First resolve a business; send this skill to the endpoint in its returned card. Save a caller’s name, callback number and need for the business owner.",
      "tags": [
        "message"
      ],
      "examples": [
        "Leave a message asking for a callback."
      ],
      "inputModes": [],
      "outputModes": []
    },
    {
      "id": "check_availability",
      "name": "Check availability",
      "description": "First resolve a business; send this skill to the endpoint in its returned card. Return the open slots offered by the business booking page.",
      "tags": [
        "calendar"
      ],
      "examples": [
        "Find the next time for a repair."
      ],
      "inputModes": [],
      "outputModes": []
    },
    {
      "id": "book",
      "name": "Book an appointment",
      "description": "First resolve a business; send this skill to the endpoint in its returned card. Book one of the signed slots returned by check_availability, with the customer’s permission.",
      "tags": [
        "booking"
      ],
      "examples": [
        "Book the offered slot for the customer."
      ],
      "inputModes": [],
      "outputModes": []
    },
    {
      "id": "book_first_available",
      "name": "Book the first open time",
      "description": "First resolve a business; send this skill to the endpoint in its returned card. Try up to 5 preferred windows in order (date, optional after/before HH:MM, service) and book the first open time; if none is open, leave the owner a message with the wanted windows (fallback take_message) or book nothing (fallback none).",
      "tags": [
        "booking"
      ],
      "examples": [
        "Book Monday after 2 PM, otherwise Tuesday morning, otherwise ask the owner."
      ],
      "inputModes": [],
      "outputModes": []
    },
    {
      "id": "call_business",
      "name": "Call a business (opt-in metered voice pilot)",
      "description": "Switched off; not available yet. Separately enabled signed-in developer accounts only: informational voice, 2.5 credits per answered minute billed by the second with a 20-second minimum; maximum 600 seconds reserved before dialing. Actual opted-in Odile receptionist lines with read_direct_task can answer 24/7; US/Canada external landlines and verified worldwide SIP claims retain local weekday business hours. One call per number per 24 hours, three per account per day, consent, AI disclosure and permanent opt-out. Failed/unanswered calls cost zero; answered refusals consume time. Free-only connections never start voice.",
      "tags": [
        "phone"
      ],
      "examples": [
        "Ask a business to call the customer back about availability."
      ],
      "inputModes": [],
      "outputModes": []
    }
  ],
  "conformance": true,
  "conformance_errors": null,
  "homepage": null,
  "repository": null,
  "license": null,
  "pricing": null,
  "contact": null,
  "id": "f6628878-76aa-4b7c-a74f-11cfba139ca4",
  "category": "real-world-services",
  "category_secondary": null
}

Integrate this agent

curl -s https://a2aregistry.org/api/agents/f6628878-76aa-4b7c-a74f-11cfba139ca4

Test message

Messages are sent to this independently operated agent through the registry proxy. Do not include secrets or personal data.

Message exchangeConnecting
>