---
title: "Use CallForMe from any agent with a shell"
description: "No MCP support? Point your agent at callforme.tel/skill.md and it calls businesses with curl against the REST API. One setup link at the first call, that's it."
url: https://callforme.tel/agents/any-agent
updated: 2026-09-29
---

# Use CallForMe from any agent with a shell

> If your agent can run shell commands, tell it to read https://callforme.tel/skill.md. The skill teaches it to place calls with curl against https://callforme.tel/v1, show you one setup link at the first real call, save the key it gets back, and poll for the result. Nothing to install.

MCP is convenient, but it isn't required. Any agent that can run `curl` can do everything the MCP tools do through the [REST API](/docs/rest-api).

## Point your agent at the skill

Tell your agent:

> Read https://callforme.tel/skill.md and use it whenever I ask you to call a business.

The [skill](/docs/skill) explains the whole flow: find the number, gather details, place the call, show the setup link the first time, poll for the result, answer the business's questions mid-call, and report back. If your agent has a skills folder, save it there as `callforme/SKILL.md` so it loads on its own:

```bash
mkdir -p <skills folder>/callforme
curl -o <skills folder>/callforme/SKILL.md https://callforme.tel/skill.md
```

If it has no skills folder, paste the file into its custom instructions or rules file.

## What the agent runs

Place a call:

```bash
curl -s https://callforme.tel/v1/calls \
  -H "Authorization: Bearer $CALLFORME_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phone":"+12145550123","goal":"Ask if order #4411 is ready for pickup","on_behalf_of":"Jordan Park"}'
```

Poll until it ends (each request waits up to 45 seconds for a change):

```bash
curl -s "https://callforme.tel/v1/calls/<call_id>?wait=45" \
  -H "Authorization: Bearer $CALLFORME_KEY"
```

Answer a mid-call question when `pending_question` is set:

```bash
curl -s https://callforme.tel/v1/calls/<call_id>/answer \
  -H "Authorization: Bearer $CALLFORME_KEY" \
  -H "Content-Type: application/json" \
  -d '{"answer":"Yes, hold it until 6pm"}'
```

Look up a business, or share a finished call as a public link with phone numbers hidden:

```bash
curl -s "https://callforme.tel/v1/businesses?query=hardware%20store&near=Plano%2C%20TX"
curl -s -X POST https://callforme.tel/v1/calls/<call_id>/share -H "Authorization: Bearer $CALLFORME_KEY"
```

Every endpoint is in the [REST API docs](/docs/rest-api).

## Your first call

The first time, the agent has no key yet, so `POST /v1/calls` answers with HTTP 402 and a short setup link like `https://callforme.tel/go/k7m2q`. Your agent shows it to you.

1. Open the link. It shows the exact call about to be placed: who, what number, and the goal.
2. Add $10. Your card is saved and auto-reloads. Creators can claim credit with their email instead.
3. The page says you're done. Tell your agent to continue.
4. Your agent sends the same request with the `setup_code`, and the phone starts ringing.

That response includes an `account_key` starting with `cfm_`, shown once. The skill tells your agent to save it in its memory or in `CALLFORME_KEY`, so every later call just goes through. If you already use CallForMe in another agent and you're signed in on that browser, the setup page links this agent to your existing account in one click, with no second payment. More in [how setup links work](/docs/setup-links).

Prefer to skip the link? Create a key on the [account page](https://callforme.tel/account) and export it:

```bash
export CALLFORME_KEY=cfm_your_key
```

## Try it free first

The demo line needs no key and no payment, up to 5 calls a day. Paste this into your agent:

> Read https://callforme.tel/skill.md, then call Maple Street Pizza at (469) 770-7412 and ask how long a large pepperoni takes for pickup. Wait for the result and tell me.

Maple Street Pizza is a fictional restaurant, so you can watch the whole flow without calling a real business.

## Try a real one

> Read https://callforme.tel/skill.md, then call Lakeside Print & Copy and ask if order #4411 is ready. Wait for the result and tell me.

## Related

- [Agent skill](/docs/skill)
- [REST API](/docs/rest-api)
- [Quickstart](/docs/quickstart)
- [Pricing](/docs/pricing)
- [All agents](/agents)

## FAQ

### Do I need to install anything?

No. The agent only needs curl, which almost every shell has. The skill is a markdown file it reads from https://callforme.tel/skill.md.

### Where does the agent keep the key?

The first successful call returns an account_key that starts with cfm_, shown once. The agent saves it in its memory or in the CALLFORME_KEY env var and sends it as a Bearer header after that.

### Can I give it a key up front instead?

Yes. Create a key on the account page at https://callforme.tel/account, set it as CALLFORME_KEY, and the agent skips the setup link.

### Is there an OpenAPI spec?

Yes, at https://callforme.tel/openapi.json.
