Expert API & Integrations
Query your Expert knowledge base from external tools and workflows. Connect Expert to Zendesk, Intercom, ChatGPT, MCP-compatible AI tools, and any system that can make HTTP requests.
Scale plan required
Explicit API keys and external integrations are available exclusively on the Scale plan ($250/mo). Hub and Pulse Expert surfaces work on all plans using auto-generated implicit keys. See Billing & plans for details.
API key management
API keys are created and managed from the Expert configuration panel in your dashboard. Each key is scoped to a single workspace.
Key format
Keys follow the format dbk_{agent_id}_{secret}. The dbk_ prefix identifies it as a DemoBites Expert key. Never share the full key publicly.
Labels
Give each key a descriptive label (e.g., "Zendesk production", "Internal testing"). Labels help you identify keys when managing multiple integrations.
Creating keys
Click "Create API Key" in the Expert settings panel. The full key is shown once at creation — copy it immediately and store it securely. It cannot be revealed again.
Revoking keys
Revoke a key from the same panel. Revocation is immediate — any integration using that key will stop working. Create a new key before revoking the old one for zero-downtime rotation.
API endpoint
Expert exposes a single query endpoint. All requests use POST with JSON bodies and authenticate via the X-API-Key header.
POST https://app.demobites.com/api/expert-searchRequest format
Send a JSON body with the viewer’s question. The API key goes in the header, not the body.
curl -X POST https://app.demobites.com/api/expert-search \
-H "Content-Type: application/json" \
-H "X-API-Key: dbk_exprt_a1b2c3d4_sk_live_9f8e7d6c5b4a" \
-d '{
"query": "How do I set up automated billing?"
}'Request parameters
queryRequiredThe natural language question to search for. Maximum 500 characters.
Request headers
X-API-KeyRequiredYour Expert API key. Format: dbk_{agent_id}_{secret}
Content-TypeRequiredMust be application/json
Response format
A successful response includes the AI-generated answer, a confidence score, and an array of source bites with timestamps and links.
{
"success": true,
"data": {
"query": "How do I set up automated billing?",
"answer": "You can set up automated billing from the Settings panel. Navigate to Settings > Billing > Automation and toggle on the auto-billing feature. The "Billing Automation Setup" video walks through the full process, including configuring payment schedules and notification preferences.",
"confidence": "high",
"source_display": "cards",
"sources": [
{
"bite_id": "4821",
"bite_title": "Billing Automation Setup",
"slug": "billing-automation-setup",
"u_key": "ba_setup_2024",
"poster_url": "https://stream-d.demobites.com/exports/4821/poster.jpg",
"bite_url": "https://academy.yourapp.com/ba_setup_2024/p",
"segments": [
{
"timestamp_start": "00:00:12",
"timestamp_end": "00:00:34",
"text": "Walks through enabling auto-billing in the settings panel"
}
]
},
{
"bite_id": "4956",
"bite_title": "Payment Configuration Overview",
"slug": "payment-config-overview",
"u_key": "pay_config_2024",
"poster_url": "https://stream-d.demobites.com/exports/4956/poster.jpg",
"bite_url": "https://academy.yourapp.com/pay_config_2024/p",
"segments": [
{
"timestamp_start": "00:00:05",
"timestamp_end": "00:00:22",
"text": "Overview of payment schedule options"
}
]
}
]
}
}Response fields
successBoolean indicating whether the request was processed.
data.answerThe AI-generated answer, grounded in your bite content.
data.confidence"high", "low", or "none". High means a direct match was found. Low means the answer is hedged. None means no relevant content was found.
data.source_displayThe configured display mode: "cards", "text", or "thumbnails".
data.sources[]Array of source bites with IDs, titles, poster images, page URLs, and timestamped segments.
data.sources[].bite_urlDirect link to the bite's published page at the relevant timestamp.
data.sources[].segments[]Specific time ranges within the bite that contain the relevant content.
Error responses
401Missing or invalid X-API-Key header.
400Missing or empty query parameter.
500Internal server error. Retry after a brief delay.
Zendesk integration
AI-powered support deflection
Connect Expert to Zendesk to automatically answer customer questions using your bite library before a human agent is involved.
Use Zendesk’s webhook or external API integration to call the Expert endpoint when a ticket is created or when an AI agent workflow triggers. Expert returns an answer with video references that can be presented to the customer directly.
- 1Create an Expert API key from your DemoBites dashboard (Scale plan required).
- 2In Zendesk Admin, configure a webhook pointing to the Expert endpoint with your API key in the X-API-Key header.
- 3Create a trigger or automation that fires the webhook when a new ticket arrives.
- 4Parse the Expert response and present the answer with source links to the customer via a macro or automated reply.
- 5If confidence is "none" or "low", route the ticket to a human agent as usual.
See Zendesk Developer Documentation for webhook setup details.
Intercom integration
In-conversation answers
Use Intercom’s Custom Actions or workflow bots to query Expert when a conversation starts, providing instant answers before a teammate steps in.
Intercom’s workflow builder supports custom HTTP actions. Configure a step that calls the Expert API with the customer’s message as the query. When Expert returns a high-confidence answer, present it in the chat. Otherwise, hand off to a human.
- 1Create an Expert API key from your DemoBites dashboard.
- 2In Intercom, create a new workflow or edit an existing bot flow.
- 3Add a "Custom Action" step that sends a POST request to the Expert endpoint.
- 4Map the customer's message to the query field and include the API key header.
- 5Use conditional branching: if confidence is "high", display the answer and source links. Otherwise, route to your team.
See Intercom Developer Documentation for workflow and custom action setup.
ChatGPT / GPT integration
Expert as a GPT Action
Connect Expert as a custom action in a ChatGPT GPT or OpenAI assistant. The GPT can query your bite library to answer product questions with video references.
OpenAI’s GPT builder supports custom actions — external API calls that the GPT can invoke when responding to users. Configure Expert as an action so the GPT automatically queries your knowledge base when someone asks a product question.
- 1Create an Expert API key from your DemoBites dashboard.
- 2In the GPT builder, go to Configure > Actions and add a new action.
- 3Set the endpoint to the Expert API URL and configure the X-API-Key header with your key.
- 4Define the action schema: the GPT sends a query string and receives an answer with source links.
- 5In the GPT's instructions, tell it to call the Expert action when users ask product-related questions and to include source links in its responses.
See OpenAI Actions Documentation for GPT action configuration.
MCP integration
AI-native knowledge access
Expert can serve as a Model Context Protocol (MCP) server, allowing any MCP-compatible AI tool to query your knowledge base directly.
MCP is an open protocol that lets AI assistants access external data sources. Tools like Claude (via Claude Code or Claude Desktop), Cursor, Windsurf, and other MCP-compatible clients can connect to Expert and query your bite library as part of their reasoning process.
The connection pattern is straightforward: configure the MCP client to point at the Expert endpoint with your API key. The client can then issue queries as a tool call, and Expert returns structured answers with source references that the AI can incorporate into its responses.
{
"mcpServers": {
"demobites-expert": {
"url": "https://app.demobites.com/api/expert-search",
"headers": {
"X-API-Key": "dbk_exprt_a1b2c3d4_sk_live_9f8e7d6c5b4a"
}
}
}
}Use case:A developer using Claude Code can ask “How does our billing system work?” and Claude will query your Expert knowledge base to provide an answer grounded in your published product demos, complete with video links for reference.