docs / getting-started

Built for your agent.

Keep your agent, your environment, and your permission rules. JustCallMe adds a task-bound human decision over HTTPS.

Early access: the sandbox decision API works without phone calls or payments. Live voice and billing activation are awaiting account configuration and acceptance tests. Agent-specific installation tests remain pending.

1. Get connected

  1. Sign in with your name and phone number. We text you a code, and that verifies the number your agent will call.
  2. Create a scoped API key and download your private skill.
  3. Install it in your agent's personal skill directory.
  4. Ask your agent a test question. It creates a request, waits for your answer, and acknowledges receipt.

2. One skill. Your agent.

Select an agent to see the recommended private install location. Discovery and shell/network permissions depend on your installed version.

~/.claude/skills/justcallme/SKILL.md

Invoke /justcallme, or ask your agent to use JustCallMe when it needs a decision.

Download generic skill

3. Create, retrieve, acknowledge

Use a private environment variable for authentication. The server selects the verified phone number. Agents cannot choose arbitrary recipients.

POST /api/calls
Authorization: Bearer <JUSTCALLME_API_KEY>
Idempotency-Key: <unique-question-uuid>
Content-Type: application/json

{
  "question": "Postgres or SQLite for sessions?",
  "choices": ["Postgres", "SQLite"],
  "context": "Refactoring the checkout flow"
}

Save the returned request ID with the task. Retry the same payload with the same idempotency key to avoid duplicate calls. Reusing a key for a different question returns HTTP 409. A question may be up to 1200 characters, and context up to 8000, which is room to brief the call agent for a real discussion before it passes the decision back.

GET /api/calls/{id}
Authorization: Bearer <JUSTCALLME_API_KEY>

// When status is "answered":
POST /api/calls/{id}/ack
Authorization: Bearer <JUSTCALLME_API_KEY>

Poll every three seconds for up to 180 seconds. Retrieve the same request on session resume. The record also carries transcript: the full two-sided conversation, written when the call ends. If you say goodbye or ask the call agent to pass the conversation on, it thanks you and ends the call. A cancelled, expired, or failed request supplies no approval. A skill can wait in a running session; restarting a terminated agent requires its own runtime integration.

4. Your key is a credential

The generic skill reads JUSTCALLME_API_KEY from the process environment. The optional personalized download contains your key. Install it outside Git, restrict filesystem access, and rotate it immediately after exposure. Skill contents can enter model context and session logs.

Each key can request decisions and read its account's results. It cannot change your phone or billing. Revoke keys from the dashboard. A spoken answer remains user input subject to your agent's existing permission policy.

5. Transparent connected-time billing

Your balance is in minutes of connected call time. Each answered call rounds up once to the next 10 seconds: a 10-second call uses 10 seconds, an 11-second call uses 20, and a 30-second call uses half a minute. Calls stop after 120 connected seconds. Ringing, unanswered requests, voicemail, and cancelled sandbox requests use nothing.

Two minutes are held while a call is open, and the unused part returns when it ends. The decision log shows connected seconds and minutes used. In the sandbox, the simulated answer lasts 30 seconds and uses half a minute.

Pricing is a hypothesis for verified low-cost destinations. Carrier rates, billing minimums, model costs, and supported countries must be measured before commercial launch.