Ask Sybill answers natural-language questions using your organization's Sybill data - calls, deals, people, companies, and emails.
You can reach it two ways: directly over REST from your own code, or through Sybill's MCP server from an AI assistant such as Claude Desktop.
Ask a question over REST
Requires the Ask Sybill permission (ask_sybill scope). Submit a one-shot question:
curl -X POST https://api.sybill.ai/v1/ask-sybill \ -H "Authorization: Bearer sk_live_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"message": "What were the key action items from my last call with Acme Corp?"}'
The request waits up to 60 seconds. Two outcomes:
200 OK- the run reached a terminal state and the response contains the result.202 Accepted- the run is still in progress. The response includes aLocationheader with the canonical polling URL and aRetry-Afterheader telling you how many seconds to wait before polling.
Both return the same result object:
{ "threadId": "0c6f6b8e-...", "runId": "7d3a2f10-...", "status": "running", "output": null, "generatedAt": null, "error": null }Field | Meaning |
|
|
| The answer - set only when |
| Unix milliseconds when the answer was produced - set only on completion |
| Optional error or instruction text, e.g. on failure |
Treat any status value you don't recognize as a terminal failure - this keeps your integration safe if new states are added.
Poll for the result
When you get a 202, poll with the IDs from the response:
curl -H "Authorization: Bearer sk_live_YOUR_KEY" \ https://api.sybill.ai/v1/ask-sybill/{threadId}/{runId}Polling has the same semantics: it waits up to 60 seconds, returns 200 for terminal runs and 202 with Location and Retry-After headers while the run is still active. Runs remain accessible to your organization for 30 days after submission.
The Sybill MCP server
Sybill also exposes an MCP (Model Context Protocol) server, which lets AI assistants work with your Sybill data conversationally:
https://mcp.sybill.ai/mcp
Property | Value |
Transport | Streamable HTTP |
Authentication | OAuth - your MCP client prompts you to sign in with your Sybill account |
Note that MCP reads are scoped to what the signed-in user can access, and MCP usage limits are managed separately from REST API key rate limits and may depend on your Sybill plan.
Connect Claude Desktop
Add this to your Claude Desktop configuration file (claude_desktop_config.json):
{ "mcpServers": { "sybill": { "command": "npx", "args": [ "-y", "mcp-remote", "https://mcp.sybill.ai/mcp" ] } } }The first time you use the Sybill server, Claude Desktop opens a browser window for you to sign in with your Sybill account.
Other MCP clients (such as Cursor or VS Code Copilot) can also connect to the same server URL; consult your client's documentation for how to add a remote MCP server.
Available tools
Tool | What it does |
| Ask Sybill AI a question about your calls, deals, people, companies, and emails |
| Fetch the status and answer of a previously submitted question |
| List meetings, filterable by date range, type, title, attendees, CRM name, and source |
| Full detail for one meeting - summary, transcript, recordings, participants, CRM info |
| List CRM deals, filterable by name, stage, closed status, owner, dates, and amount |
| Full detail for one deal - summary, contacts, owner, pipeline, stage |
| List CRM accounts, filterable by name, website, owner, and dates |
| Full detail for one account - contacts, synced CRM fields, latest deal |
One behavior worth handling in ask_sybill: quick questions return the answer as plain text, while longer-running questions return a JSON envelope with threadId, runId, and status: "running". Try parsing the response as JSON - if it parses and says running, poll get_ask_sybill_result with those IDs; otherwise the response is the answer itself.
Error handling
Status | Cause |
| REST: invalid or revoked key, or missing |
| Rate limit exceeded - see API pagination, rate limits, errors, and conventions |
| Internal processing error |
