Quickstart

One agent, on voice and chat. No call center, no plumbing, just a prompt and a key.

Prerequisites

A Saaya workspace, and any HTTP client. If you don't have a workspace yet, request access first.

1. Create your workspace

Sign in at app.saaya.ai. The first thing you'll see is a workspace picker, pick one or create a new one. Workspaces are how Saaya isolates billing, RBAC, and data.

2. Get an API key

Generate a key from Settings → API Keys in the dashboard. The full value is shown once, at creation. A key belongs to one workspace and carries it on every call, so you never pass a workspace id yourself. Never commit one.

.env
# .env
SAAYA_API_KEY=sa_...

3. Build your first agent

Creating an agent gives you an empty one; you then edit its draft. Everything you set, prompt, model, voice, speech settings, lands on the draft and stays off live traffic until you publish.

create-agent.sh
# Create the agent, then edit its draft.
curl -X POST "https://api.saaya.ai/api/v1/agents/?type=single_prompt" \
  -H "X-API-Key: $SAAYA_API_KEY"

curl -X PATCH https://api.saaya.ai/api/v1/agents/{agent_id} \
  -H "X-API-Key: $SAAYA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Maya, Pipeline Concierge",
    "system_prompt": "You are Maya. You qualify inbound interest. Warm, direct, a little dry. Always finish by booking the next step.",
    "channels": ["voice", "chat"]
  }'

Or skip the curl

The dashboard edits exactly the same draft. Build it there if you would rather see the voice and speech settings laid out, then come back to the API to publish.

4. Test it

Try the agent in the dashboard playground before you publish it. That runs the draft, so you can iterate on the prompt without anything reaching production traffic.

5. Publish it

Publishing snapshots the current draft as a numbered version and makes it the published one. Name the version, you will thank yourself later.

publish.sh
curl -X POST https://api.saaya.ai/api/v1/agents/{agent_id}/publish \
  -H "X-API-Key: $SAAYA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "version_name": "first-cut" }'

Coming back to a published agent?

Later edits land on the draft again, not on what is live. If a release misbehaves, list the agent's versions and restore the one you want back.

6. Where to next

That's it, you have a live agent. From here, the path branches based on what you're building:

  • API reference , every endpoint, the response envelope, and how lists paginate.
  • MCP endpoint , let any MCP-compatible AI client query your sessions and KBs.
  • Knowledge bases , ground answers in your own sources.
  • Campaigns , upload an audience and dial it on a schedule.
Was this page helpful?