AI Assistants
Overview
AI Assistants define how Bread Crumbs Bot generates responses for incoming messages.
Each assistant is created with an AI type and type-specific integration properties.
Supported AI types
Shared model
All AI assistants are created through the same GraphQL mutations (createAi, patchAi, deleteAi) and queried using ais/ai.
The behavior depends on type and integrationProperties.
Bread Crumbs AI
Bread Crumbs AI assistant (Crumby) is a pre-built AI assistant customized to serve most common use cases. This one is created automatically for you when you get an access on Crumby Playground (opens in a new tab).
Runtime features
- You can train Crumby with your own data on Crumby files (opens in a new tab) and Crumby text (opens in a new tab) pages.
- Crumby can gather client information for you if that is enabled in Crumby settings (opens in a new tab).
- Crumby can transfer the conversation to an agent if you have handover enabled in Crumby settings (opens in a new tab).
- Crumby can apply tags to the client and/or conversation if you have any tag rules configured in Crumby settings (opens in a new tab).
OpenAI
OpenAI assistant uses your OpenAI API key and model to generate text replies.
AI type
Use openai in AI creation operation.
Integration properties
| Attributes | Type | Description |
|---|---|---|
apiKey | string | Required. Your OpenAI API key. |
model | string | Required. OpenAI model name (for example: gpt-4o, gpt-4.1). |
Runtime behavior
- Bot sends the incoming message content using the OpenAI AI adapter.
- Bot returns a text response.
Special keywords
In case the agent returns a response containing one of the following keywords, Bot will handle them specially:
#HANDOVER#: Handover the conversation to an agent.#END#: End the conversation.
Create OpenAI AI (GraphQL)
POST https://gateway.bcrumbs.net/bot/gqmutation createAi($input: AICreateInput!) {
createAi(input: $input) {
id
workspaceId
name
type
integrationProperties
createdAt
}
}
input AICreateInput {
workspaceId: Int!
integrationProperties: JSON!
name: String!
type: AIType!
}Next is an example of the input for the createAi mutation in JSON format:
{
"input": {
"workspaceId": 12,
"name": "My OpenAI AI",
"type": "openai",
"integrationProperties": {
"apiKey": "your-openai-api-key",
"model": "gpt-4o"
}
}
}Pinecone
Pinecone assistant uses your configured Pinecone integration properties to generate text replies through the bot runtime.
AI type
Use pinecone in AI creation/patch operations.
Integration properties
| Attributes | Type | Description |
|---|---|---|
apiKey | string | Required. API key used by the Pinecone AI handler. |
model | string | Required. Model identifier used by the Pinecone AI handler. |
Runtime behavior
- Bot sends the incoming message content using the Pinecone AI adapter.
- Bot returns a text response.
Special keywords
In case the agent returns a response containing one of the following keywords, Bot will handle them specially:
#HANDOVER#: Handover the conversation to an agent.#END#: End the conversation.
Create Pinecone AI (GraphQL)
mutation createAi($input: AICreateInput!) {
createAi(input: $input) {
id
workspaceId
name
type
integrationProperties
createdAt
}
}
input AICreateInput {
workspaceId: Int!
integrationProperties: JSON!
name: String!
type: AIType!
}Next is an example of the input for the createAi mutation in JSON format:
{
"input": {
"workspaceId": 12,
"name": "My Pinecone AI",
"type": "pinecone",
"integrationProperties": {
"apiKey": "your-pinecone-api-key",
"model": "pinecone-model-id"
}
}
}Custom AI
Custom AI lets you connect your own AI provider through a custom integration flow. You can configure it from the portal integrations guide: Custom AI integration.