Skip to content

Connectors · Email & messaging

CallTrackingMetrics MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to CallTrackingMetrics and the rest of your systems. It gives your agent 253 CallTrackingMetrics actions (98 reads, 107 writes and 48 that wait for a confirmation) and holds the CallTrackingMetrics credential itself, so the agent never does. It paces CallTrackingMetrics's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "calltrackingmetrics.accounts.list",  intent: "check which CallTrackingMetrics account is connected"}# List of accounts · read · 1 upstream call
  • 253actionsin one signed file
  • 98readlook, never change
  • 107writecreate and update
  • 48wait for a yesdestructive, confirmed first

Set up

Connect CallTrackingMetrics in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect CallTrackingMetrics.

    Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • access_keyCTM API Access Key (Account Settings > API Integration, or Agency Settings for multi-account access)
    • secret_keyCTM API Secret Key shown beside the Access Key
    account { op: "connections.requirements", service: "calltrackingmetrics" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "calltrackingmetrics.accounts.list" }# list of accounts · read · 1 upstream callcheck { action: "calltrackingmetrics.contact_lists.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

CallTrackingMetrics at a glance

Sign-in
Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
access_keysecret_key
Limits we pace to
10 calls a second, per connection
API covered
CTM REST API v1 (https://api.calltrackingmetrics.com/api/v1)api.calltrackingmetrics.com/api/v1
Built from
CallTrackingMetrics's documentation, read 23 October 2026postman.calltrackingmetrics.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
96 of 98 reads, for up to 5 minutes; a write clears what it affects
Shared entities
3, so ask can line CallTrackingMetrics up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in CallTrackingMetrics.

253 actions in 41 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 98readlook, never change
  • 107writecreate and update
  • 48destructivewait for a confirmation
  1. Calls

    24

    5 read · 13 write · 6 destructive

    List of activities (calls/texts/chats/forms) · Activity details · Search activities · Add comment

  2. Numbers

    20

    6 read · 10 write · 4 destructive

    Buy number for an account · Buy number for an account by area code · List of tracking numbers · Search for US/CA numbers

  3. Accounts

    15

    5 read · 8 write · 2 destructive

    Create an account (agency/shared billing) · Create an account (customer billing) · List of accounts · List of active account IDs and names

  4. Dialers

    13

    4 read · 6 write · 3 destructive

    Create dialer · List of dialers · List of numbers in dialer · Add numbers

  5. Contact lists

    10

    4 read · 3 write · 3 destructive

    List of contact lists · Create contact list · Contact list information · Update a contact list

  6. Custom fields

    10

    5 read · 4 write · 1 destructive

    Create custom field · List of custom fields · List custom fields by type · List of custom panels

  7. Tracking sources

    9

    2 read · 5 write · 2 destructive

    Create a tracking source · List of tracking sources · Add a tracking number to a tracking source · Tracking source details

  8. Agents

    8

    5 read · 2 write · 1 destructive

    Agent Events · List agents · By agent status · Assign agent

33 more areas · 144 actions
  • Call settings 8
  • Users 8
  • Geo routers 7
  • Lead reactors 7
  • Price schedules 7
  • Payment methods 6
  • Access groups 5
  • Form reactors 5
  • Price settings 5
  • Receiving numbers 5
  • Smart routers 5
  • Triggers 5
  • User groups 5
  • Voice menu items 5
  • Voice menus 5
  • Webhooks 5
  • Divisions 4
  • Opt out texts 4
  • Queues 4
  • Schedules 4
  • Target numbers 4
  • Trust centers 4
  • Blocked numbers 3
  • Call sales 3
  • Change notifications 3
  • Do not calls 3
  • Google analytics 3
  • Number addresses 3
  • SMS 3
  • Reports 2
  • Tracking script settings 2
  • Agency 1
  • Lookup 1

Top actions

The CallTrackingMetrics API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 16 of CallTrackingMetrics's 16 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
calltrackingmetrics.contact_lists.listList of contact listsgets list of contact lists, including name and description parameters required comments account_id yes the account idreadcrm.contact_list.list34 connectors
calltrackingmetrics.users.listList of usersGet a list of users for the specified account parameters required comments account_id yes the account id email no find user with email address filter no find…readidentity.user.list474 connectors
calltrackingmetrics.calls.listList of activities (calls/texts/chats/forms)List of activities (calls/texts/chats/forms) (GET /accounts/{account_id}/calls).readcomm.call.list44 connectors
calltrackingmetrics.contact_lists.createCreate contact listCreate contact list (POST /accounts/{account_id}/lists).writecrm.contact_list.create29 connectors
calltrackingmetrics.users.createCreate userCreate a user and set their role in your account.writeidentity.user.create262 connectors
calltrackingmetrics.contact_lists.deleteDelete a contact listDelete a contact list (DELETE /accounts/{account_id}/lists/{contact_list_id}).destructivecrm.contact_list.delete24 connectors
calltrackingmetrics.calls.getActivity detailsActivity details (GET /accounts/{account_id}/calls/{call_id}).readcomm.call.get40 connectors
calltrackingmetrics.sms.sendSend SMS messageSend SMS message (POST /accounts/{account_id}/sms).writecomm.sms.send26 connectors
calltrackingmetrics.contact_lists.contactsList all contacts in a contact listList all contacts in a contact list (GET /accounts/{account_id}/lists/{contact_list_id}/contacts).readcrm.contact_list_member.list6 connectors
calltrackingmetrics.sms.listList of SMS messagesList of SMS messages (GET /accounts/{account_id}/sms).readcomm.sms.list19 connectors
calltrackingmetrics.contact_lists.add_contactAdd contact to a contact listAdd contact to a contact list (POST /accounts/{account_id}/lists/{contact_list_id}/add_contact).writecrm.contact_list_member.add9 connectors
calltrackingmetrics.calls.startStart Phone CallInitiate a call via API to connect two people together parameters required comments account_id yes the account id call_number yes the number you want to dial…writethis connector

Try it

Prompts to paste into Claude.

Each one names the CallTrackingMetrics actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Who has access in CallTrackingMetrics? List every user and their role.

    callscalltrackingmetrics.users.list

  2. Writewrite

    Create contact list in CallTrackingMetrics. Show me exactly what you will send before you save it.

    callscalltrackingmetrics.contact_lists.create

Governance for CallTrackingMetrics

Destructive actions wait for a yes.

48 CallTrackingMetrics actions are destructive. The first 10:

  • Delete a contact listcalltrackingmetrics.contact_lists.delete
  • Remove user from accountcalltrackingmetrics.users.remove
  • Add or modify user rolecalltrackingmetrics.users.set_role
  • Release (delete) a tracking numbercalltrackingmetrics.numbers.release
  • Delete triggercalltrackingmetrics.triggers.delete
  • Delete webhookcalltrackingmetrics.webhooks.delete
  • Remove Tagcalltrackingmetrics.calls.remove_tag
  • Delete a schedulecalltrackingmetrics.schedules.delete
  • Delete sale recordcalltrackingmetrics.call_sales.delete
  • Remove agentcalltrackingmetrics.agents.remove_call

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

docalltrackingmetrics.contact_lists.deleteconfirm_policy: human

Delete a contact list?

intent: the user asked me to delete a contact list

run suspended · waiting for a named person · key calltrackingmetrics-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "calltrackingmetrics-agent",  allowed_actions: ["calltrackingmetrics.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "calltrackingmetrics.contact_lists.delete", approver: "[email protected]" },    { match: "calltrackingmetrics.users.remove", approver: "[email protected]" },    { match: "calltrackingmetrics.users.set_role", approver: "[email protected]" }  ]}
Illustrative. Scoped to CallTrackingMetrics only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What CallTrackingMetrics costs on actionlake.

Every CallTrackingMetrics action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call CallTrackingMetrics refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 253 CallTrackingMetrics actions
  • 253actions pageeach page of a long list is one call
  • 96reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every CallTrackingMetrics action.

253 actions by area: the id your agent calls, what it does, and its effect.

Calls24
  • calltrackingmetrics.calls.add_commentAdd commentwrite
  • calltrackingmetrics.calls.add_tagAdd Tagwrite
  • calltrackingmetrics.calls.block_callerBlock callwrite
  • calltrackingmetrics.calls.delete_commentDelete commentdestructive
  • calltrackingmetrics.calls.delete_recordingDelete call recordingdestructive
  • calltrackingmetrics.calls.delete_transcriptionDelete call transcriptiondestructive
  • calltrackingmetrics.calls.endEnd callwrite
  • calltrackingmetrics.calls.field_mappingMappingread
  • calltrackingmetrics.calls.getActivity detailsread
  • calltrackingmetrics.calls.listList of activities (calls/texts/chats/forms)read
  • calltrackingmetrics.calls.mark_spamMark call as spamwrite
  • calltrackingmetrics.calls.modifyModify activity detailswrite
  • calltrackingmetrics.calls.redactRedact activity detailswrite
  • calltrackingmetrics.calls.remove_tagRemove Tagdestructive
  • calltrackingmetrics.calls.searchSearch activitiesread
  • calltrackingmetrics.calls.startStart Phone Callwrite
  • calltrackingmetrics.calls.start_recordingStart call recordingwrite
  • calltrackingmetrics.calls.stop_recordingStop call recordingwrite
  • calltrackingmetrics.calls.transcriptionCall transcriptionsread
  • calltrackingmetrics.calls.transfer_to_agentTransfer call to agentdestructive
  • calltrackingmetrics.calls.transfer_to_numberTransfer call to numberdestructive
  • calltrackingmetrics.calls.unblock_callerUnblock callwrite
  • calltrackingmetrics.calls.unmark_spamMark call as not spamwrite
  • calltrackingmetrics.calls.update_commentUpdate commentwrite
Numbers20
  • calltrackingmetrics.numbers.add_receiving_numberAdd receiving number to tracking numberwrite
  • calltrackingmetrics.numbers.add_target_numberAdd tracking number to target numberwrite
  • calltrackingmetrics.numbers.buyBuy number for an accountwrite
  • calltrackingmetrics.numbers.buy_by_area_codeBuy number for an account by area codewrite
  • calltrackingmetrics.numbers.dial_routesDial route details for tracking numberread
  • calltrackingmetrics.numbers.disable_smsDisable SMSdestructive
  • calltrackingmetrics.numbers.enable_smsEnable SMSwrite
  • calltrackingmetrics.numbers.getTracking number detailsread
  • calltrackingmetrics.numbers.get_addressAddress for tracking numberread
  • calltrackingmetrics.numbers.listList of tracking numbersread
  • calltrackingmetrics.numbers.releaseRelease (delete) a tracking numberdestructive
  • calltrackingmetrics.numbers.remove_receiving_numberRemove receiving number from tracking numberdestructive
  • calltrackingmetrics.numbers.remove_target_numberRemove tracking number from target numberdestructive
  • calltrackingmetrics.numbers.search_availableSearch for US/CA numbersread
  • calltrackingmetrics.numbers.search_available_internationalSearch for international numbersread
  • calltrackingmetrics.numbers.updateUpdate tracking number detailswrite
  • calltrackingmetrics.numbers.update_addressUpdate tracking number addresswrite
  • calltrackingmetrics.numbers.update_dial_routesUpdate tracking numbers routeswrite
  • calltrackingmetrics.numbers.update_routingUpdate number routingwrite
  • calltrackingmetrics.numbers.update_statusUpdate tracking number statuswrite
Accounts15
  • calltrackingmetrics.accounts.cancelCancel an accountdestructive
  • calltrackingmetrics.accounts.createCreate an account (agency/shared billing)write
  • calltrackingmetrics.accounts.create_customer_billingCreate an account (customer billing)write
  • calltrackingmetrics.accounts.disable_automatic_redactionDisable automatic redactiondestructive
  • calltrackingmetrics.accounts.enable_automatic_redactionEnable automatic redactionwrite
  • calltrackingmetrics.accounts.getAccount informationread
  • calltrackingmetrics.accounts.listList of accountsread
  • calltrackingmetrics.accounts.list_namesList of active account IDs and namesread
  • calltrackingmetrics.accounts.pausePause an accountwrite
  • calltrackingmetrics.accounts.resumeResume an accountwrite
  • calltrackingmetrics.accounts.scriptsAccount tracking scriptsread
  • calltrackingmetrics.accounts.startStart an accountwrite
  • calltrackingmetrics.accounts.statusAccount statusread
  • calltrackingmetrics.accounts.stopStop an accountwrite
  • calltrackingmetrics.accounts.updateUpdate an accountwrite
Dialers13
  • calltrackingmetrics.dialers.add_numbersAdd numberswrite
  • calltrackingmetrics.dialers.createCreate dialerwrite
  • calltrackingmetrics.dialers.getDialer detailsread
  • calltrackingmetrics.dialers.import_contact_listImport Contact Listwrite
  • calltrackingmetrics.dialers.listList of dialersread
  • calltrackingmetrics.dialers.numbersList of numbers in dialerread
  • calltrackingmetrics.dialers.remove_all_numbersRemove all numbersdestructive
  • calltrackingmetrics.dialers.remove_number_from_allRemove from alldestructive
  • calltrackingmetrics.dialers.remove_numbersRemove numbersdestructive
  • calltrackingmetrics.dialers.startStartwrite
  • calltrackingmetrics.dialers.statusDialer statusread
  • calltrackingmetrics.dialers.stopStopwrite
  • calltrackingmetrics.dialers.updateUpdate dialerwrite
Contact lists10
  • calltrackingmetrics.contact_lists.add_contactAdd contact to a contact listwrite
  • calltrackingmetrics.contact_lists.contactsList all contacts in a contact listread
  • calltrackingmetrics.contact_lists.containsCheck if a contact exists within the listread
  • calltrackingmetrics.contact_lists.createCreate contact listwrite
  • calltrackingmetrics.contact_lists.deleteDelete a contact listdestructive
  • calltrackingmetrics.contact_lists.getContact list informationread
  • calltrackingmetrics.contact_lists.listList of contact listsread
  • calltrackingmetrics.contact_lists.remove_all_contactsDelete all contacts from a contact listdestructive
  • calltrackingmetrics.contact_lists.remove_contactsDelete contact from a contact listdestructive
  • calltrackingmetrics.contact_lists.updateUpdate a contact listwrite
Custom fields10
  • calltrackingmetrics.custom_fields.createCreate custom fieldwrite
  • calltrackingmetrics.custom_fields.deleteDelete custom fielddestructive
  • calltrackingmetrics.custom_fields.getCustom fieldread
  • calltrackingmetrics.custom_fields.get_panelCustom panelread
  • calltrackingmetrics.custom_fields.listList of custom fieldsread
  • calltrackingmetrics.custom_fields.list_by_typeList custom fields by typeread
  • calltrackingmetrics.custom_fields.list_panelsList of custom panelsread
  • calltrackingmetrics.custom_fields.save_panelsSave panelswrite
  • calltrackingmetrics.custom_fields.updateUpdate custom fieldwrite
  • calltrackingmetrics.custom_fields.update_picker_optionsUpdate picker optionswrite
Tracking sources9
  • calltrackingmetrics.tracking_sources.add_numberAdd a tracking number to a tracking sourcewrite
  • calltrackingmetrics.tracking_sources.createCreate a tracking sourcewrite
  • calltrackingmetrics.tracking_sources.deleteDelete a tracking sourcedestructive
  • calltrackingmetrics.tracking_sources.getTracking source detailsread
  • calltrackingmetrics.tracking_sources.listList of tracking sourcesread
  • calltrackingmetrics.tracking_sources.pausePause a tracking sourcewrite
  • calltrackingmetrics.tracking_sources.remove_numberRemove a tracking number from a tracking sourcedestructive
  • calltrackingmetrics.tracking_sources.unpauseUnpause a tracking sourcewrite
  • calltrackingmetrics.tracking_sources.updateUpdate a tracking sourcewrite
Agents8
  • calltrackingmetrics.agents.assign_callAssign agentwrite
  • calltrackingmetrics.agents.eventsAgent Eventsread
  • calltrackingmetrics.agents.listList agentsread
  • calltrackingmetrics.agents.list_by_statusBy agent statusread
  • calltrackingmetrics.agents.phone_statusGet agent statusread
  • calltrackingmetrics.agents.remove_callRemove agentdestructive
  • calltrackingmetrics.agents.update_statusAdmin update agent statuswrite
  • calltrackingmetrics.agents.utilizationAgent Utilizationread
Call settings8
  • calltrackingmetrics.call_settings.createCreate new call settingwrite
  • calltrackingmetrics.call_settings.deleteDelete call settingdestructive
  • calltrackingmetrics.call_settings.getList details of a call settingread
  • calltrackingmetrics.call_settings.get_defaultDefault call settingread
  • calltrackingmetrics.call_settings.listList of call settingsread
  • calltrackingmetrics.call_settings.number_listList of numbers assigned and available to assign to a call settingread
  • calltrackingmetrics.call_settings.set_defaultSet default call settingwrite
  • calltrackingmetrics.call_settings.updateUpdate call settingwrite
Users8
  • calltrackingmetrics.users.createCreate userwrite
  • calltrackingmetrics.users.getUser detailsread
  • calltrackingmetrics.users.listList of usersread
  • calltrackingmetrics.users.removeRemove user from accountdestructive
  • calltrackingmetrics.users.set_roleAdd or modify user roledestructive
  • calltrackingmetrics.users.updateUpdate userwrite
  • calltrackingmetrics.users.update_outbound_numberUpdate outbound numberwrite
  • calltrackingmetrics.users.update_receiving_numberUpdate receiving numberwrite
Geo routers7
  • calltrackingmetrics.geo_routers.batchBatch GEO Processingwrite
  • calltrackingmetrics.geo_routers.createCreate Geo Routerwrite
  • calltrackingmetrics.geo_routers.getGeo router detailread
  • calltrackingmetrics.geo_routers.listList of geo routersread
  • calltrackingmetrics.geo_routers.pause_numberPause numberwrite
  • calltrackingmetrics.geo_routers.resume_numberResume numberwrite
  • calltrackingmetrics.geo_routers.updateUpdate Geo Routerwrite
Lead reactors7
  • calltrackingmetrics.lead_reactors.add_taskAdd_taskwrite
  • calltrackingmetrics.lead_reactors.bulk_importBulk Importwrite
  • calltrackingmetrics.lead_reactors.createCreatewrite
  • calltrackingmetrics.lead_reactors.deleteDeletedestructive
  • calltrackingmetrics.lead_reactors.delete_taskDelete_taskdestructive
  • calltrackingmetrics.lead_reactors.updateUpdatewrite
  • calltrackingmetrics.lead_reactors.update_taskUpdate_taskwrite
Price schedules7
  • calltrackingmetrics.price_schedules.add_accountAdd account to price schedulewrite
  • calltrackingmetrics.price_schedules.createCreate price schedulewrite
  • calltrackingmetrics.price_schedules.deleteRemove price settingdestructive
  • calltrackingmetrics.price_schedules.getPrice schedule informationread
  • calltrackingmetrics.price_schedules.listList price schedulesread
  • calltrackingmetrics.price_schedules.remove_accountRemove account from price scheduledestructive
  • calltrackingmetrics.price_schedules.updateUpdate price schedulewrite
Payment methods6
  • calltrackingmetrics.payment_methods.createAdd payment methodwrite
  • calltrackingmetrics.payment_methods.deleteDelete payment methoddestructive
  • calltrackingmetrics.payment_methods.getPayment method detailsread
  • calltrackingmetrics.payment_methods.listList of payment methodsread
  • calltrackingmetrics.payment_methods.set_primarySet payment method as primarywrite
  • calltrackingmetrics.payment_methods.toggle_backupSet payment method as backupwrite
Access groups5
  • calltrackingmetrics.access_groups.createCreate access groupwrite
  • calltrackingmetrics.access_groups.deleteDelete access groupdestructive
  • calltrackingmetrics.access_groups.getAccess group detailread
  • calltrackingmetrics.access_groups.listList of access control groupsread
  • calltrackingmetrics.access_groups.updateUpdate access groupwrite
Form reactors5
  • calltrackingmetrics.form_reactors.getFormReactors detailsread
  • calltrackingmetrics.form_reactors.grant_consentGrant consentwrite
  • calltrackingmetrics.form_reactors.listList of FormReactorsread
  • calltrackingmetrics.form_reactors.lookupResolve FormReactor response to activity IDread
  • calltrackingmetrics.form_reactors.submitFormreactor server side requestwrite
Price settings5
  • calltrackingmetrics.price_settings.createCreate price settingwrite
  • calltrackingmetrics.price_settings.deleteRemove price settingdestructive
  • calltrackingmetrics.price_settings.getPrice setting informationread
  • calltrackingmetrics.price_settings.listList price settingsread
  • calltrackingmetrics.price_settings.updateUpdate price settingwrite
Receiving numbers5
  • calltrackingmetrics.receiving_numbers.createCreate a receiving numberwrite
  • calltrackingmetrics.receiving_numbers.deleteDelete a receiving numberdestructive
  • calltrackingmetrics.receiving_numbers.getReceiving number detailsread
  • calltrackingmetrics.receiving_numbers.listList receiving numbersread
  • calltrackingmetrics.receiving_numbers.updateUpdate a receiving numberwrite
Smart routers5
  • calltrackingmetrics.smart_routers.createCreate smart routerwrite
  • calltrackingmetrics.smart_routers.deleteDelete smart routerdestructive
  • calltrackingmetrics.smart_routers.getSmart router detailsread
  • calltrackingmetrics.smart_routers.listList of all smart routersread
  • calltrackingmetrics.smart_routers.updateUpdate smart routerwrite
Triggers5
  • calltrackingmetrics.triggers.createCreate triggerwrite
  • calltrackingmetrics.triggers.deleteDelete triggerdestructive
  • calltrackingmetrics.triggers.getTrigger detailread
  • calltrackingmetrics.triggers.listList of triggersread
  • calltrackingmetrics.triggers.updateUpdate triggerwrite
User groups5
  • calltrackingmetrics.user_groups.createCreate user groupwrite
  • calltrackingmetrics.user_groups.deleteRemove user groupdestructive
  • calltrackingmetrics.user_groups.getUser group detailsread
  • calltrackingmetrics.user_groups.listList of user groupsread
  • calltrackingmetrics.user_groups.updateUpdate user groupwrite
Voice menu items5
  • calltrackingmetrics.voice_menu_items.createCreate voice menu itemwrite
  • calltrackingmetrics.voice_menu_items.deleteDelete voice menu itemdestructive
  • calltrackingmetrics.voice_menu_items.getVoice menu item detailsread
  • calltrackingmetrics.voice_menu_items.listList of voice menu itemsread
  • calltrackingmetrics.voice_menu_items.updateUpdate voice menu itemwrite
Voice menus5
  • calltrackingmetrics.voice_menus.createCreate voice menuwrite
  • calltrackingmetrics.voice_menus.deleteDelete voice menudestructive
  • calltrackingmetrics.voice_menus.getVoice menu detailsread
  • calltrackingmetrics.voice_menus.listList of voice menusread
  • calltrackingmetrics.voice_menus.updateUpdate voice menuwrite
Webhooks5
  • calltrackingmetrics.webhooks.createCreate webhookwrite
  • calltrackingmetrics.webhooks.deleteDelete webhookdestructive
  • calltrackingmetrics.webhooks.getWebhook detailsread
  • calltrackingmetrics.webhooks.listList of webhooksread
  • calltrackingmetrics.webhooks.updateUpdate webhookwrite
Divisions4
  • calltrackingmetrics.divisions.accountsList of divisions account listread
  • calltrackingmetrics.divisions.adminsList of divisions admin listread
  • calltrackingmetrics.divisions.listList of divisionsread
  • calltrackingmetrics.divisions.usersList of divisions user listread
Opt out texts4
  • calltrackingmetrics.opt_out_texts.createAdd opt out text/smswrite
  • calltrackingmetrics.opt_out_texts.deleteRemove opt out text/smsdestructive
  • calltrackingmetrics.opt_out_texts.getOpt out text/sms detailsread
  • calltrackingmetrics.opt_out_texts.listList opt out text/smsread
Queues4
  • calltrackingmetrics.queues.add_agentAdd agent to a queuewrite
  • calltrackingmetrics.queues.createCreate a queuewrite
  • calltrackingmetrics.queues.listList of queuesread
  • calltrackingmetrics.queues.remove_agentRemove agent from a queuedestructive
Schedules4
  • calltrackingmetrics.schedules.createCreate a schedulewrite
  • calltrackingmetrics.schedules.deleteDelete a scheduledestructive
  • calltrackingmetrics.schedules.getRetrieve schedule detailread
  • calltrackingmetrics.schedules.listList of schedulesread
Target numbers4
  • calltrackingmetrics.target_numbers.createCreate a target numberwrite
  • calltrackingmetrics.target_numbers.deleteDelete a target numberdestructive
  • calltrackingmetrics.target_numbers.getTarget number detailsread
  • calltrackingmetrics.target_numbers.listList of target numbersread
Trust centers4
  • calltrackingmetrics.trust_centers.a2p_campaignsList a2p campaigns of a specific trust centerread
  • calltrackingmetrics.trust_centers.listList trust centersread
  • calltrackingmetrics.trust_centers.list_a2p_campaignsList a2p campaignsread
  • calltrackingmetrics.trust_centers.list_toll_free_registrationsList toll free registrationsread
Blocked numbers3
  • calltrackingmetrics.blocked_numbers.blockBlock numberwrite
  • calltrackingmetrics.blocked_numbers.listList blocked numbersread
  • calltrackingmetrics.blocked_numbers.unblockUnblock numberdestructive
Call sales3
  • calltrackingmetrics.call_sales.deleteDelete sale recorddestructive
  • calltrackingmetrics.call_sales.getGet sale recordread
  • calltrackingmetrics.call_sales.upsertCreate/edit sale recordwrite
Change notifications3
  • calltrackingmetrics.change_notifications.createCreate change notificationwrite
  • calltrackingmetrics.change_notifications.deleteDelete change notificationdestructive
  • calltrackingmetrics.change_notifications.listList of change notificationsread
Do not calls3
  • calltrackingmetrics.do_not_calls.createCreate a do not call numberwrite
  • calltrackingmetrics.do_not_calls.deleteDelete a do not call numberdestructive
  • calltrackingmetrics.do_not_calls.listList do not call numbersread
Google analytics3
  • calltrackingmetrics.google_analytics.linkGoogle analytics link informationread
  • calltrackingmetrics.google_analytics.linksGoogle analytics linksread
  • calltrackingmetrics.google_analytics.trigger_eventGoogle analytics trigger eventwrite
Number addresses3
  • calltrackingmetrics.number_addresses.createCreate a new addresswrite
  • calltrackingmetrics.number_addresses.deleteDelete an addressdestructive
  • calltrackingmetrics.number_addresses.listList of addressesread
SMS3
  • calltrackingmetrics.sms.getSMS message detailsread
  • calltrackingmetrics.sms.listList of SMS messagesread
  • calltrackingmetrics.sms.sendSend SMS messagewrite
Reports2
  • calltrackingmetrics.reports.seriesReporting Seriesread
  • calltrackingmetrics.reports.usage_logsUsage Logsread
Tracking script settings2
  • calltrackingmetrics.tracking_script_settings.getTracking script settingsread
  • calltrackingmetrics.tracking_script_settings.updateUpdate tracking script settingswrite
Agency1
  • calltrackingmetrics.agency.getAgency informationread
Lookup1
  • calltrackingmetrics.lookup.searchLookup apiread

Questions

The CallTrackingMetrics MCP server, answered.

Is there a CallTrackingMetrics MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 253 CallTrackingMetrics actions across calls, numbers, accounts and dialers, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by CallTrackingMetrics.

What do I need to connect CallTrackingMetrics?

CTM API Access Key (Account Settings > API Integration, or Agency Settings for multi-account access) and CTM API Secret Key shown beside the Access Key. The free call account { op: "connections.requirements", service: "calltrackingmetrics" } lists exactly what to paste.

Can an AI agent delete or change things in CallTrackingMetrics?

Only if its key allows it, and only with an explicit confirmation. 48 CallTrackingMetrics actions are destructive, including delete a contact list, remove user from account and add or modify user role. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my CallTrackingMetrics API limit?

actionlake paces every call to the limits in the CallTrackingMetrics service file: 10 calls a second per connection. Repeated reads are answered from cache (96 CallTrackingMetrics actions can be), which never reaches CallTrackingMetrics.

What does a CallTrackingMetrics action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (253 CallTrackingMetrics actions page). Cache hits, searches, dry runs and calls CallTrackingMetrics refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which CallTrackingMetrics API does it cover?

The CTM REST API v1 (https://api.calltrackingmetrics.com/api/v1) at api.calltrackingmetrics.com/api/v1. It is built from CallTrackingMetrics's documentation as read on 23 October 2026. 253 actions in 41 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my CallTrackingMetrics data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your CallTrackingMetrics credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent CallTrackingMetrics today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.