# Callingly — how to use (mcp.ai)

Connect your Callingly account and use 29 tools for phone and SMS straight from your AI agent. Connect with your own API key. Callingly is a lead response management software that automates immediate call and text follow-ups to new leads, integrating seamlessly with various CRMs and lead sources to enhance sales team responsiveness and conversion rates.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_callingly?ms=1787293320000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `callingly_activate_deactivate_client`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/callingly`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/callingly/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/callingly/activate/deactivate/client` — Tool to activate or deactivate a client account. Use when you need to toggle client access after onboarding or offboarding. Example: "Activate client 123" or "Deactivate client 456".
  - body: { client_id: integer, is_active: integer }
- `POST https://api.mcp.ai/api/callingly/create/agent` — Tool to create a new agent. Use when you need to register an agent in Callingly after gathering their account ID and contact details.
  - body: { ext?: string, email: string, fname: string, lname: string, timezone: string, account_id: integer, phone_number: string }
- `POST https://api.mcp.ai/api/callingly/create/call` — Creates a new outbound call record and initiates a real outbound call, which incurs cost — ensure explicit user authorization and compliance with applicable consent and telemarketing regulations befor
  - body: { email: string, crm_id?: integer, source?: string, company?: string, team_id: integer, category?: string, last_name: string, account_id: integer, first_name: string, phone_number: string }
- `POST https://api.mcp.ai/api/callingly/create/client` — Creates a new client account in Callingly. Clients are sub-accounts under your agency account that can have their own teams, agents, and billing. Use this when onboarding a new business customer to yo
  - body: { email: string, fname: string, lname: string, company: string, password: string, phone_number: string }
- `POST https://api.mcp.ai/api/callingly/create/team` — Tool to create a new team. Use when setting up a team configuration before adding agents.
  - body: { name: string, delay?: integer, retries?: integer, is_retry?: integer, language?: string, call_mode?: string, is_record?: integer, account_id: integer, whispertext?: string, lead_retries?: integer, is_reschedule?: integer, is_retry_lead?: integer, retry_schedule?: integer[], lead_retry_schedule?: integer[] }
- `POST https://api.mcp.ai/api/callingly/create/webhook` — Tool to create a new webhook for call or lead events. Use when you need to receive real-time notifications on specific events. Example: "Create a webhook for call_completed events to http://example.co
  - body: { name: string, event: string, field?: string, filter?: string, team_id?: integer, direction?: string, number_id?: integer, target_url: string, call_status?: string, call_lead_status?: string }
- `POST https://api.mcp.ai/api/callingly/delete/agent` — Permanently delete an agent from a Callingly account. Use when removing an agent who should no longer receive calls. Requires both the agent ID and the account ID the agent belongs to.
  - body: { id: integer, account_id: integer }
- `POST https://api.mcp.ai/api/callingly/delete/client` — Tool to delete a client. Use when you need to remove an existing client from your account after confirming its ID.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/callingly/delete/lead` — Tool to delete a lead by ID. Use when you need to permanently remove a lead from your account after confirming its ID. Returns a success confirmation.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/callingly/delete/webhook` — Tool to delete a webhook. Use when permanently removing a webhook by its ID.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/callingly/get/agent/schedule` — Tool to retrieve the availability schedule for a specific agent. Use when you need to know which days and times the agent is available.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/callingly/get/call` — Retrieves detailed information about a specific call by its unique ID. Returns comprehensive call metadata including status, duration, lead information, agent details, recording URLs, transcripts, and
  - body: { call_id: integer }
- `POST https://api.mcp.ai/api/callingly/get/lead` — Tool to retrieve details of a specific lead by its ID. Use when you need full lead details before follow-up actions.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/callingly/get/team` — Tool to retrieve details of a specific team. Use after obtaining the team ID to fetch its configuration details.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/callingly/get/webhook` — Tool to retrieve details of a specific webhook by its ID. Use when you need to inspect a webhook's configuration before modifying or deleting it.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/callingly/list/calls` — Tool to list calls. Use when you need to retrieve multiple call records with optional filters such as date range, team, and pagination after identifying the need for a collection of calls.
  - body: { end?: string, page?: integer, limit?: integer, start?: string, team_id?: integer }
- `POST https://api.mcp.ai/api/callingly/list/clients` — Tool to list clients. Use when you need to retrieve all clients associated with your account.
- `POST https://api.mcp.ai/api/callingly/list/leads` — Tool to list leads based on provided filters like date range or phone number. Use after confirming filter criteria when bulk lead retrieval is needed.
  - body: { end?: string, page?: integer, limit?: integer, start?: string, account_id?: integer, phone_number?: string }
- `POST https://api.mcp.ai/api/callingly/list/team/users` — Retrieve all agents assigned to a specific team in Callingly. Returns each agent's ID, name, priority, call cap, and any custom/integration identifiers. Use this to audit team composition or before pe
  - body: { id: integer }
- `POST https://api.mcp.ai/api/callingly/list/teams` — Tool to list teams. Use when you need to retrieve all teams associated with your account.
- `POST https://api.mcp.ai/api/callingly/list/users` — Tool to retrieve a list of agents. Use when you need to see all agents available under the authenticated account, optionally filtering by a specific client account.
  - body: { account_id?: integer }
- `POST https://api.mcp.ai/api/callingly/list/webhooks` — Tool to list configured webhooks. Use when you need to retrieve all webhooks configured in your account to review or manage them.
  - body: { account_id?: integer }
- `POST https://api.mcp.ai/api/callingly/remove/team/agent` — Tool to remove a specific agent from a team. Use when you need to disassociate an agent from a team after confirming both team and agent IDs.
  - body: { team_id: integer, agent_id: integer }
- `POST https://api.mcp.ai/api/callingly/update/agent` — Tool to update an existing agent's details. Use when you need to modify agent information post-creation.
  - body: { id: integer, ext?: string, fname?: string, lname?: string, timezone?: string, account_id?: integer, donotdisturb?: integer, phone_number?: string, donotdisturb_until?: string }
- `POST https://api.mcp.ai/api/callingly/update/lead` — Tool to update an existing lead's information. Use when you need to modify lead contact details, status, or blocking settings.
  - body: { id: integer, email?: string, fname?: string, lname?: string, stage?: string, result?: string, source?: string, status?: string, company?: string, is_blocked?: integer, is_stopped?: integer, phone_number?: string }
- `POST https://api.mcp.ai/api/callingly/update/schedule` — Tool to update an agent's availability schedule. Use when you need to set or override an agent's daily availability times.
  - body: { id: integer, schedule: object[] }
- `POST https://api.mcp.ai/api/callingly/update/team/agent/settings` — Tool to update settings (priority, capacity) for a specific team agent. Use when adjusting an agent's priority or call capacity after team configuration.
  - body: { cap?: integer, team_id: integer, agent_id: integer, priority: integer }
- `POST https://api.mcp.ai/api/callingly/update/team/users` — Updates the list of agents assigned to a team. This operation replaces all existing agent assignments - any agents not included in the list will be removed from the team. Use CALLINGLY_LIST_TEAM_USERS
  - body: { id: integer, agents: integer[] }
- `POST https://api.mcp.ai/api/callingly/update/webhook` — Updates an existing webhook's configuration by ID. Supports partial updates - only provide fields you want to change. Note: When updating event-specific fields (call_status, call_lead_status, field, f
  - body: { id: integer, name?: string, event?: string, field?: string, filter?: string, team_id?: integer, number_id?: integer, target_url?: string, call_status?: string, call_direction?: string, call_lead_status?: string }

## Example prompts
- "What can I do in Callingly?"
- "Show me a summary of my Callingly account"

## More
- Page: https://mcp.ai/callingly
- Agent spec (llms.txt): https://mcp.ai/callingly/llms.txt
- Postman collection: https://mcp.ai/callingly/postman.json
