Use CallForMe in n8n, Zapier, and Make

Use the REST API at https://callforme.tel/v1 with an Authorization: Bearer cfm_ header, using a key from your account page. POST /calls to start a call, then GET /calls/{id}?wait=30 until status is ended, and map the answers onward. n8n's AI Agent can also use the MCP URL through its MCP Client Tool.

Automations don't have a person in the loop to open a setup link, so set up your account first. Connect CallForMe in any chat agent and place one call (that's where you add $10), then create a cfm_ key on the account page and store it as a credential in your tool. Check your balance with GET /account.

n8n

With an AI Agent: add an MCP Client Tool sub-node to your AI Agent node. Endpoint: https://callforme.tel/mcp, transport HTTP Streamable, authentication Bearer Auth with your cfm_ key. The node also offers OAuth2 with dynamic client registration, which signs you in with one click like any other agent; use the key when the workflow runs unattended.

Without an agent: use two HTTP Request nodes.

  1. POST https://callforme.tel/v1/calls, header Authorization: Bearer cfm_your_key, JSON body:
{
  "phone": "+12145550123",
  "business_name": "Lakeside Print & Copy",
  "goal": "Ask if order #4411 is ready for pickup and their closing time today",
  "questions": ["Is order #4411 ready?", "What time do you close today?"],
  "on_behalf_of": "Jordan Park"
}
  1. GET https://callforme.tel/v1/calls/{{$json.call_id}}?wait=30 in a loop until status is ended. Read answers and outcome.

Zapier

  1. Action: Webhooks by Zapier, Custom Request, method POST, URL https://callforme.tel/v1/calls, headers Authorization: Bearer cfm_your_key and Content-Type: application/json, with the JSON body above.
  2. Add Delay by Zapier (for example 5 minutes).
  3. Another Custom Request: GET https://callforme.tel/v1/calls/<call_id>?wait=30.
  4. Use Paths or Filter on status and pass answers to Sheets, Slack, or email.

Make

  1. HTTP module, Make a request: POST https://callforme.tel/v1/calls, header Authorization: Bearer cfm_your_key, body type raw JSON.
  2. Sleep a few minutes, or use a Repeater with a GET to /v1/calls/{call_id}?wait=30 and stop when status is ended.
  3. Map answers and outcome.summary into the next module.

Questions during the call

A workflow can't think on its feet, so give the call everything it needs up front in details, and set constraints for anything it must not agree to. If the business still asks something, pending_question appears in the GET response. You can answer with POST /v1/calls/{id}/answer and {"answer": "..."}, or let it pass: after about 50 seconds the voice assistant says it will call back.

Full endpoint list in the REST API docs.

Try it

Paste this into n8n, Zapier, and Make:

Every weekday at 10am, call the pharmacy from the sheet and ask if my prescription is ready; post the answer to Slack.

Related

Questions

Can a workflow use a setup link?

Not well, since nobody is there to open it. Create a key on the account page at callforme.tel/account first and store it as a credential.

How long should I wait before checking?

A quick question call usually ends within a few minutes. Hold waits can run up to the 30 minute limit. GET with ?wait=30 returns early as soon as something changes.

Is there a webhook when the call ends?

Not today. Poll GET /v1/calls/{id} with the wait parameter.

Can I bulk-call a list?

You can loop over a list of businesses, but calls must be to businesses and follow the terms: no telemarketing or sales calls, and at most 3 calls per number per day.

Add CallForMe to your agent

One URL for any MCP agent. No key needed to install.

https://callforme.tel/mcp

Install steps for your agent · Pricing