Dialmycalls for AI agents

DialMyCalls is a mass notification service that sends voice calls and text broadcasts to contact lists for alerts and announcements. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

CommunicationAPI keyMCP + RESTdialmycalls.com
AUDIT LOG · DIALMYCALLSPOLICY: acme-support
09:41:07 · claude · u_8f2read
dialmycalls.list_calls
List Calls✓ allowed · 212ms
09:41:08 · claude · u_8f2read
dialmycalls.get_group
Get Group✓ allowed · 164ms
09:41:09 · claude · u_8f2write
dialmycalls.update_caller_id
Update Caller ID✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
dialmycalls.delete_group
Delete Group✕ blocked · policy: deny
EVERY DIALMYCALLS CALL, ON THE RECORD
01 · USE CASES

What agents do in Dialmycalls.

01

Add a contact to a group

Add a new phone number to the right contact group before the next scheduled broadcast goes out.

02

Check a group's contact list

List the contacts in a group to confirm who will receive an alert before it sends.

03

Confirm before deleting a group

Require a check before deleting a contact group, since it removes every number in it at once.

02 · ACTIONS

25 Dialmycalls actions, graded by risk.

Every Dialmycalls action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

15

Look things up. Allowed by default.

  • dialmycalls.get_group
    Get Group
  • dialmycalls.list_calls
    List Calls
  • dialmycalls.list_texts
    List Text Broadcasts
  • dialmycalls.get_account
    Get Account
  • dialmycalls.get_contact
    Get Contact
  • dialmycalls.list_groups
    List Groups
  • dialmycalls.get_caller_id
    Get Caller ID
  • dialmycalls.get_recording
    Get Recording
  • dialmycalls.list_contacts
    List Contacts
  • dialmycalls.list_recordings
    List Recordings
  • dialmycalls.list_caller_i_ds
    List Caller IDs
  • dialmycalls.get_access_account
    Get Access Account
  • dialmycalls.list_vanity_numbers
    List Vanity Numbers
  • dialmycalls.list_access_accounts
    List Access Accounts
  • dialmycalls.list_do_not_contacts
    List Do Not Contacts

write

5

Create and change things. Allow, or ask the user first.

  • dialmycalls.add_group
    Add Group
  • dialmycalls.add_contact
    Add Contact
  • dialmycalls.update_caller_id
    Update Caller ID
  • dialmycalls.add_access_account
    Add Access Account
  • dialmycalls.update_access_account
    Update Access Account

destructive

5

Delete, cancel or archive. Ask first, or deny outright.

  • dialmycalls.delete_group
    Delete Group
  • dialmycalls.delete_contact
    Delete Contact
  • dialmycalls.delete_caller_id
    Delete Caller ID
  • dialmycalls.delete_recording
    Delete Recording
  • dialmycalls.delete_access_account
    Delete Access Account
03 · HOW IT WORKS

Dialmycalls in three steps.

  1. 01Your users connect DialmycallsThey add their Dialmycalls api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, writes like “update Caller ID” can wait for the user, and “delete Group” can be denied outright.
  3. 03Any agent can actYour agent calls Dialmycalls through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('dialmycalls', {
  read: 'allow',
  write: 'ask',        // update_caller_id
  destructive: 'deny',  // delete_group
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Dialmycalls connects.

Users add their Dialmycalls api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

The same Dialmycalls connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Dialmycalls from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Dialmycalls and Arc0, answered.

Q01

Can I use Dialmycalls with Claude, ChatGPT or Cursor?

Yes. Connect Dialmycalls to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Dialmycalls actions you allow.

Q02

How do users connect Dialmycalls?

Users add their Dialmycalls api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

Q03

Which Dialmycalls actions can my agent take?

25 in total: 15 read, 5 write and 5 destructive, such as “update Caller ID”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Dialmycalls?

Yes. Actions like “delete Group” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Dialmycalls too?

Yes. The same Dialmycalls connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Dialmycalls into your agent.

Your users connect Dialmycalls once, under your brand. Your agent gets 25 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan