2
0
Files
bot/apps/docs/openapi/viewer.json

13977 lines
490 KiB
JSON
Raw Normal View History

{
"openapi": "3.0.3",
"info": {
"title": "Chat API",
"version": "3.0.0"
},
"servers": [
{
"url": "https://typebot.io/api"
}
],
"externalDocs": {
"url": "https://docs.typebot.io/api-reference"
},
"paths": {
"/v1/sendMessage": {
"post": {
"operationId": "sendMessageV1",
"summary": "Send a message",
"description": "To initiate a chat, do not provide a `sessionId` nor a `message`.\n\nContinue the conversation by providing the `sessionId` and the `message` that should answer the previous question.\n\nSet the `isPreview` option to `true` to chat with the non-published version of the typebot.",
"tags": [
"Deprecated"
],
"deprecated": true,
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The answer to the previous chat input. Do not provide it if you are starting a new chat."
},
"sessionId": {
"type": "string",
"description": "Session ID that you get from the initial chat request to a bot. If not provided, it will create a new session."
},
"startParams": {
"allOf": [
{
"type": "object",
"properties": {
"typebot": {
"anyOf": [
{
"oneOf": [
{
"$ref": "#/components/schemas/typebotV5"
},
{
"$ref": "#/components/schemas/typebotV6"
}
],
"discriminator": {
"propertyName": "version",
"mapping": {
"3": "#/components/schemas/typebotV5",
"4": "#/components/schemas/typebotV5",
"5": "#/components/schemas/typebotV5",
"6": "#/components/schemas/typebotV6"
}
}
},
{
"type": "string"
}
],
"description": "Either a Typebot ID or a Typebot object. If you provide a Typebot object, it will be executed in preview mode. ([How can I find my typebot ID?](https://docs.typebot.io/api-reference#how-to-find-my-typebotid))."
},
"isPreview": {
"type": "boolean",
"description": "If set to `true`, it will start a Preview session with the unpublished bot and it won't be saved in the Results tab. You need to be authenticated with a bearer token for this to work."
},
"resultId": {
"type": "string",
"description": "Provide it if you'd like to overwrite an existing result."
},
"prefilledVariables": {
"type": "object",
"additionalProperties": {},
"description": "[More info about prefilled variables.](https://docs.typebot.io/editor/variables#prefilled-variables)"
},
"isStreamEnabled": {
"type": "boolean",
"description": "Set this to `true` if you intend to stream OpenAI completions on a client."
},
"isOnlyRegistering": {
"type": "boolean",
"description": "If set to `true`, it will only register the session and not start the chat. This is used for other chat platform integration as it can require a session to be registered before sending the first message."
}
},
"required": [
"typebot"
]
},
{
"anyOf": [
{
"type": "object",
"properties": {
"startGroupId": {
"type": "string",
"description": "Start chat from a specific group."
},
"startEventId": {
"type": "string"
}
},
"required": [
"startGroupId"
]
},
{
"type": "object",
"properties": {
"startEventId": {
"type": "string",
"description": "Start chat from a specific event."
},
"startGroupId": {
"type": "string"
}
},
"required": [
"startEventId"
]
},
{
✨ Add Anthropic block (#1336) Hello @baptisteArno, As we discussed in issue #1315 we created a basic implementation of Anthropic’s Claude AI block. This block is based on the OpenAI block and shares a similar structure. The most notable changes in this PR are: - Added the Claude AI block. - Added relevant documentation for the new block. - Formatted some other source files in order to pass git pre-hook checks. Some notes to be made: - Currently there is no way to dynamically fetch the model’s versions since there is no endpoint provided by the SDK. - All pre version-3 Claude models are hard-coded constant variables. - We have opened an issue for that on the SDK repository [here](https://github.com/anthropics/anthropic-sdk-typescript/issues/313). - We can implement in a new PR Claude’s new [Vision system](https://docs.anthropic.com/claude/docs/vision) which allows for image analysis and understanding. - This can be done in a later phase, given that you agree of course. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced the Anthropic block for creating chat messages with Claude AI in Typebot. - Added functionality to create chat messages using Anthropic AI SDK with configurable options. - Implemented encrypted credentials for Anthropic account integration. - Added constants and helpers for better handling of chat messages with Anthropic models. - Included Anthropic block in the list of enabled and forged blocks for broader access. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Retr0-01 <contact@retr0.dev> Co-authored-by: Baptiste Arnaud <baptiste.arnaud95@gmail.com> Co-authored-by: Baptiste Arnaud <contact@baptiste-arnaud.fr>
2024-03-12 19:53:33 +02:00
"type": "object"
}
]
}
]
},
"clientLogs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"description": {
"type": "string"
},
"details": {}
},
"required": [
"status",
"description"
]
},
"description": "Logs while executing client side actions"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"messages": {
"type": "array",
"items": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
},
{
"oneOf": [
{
"$ref": "#/components/schemas/textMessage"
},
{
"$ref": "#/components/schemas/imageMessage"
},
{
"$ref": "#/components/schemas/videoMessage"
},
{
"$ref": "#/components/schemas/audioMessage"
},
{
"$ref": "#/components/schemas/embedMessage"
},
{
"$ref": "#/components/schemas/customEmbedMessage"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"text": "#/components/schemas/textMessage",
"image": "#/components/schemas/imageMessage",
"video": "#/components/schemas/videoMessage",
"audio": "#/components/schemas/audioMessage",
"embed": "#/components/schemas/embedMessage",
"custom-embed": "#/components/schemas/customEmbedMessage"
}
}
}
]
}
},
"input": {
"allOf": [
{
"anyOf": [
{
"oneOf": [
{
"$ref": "#/components/schemas/textInput"
},
{
"$ref": "#/components/schemas/buttonsInputV5"
},
{
"$ref": "#/components/schemas/email"
},
{
"$ref": "#/components/schemas/numberInput"
},
{
"$ref": "#/components/schemas/url"
},
{
"$ref": "#/components/schemas/phoneNumberInput"
},
{
"$ref": "#/components/schemas/dateInput"
},
{
"$ref": "#/components/schemas/paymentInput"
},
{
"$ref": "#/components/schemas/rating"
},
{
"$ref": "#/components/schemas/fileInputV5"
},
{
"$ref": "#/components/schemas/pictureChoiceV5"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"text input": "#/components/schemas/textInput",
"choice input": "#/components/schemas/buttonsInputV5",
"email input": "#/components/schemas/email",
"number input": "#/components/schemas/numberInput",
"url input": "#/components/schemas/url",
"phone number input": "#/components/schemas/phoneNumberInput",
"date input": "#/components/schemas/dateInput",
"payment input": "#/components/schemas/paymentInput",
"rating input": "#/components/schemas/rating",
"file input": "#/components/schemas/fileInputV5",
"picture choice input": "#/components/schemas/pictureChoiceV5"
}
}
},
{
"oneOf": [
{
"$ref": "#/components/schemas/textInput"
},
{
"$ref": "#/components/schemas/buttonsInput"
},
{
"$ref": "#/components/schemas/email"
},
{
"$ref": "#/components/schemas/numberInput"
},
{
"$ref": "#/components/schemas/url"
},
{
"$ref": "#/components/schemas/phoneNumberInput"
},
{
"$ref": "#/components/schemas/dateInput"
},
{
"$ref": "#/components/schemas/paymentInput"
},
{
"$ref": "#/components/schemas/rating"
},
{
"$ref": "#/components/schemas/fileInput"
},
{
"$ref": "#/components/schemas/pictureChoice"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"text input": "#/components/schemas/textInput",
"choice input": "#/components/schemas/buttonsInput",
"email input": "#/components/schemas/email",
"number input": "#/components/schemas/numberInput",
"url input": "#/components/schemas/url",
"phone number input": "#/components/schemas/phoneNumberInput",
"date input": "#/components/schemas/dateInput",
"payment input": "#/components/schemas/paymentInput",
"rating input": "#/components/schemas/rating",
"file input": "#/components/schemas/fileInput",
"picture choice input": "#/components/schemas/pictureChoice"
}
}
}
]
},
{
"type": "object",
"properties": {
"prefilledValue": {
"type": "string"
},
"runtimeOptions": {
"type": "object",
"properties": {
"paymentIntentSecret": {
"type": "string"
},
"amountLabel": {
"type": "string"
},
"publicKey": {
"type": "string"
}
},
"required": [
"paymentIntentSecret",
"amountLabel",
"publicKey"
]
}
}
}
]
},
"clientSideActions": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/csaScriptToExecute"
},
{
"$ref": "#/components/schemas/csaRedirect"
},
{
"$ref": "#/components/schemas/csaChatwoot"
},
{
"$ref": "#/components/schemas/csaGa"
},
{
"$ref": "#/components/schemas/csaWait"
},
{
"$ref": "#/components/schemas/csaSetVariable"
},
{
"$ref": "#/components/schemas/csaStreamOpenAiChatCompletion"
},
{
"$ref": "#/components/schemas/csaExecWebhook"
},
{
"$ref": "#/components/schemas/csaInjectStartProps"
},
{
"$ref": "#/components/schemas/csaPixel"
},
{
"$ref": "#/components/schemas/csaStream"
},
{
"$ref": "#/components/schemas/csaCodeToExecute"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"scriptToExecute": "#/components/schemas/csaScriptToExecute",
"redirect": "#/components/schemas/csaRedirect",
"chatwoot": "#/components/schemas/csaChatwoot",
"googleAnalytics": "#/components/schemas/csaGa",
"wait": "#/components/schemas/csaWait",
"setVariable": "#/components/schemas/csaSetVariable",
"streamOpenAiChatCompletion": "#/components/schemas/csaStreamOpenAiChatCompletion",
"webhookToExecute": "#/components/schemas/csaExecWebhook",
"startPropsToInject": "#/components/schemas/csaInjectStartProps",
"pixel": "#/components/schemas/csaPixel",
"stream": "#/components/schemas/csaStream",
"codeToExecute": "#/components/schemas/csaCodeToExecute"
}
}
}
},
"sessionId": {
"type": "string"
},
"typebot": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"theme": {
"anyOf": [
{
"$ref": "#/components/schemas/theme"
},
{
"$ref": "#/components/schemas/theme"
}
]
},
"settings": {
"anyOf": [
{
"$ref": "#/components/schemas/settings"
},
{
"$ref": "#/components/schemas/settings"
}
]
}
},
"required": [
"id",
"theme",
"settings"
]
},
"resultId": {
"type": "string"
},
"dynamicTheme": {
"type": "object",
"properties": {
"hostAvatarUrl": {
"type": "string"
},
"guestAvatarUrl": {
"type": "string"
}
}
},
"logs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"description": {
"type": "string"
},
"details": {}
},
"required": [
"status",
"description"
]
}
},
"lastMessageNewFormat": {
"type": "string",
"description": "The sent message is validated and formatted on the backend. This is set only if the message differs from the formatted version."
}
},
"required": [
"messages"
]
}
}
}
},
"400": {
"description": "Invalid input data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.BAD_REQUEST"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
}
}
}
}
}
}
},
"/v2/sendMessage": {
"post": {
"operationId": "sendMessageV2",
"summary": "Send a message",
"description": "To initiate a chat, do not provide a `sessionId` nor a `message`.\n\nContinue the conversation by providing the `sessionId` and the `message` that should answer the previous question.\n\nSet the `isPreview` option to `true` to chat with the non-published version of the typebot.",
"tags": [
"Deprecated"
],
"deprecated": true,
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The answer to the previous chat input. Do not provide it if you are starting a new chat."
},
"sessionId": {
"type": "string",
"description": "Session ID that you get from the initial chat request to a bot. If not provided, it will create a new session."
},
"startParams": {
"allOf": [
{
"type": "object",
"properties": {
"typebot": {
"anyOf": [
{
"oneOf": [
{
"$ref": "#/components/schemas/typebotV5"
},
{
"$ref": "#/components/schemas/typebotV6"
}
],
"discriminator": {
"propertyName": "version",
"mapping": {
"3": "#/components/schemas/typebotV5",
"4": "#/components/schemas/typebotV5",
"5": "#/components/schemas/typebotV5",
"6": "#/components/schemas/typebotV6"
}
}
},
{
"type": "string"
}
],
"description": "Either a Typebot ID or a Typebot object. If you provide a Typebot object, it will be executed in preview mode. ([How can I find my typebot ID?](https://docs.typebot.io/api-reference#how-to-find-my-typebotid))."
},
"isPreview": {
"type": "boolean",
"description": "If set to `true`, it will start a Preview session with the unpublished bot and it won't be saved in the Results tab. You need to be authenticated with a bearer token for this to work."
},
"resultId": {
"type": "string",
"description": "Provide it if you'd like to overwrite an existing result."
},
"prefilledVariables": {
"type": "object",
"additionalProperties": {},
"description": "[More info about prefilled variables.](https://docs.typebot.io/editor/variables#prefilled-variables)"
},
"isStreamEnabled": {
"type": "boolean",
"description": "Set this to `true` if you intend to stream OpenAI completions on a client."
},
"isOnlyRegistering": {
"type": "boolean",
"description": "If set to `true`, it will only register the session and not start the chat. This is used for other chat platform integration as it can require a session to be registered before sending the first message."
}
},
"required": [
"typebot"
]
},
{
"anyOf": [
{
"type": "object",
"properties": {
"startGroupId": {
"type": "string",
"description": "Start chat from a specific group."
},
"startEventId": {
"type": "string"
}
},
"required": [
"startGroupId"
]
},
{
"type": "object",
"properties": {
"startEventId": {
"type": "string",
"description": "Start chat from a specific event."
},
"startGroupId": {
"type": "string"
}
},
"required": [
"startEventId"
]
},
{
✨ Add Anthropic block (#1336) Hello @baptisteArno, As we discussed in issue #1315 we created a basic implementation of Anthropic’s Claude AI block. This block is based on the OpenAI block and shares a similar structure. The most notable changes in this PR are: - Added the Claude AI block. - Added relevant documentation for the new block. - Formatted some other source files in order to pass git pre-hook checks. Some notes to be made: - Currently there is no way to dynamically fetch the model’s versions since there is no endpoint provided by the SDK. - All pre version-3 Claude models are hard-coded constant variables. - We have opened an issue for that on the SDK repository [here](https://github.com/anthropics/anthropic-sdk-typescript/issues/313). - We can implement in a new PR Claude’s new [Vision system](https://docs.anthropic.com/claude/docs/vision) which allows for image analysis and understanding. - This can be done in a later phase, given that you agree of course. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced the Anthropic block for creating chat messages with Claude AI in Typebot. - Added functionality to create chat messages using Anthropic AI SDK with configurable options. - Implemented encrypted credentials for Anthropic account integration. - Added constants and helpers for better handling of chat messages with Anthropic models. - Included Anthropic block in the list of enabled and forged blocks for broader access. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Retr0-01 <contact@retr0.dev> Co-authored-by: Baptiste Arnaud <baptiste.arnaud95@gmail.com> Co-authored-by: Baptiste Arnaud <contact@baptiste-arnaud.fr>
2024-03-12 19:53:33 +02:00
"type": "object"
}
]
}
]
},
"clientLogs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"description": {
"type": "string"
},
"details": {}
},
"required": [
"status",
"description"
]
},
"description": "Logs while executing client side actions"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"messages": {
"type": "array",
"items": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
},
{
"oneOf": [
{
"$ref": "#/components/schemas/textMessage"
},
{
"$ref": "#/components/schemas/imageMessage"
},
{
"$ref": "#/components/schemas/videoMessage"
},
{
"$ref": "#/components/schemas/audioMessage"
},
{
"$ref": "#/components/schemas/embedMessage"
},
{
"$ref": "#/components/schemas/customEmbedMessage"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"text": "#/components/schemas/textMessage",
"image": "#/components/schemas/imageMessage",
"video": "#/components/schemas/videoMessage",
"audio": "#/components/schemas/audioMessage",
"embed": "#/components/schemas/embedMessage",
"custom-embed": "#/components/schemas/customEmbedMessage"
}
}
}
]
}
},
"input": {
"allOf": [
{
"anyOf": [
{
"oneOf": [
{
"$ref": "#/components/schemas/textInput"
},
{
"$ref": "#/components/schemas/buttonsInputV5"
},
{
"$ref": "#/components/schemas/email"
},
{
"$ref": "#/components/schemas/numberInput"
},
{
"$ref": "#/components/schemas/url"
},
{
"$ref": "#/components/schemas/phoneNumberInput"
},
{
"$ref": "#/components/schemas/dateInput"
},
{
"$ref": "#/components/schemas/paymentInput"
},
{
"$ref": "#/components/schemas/rating"
},
{
"$ref": "#/components/schemas/fileInputV5"
},
{
"$ref": "#/components/schemas/pictureChoiceV5"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"text input": "#/components/schemas/textInput",
"choice input": "#/components/schemas/buttonsInputV5",
"email input": "#/components/schemas/email",
"number input": "#/components/schemas/numberInput",
"url input": "#/components/schemas/url",
"phone number input": "#/components/schemas/phoneNumberInput",
"date input": "#/components/schemas/dateInput",
"payment input": "#/components/schemas/paymentInput",
"rating input": "#/components/schemas/rating",
"file input": "#/components/schemas/fileInputV5",
"picture choice input": "#/components/schemas/pictureChoiceV5"
}
}
},
{
"oneOf": [
{
"$ref": "#/components/schemas/textInput"
},
{
"$ref": "#/components/schemas/buttonsInput"
},
{
"$ref": "#/components/schemas/email"
},
{
"$ref": "#/components/schemas/numberInput"
},
{
"$ref": "#/components/schemas/url"
},
{
"$ref": "#/components/schemas/phoneNumberInput"
},
{
"$ref": "#/components/schemas/dateInput"
},
{
"$ref": "#/components/schemas/paymentInput"
},
{
"$ref": "#/components/schemas/rating"
},
{
"$ref": "#/components/schemas/fileInput"
},
{
"$ref": "#/components/schemas/pictureChoice"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"text input": "#/components/schemas/textInput",
"choice input": "#/components/schemas/buttonsInput",
"email input": "#/components/schemas/email",
"number input": "#/components/schemas/numberInput",
"url input": "#/components/schemas/url",
"phone number input": "#/components/schemas/phoneNumberInput",
"date input": "#/components/schemas/dateInput",
"payment input": "#/components/schemas/paymentInput",
"rating input": "#/components/schemas/rating",
"file input": "#/components/schemas/fileInput",
"picture choice input": "#/components/schemas/pictureChoice"
}
}
}
]
},
{
"type": "object",
"properties": {
"prefilledValue": {
"type": "string"
},
"runtimeOptions": {
"type": "object",
"properties": {
"paymentIntentSecret": {
"type": "string"
},
"amountLabel": {
"type": "string"
},
"publicKey": {
"type": "string"
}
},
"required": [
"paymentIntentSecret",
"amountLabel",
"publicKey"
]
}
}
}
]
},
"clientSideActions": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/csaScriptToExecute"
},
{
"$ref": "#/components/schemas/csaRedirect"
},
{
"$ref": "#/components/schemas/csaChatwoot"
},
{
"$ref": "#/components/schemas/csaGa"
},
{
"$ref": "#/components/schemas/csaWait"
},
{
"$ref": "#/components/schemas/csaSetVariable"
},
{
"$ref": "#/components/schemas/csaStreamOpenAiChatCompletion"
},
{
"$ref": "#/components/schemas/csaExecWebhook"
},
{
"$ref": "#/components/schemas/csaInjectStartProps"
},
{
"$ref": "#/components/schemas/csaPixel"
},
{
"$ref": "#/components/schemas/csaStream"
},
{
"$ref": "#/components/schemas/csaCodeToExecute"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"scriptToExecute": "#/components/schemas/csaScriptToExecute",
"redirect": "#/components/schemas/csaRedirect",
"chatwoot": "#/components/schemas/csaChatwoot",
"googleAnalytics": "#/components/schemas/csaGa",
"wait": "#/components/schemas/csaWait",
"setVariable": "#/components/schemas/csaSetVariable",
"streamOpenAiChatCompletion": "#/components/schemas/csaStreamOpenAiChatCompletion",
"webhookToExecute": "#/components/schemas/csaExecWebhook",
"startPropsToInject": "#/components/schemas/csaInjectStartProps",
"pixel": "#/components/schemas/csaPixel",
"stream": "#/components/schemas/csaStream",
"codeToExecute": "#/components/schemas/csaCodeToExecute"
}
}
}
},
"sessionId": {
"type": "string"
},
"typebot": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"theme": {
"anyOf": [
{
"$ref": "#/components/schemas/theme"
},
{
"$ref": "#/components/schemas/theme"
}
]
},
"settings": {
"anyOf": [
{
"$ref": "#/components/schemas/settings"
},
{
"$ref": "#/components/schemas/settings"
}
]
}
},
"required": [
"id",
"theme",
"settings"
]
},
"resultId": {
"type": "string"
},
"dynamicTheme": {
"type": "object",
"properties": {
"hostAvatarUrl": {
"type": "string"
},
"guestAvatarUrl": {
"type": "string"
}
}
},
"logs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"description": {
"type": "string"
},
"details": {}
},
"required": [
"status",
"description"
]
}
},
"lastMessageNewFormat": {
"type": "string",
"description": "The sent message is validated and formatted on the backend. This is set only if the message differs from the formatted version."
}
},
"required": [
"messages"
]
}
}
}
},
"400": {
"description": "Invalid input data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.BAD_REQUEST"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
}
}
}
}
}
}
},
"/v1/typebots/{publicId}/startChat": {
"post": {
"operationId": "startChat",
"summary": "Start chat",
"parameters": [
{
"in": "path",
"name": "publicId",
"description": "[Where to find my bot's public ID?](../how-to#how-to-find-my-publicid)",
"schema": {
"type": "string",
"description": "[Where to find my bot's public ID?](../how-to#how-to-find-my-publicid)"
},
"required": true
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
},
"attachedFileUrls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Can only be provided if current input block is a text input block that allows attachments"
}
},
"required": [
"type",
"text"
]
}
],
"description": "Only provide it if your flow starts with an input block and you'd like to directly provide an answer to it."
},
"isStreamEnabled": {
"type": "boolean",
"default": false,
"description": "If enabled, you will be required to stream OpenAI completions on a client and send the generated response back to the API."
},
"resultId": {
"type": "string",
"description": "Provide it if you'd like to overwrite an existing result."
},
"isOnlyRegistering": {
"type": "boolean",
"default": false,
"description": "If set to `true`, it will only register the session and not start the bot. This is used for 3rd party chat platforms as it can require a session to be registered before sending the first message."
},
"prefilledVariables": {
"type": "object",
"additionalProperties": {},
"description": "[More info about prefilled variables.](../../editor/variables#prefilled-variables)",
"example": {
"First name": "John",
"Email": "john@gmail.com"
}
},
"textBubbleContentFormat": {
"type": "string",
"enum": [
"richText",
"markdown"
],
"default": "richText"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "To save and use for /continueChat requests."
},
"resultId": {
"type": "string"
},
"typebot": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"theme": {
"$ref": "#/components/schemas/theme"
},
"settings": {
"$ref": "#/components/schemas/settings"
}
},
"required": [
"id",
"theme",
"settings"
]
},
"lastMessageNewFormat": {
"type": "string",
"description": "The sent message is validated and formatted on the backend. For example, if for a date input you replied something like `tomorrow`, the backend will convert it to a date string. This field returns the formatted message."
},
"messages": {
"type": "array",
"items": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
},
{
"oneOf": [
{
"$ref": "#/components/schemas/textMessage"
},
{
"$ref": "#/components/schemas/imageMessage"
},
{
"$ref": "#/components/schemas/videoMessage"
},
{
"$ref": "#/components/schemas/audioMessage"
},
{
"$ref": "#/components/schemas/embedMessage"
},
{
"$ref": "#/components/schemas/customEmbedMessage"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"text": "#/components/schemas/textMessage",
"image": "#/components/schemas/imageMessage",
"video": "#/components/schemas/videoMessage",
"audio": "#/components/schemas/audioMessage",
"embed": "#/components/schemas/embedMessage",
"custom-embed": "#/components/schemas/customEmbedMessage"
}
}
}
]
}
},
"input": {
"allOf": [
{
"anyOf": [
{
"oneOf": [
{
"$ref": "#/components/schemas/textInput"
},
{
"$ref": "#/components/schemas/buttonsInput"
},
{
"$ref": "#/components/schemas/email"
},
{
"$ref": "#/components/schemas/numberInput"
},
{
"$ref": "#/components/schemas/url"
},
{
"$ref": "#/components/schemas/phoneNumberInput"
},
{
"$ref": "#/components/schemas/dateInput"
},
{
"$ref": "#/components/schemas/paymentInput"
},
{
"$ref": "#/components/schemas/rating"
},
{
"$ref": "#/components/schemas/fileInput"
},
{
"$ref": "#/components/schemas/pictureChoice"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"text input": "#/components/schemas/textInput",
"choice input": "#/components/schemas/buttonsInput",
"email input": "#/components/schemas/email",
"number input": "#/components/schemas/numberInput",
"url input": "#/components/schemas/url",
"phone number input": "#/components/schemas/phoneNumberInput",
"date input": "#/components/schemas/dateInput",
"payment input": "#/components/schemas/paymentInput",
"rating input": "#/components/schemas/rating",
"file input": "#/components/schemas/fileInput",
"picture choice input": "#/components/schemas/pictureChoice"
}
}
},
{
"oneOf": [
{
"$ref": "#/components/schemas/buttonsInputV5"
},
{
"$ref": "#/components/schemas/fileInputV5"
},
{
"$ref": "#/components/schemas/pictureChoiceV5"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"choice input": "#/components/schemas/buttonsInputV5",
"file input": "#/components/schemas/fileInputV5",
"picture choice input": "#/components/schemas/pictureChoiceV5"
}
}
}
]
},
{
"type": "object",
"properties": {
"prefilledValue": {
"type": "string"
},
"runtimeOptions": {
"type": "object",
"properties": {
"paymentIntentSecret": {
"type": "string"
},
"amountLabel": {
"type": "string"
},
"publicKey": {
"type": "string"
}
},
"required": [
"paymentIntentSecret",
"amountLabel",
"publicKey"
]
}
}
}
]
},
"clientSideActions": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/csaScriptToExecute"
},
{
"$ref": "#/components/schemas/csaRedirect"
},
{
"$ref": "#/components/schemas/csaChatwoot"
},
{
"$ref": "#/components/schemas/csaGa"
},
{
"$ref": "#/components/schemas/csaWait"
},
{
"$ref": "#/components/schemas/csaSetVariable"
},
{
"$ref": "#/components/schemas/csaStreamOpenAiChatCompletion"
},
{
"$ref": "#/components/schemas/csaExecWebhook"
},
{
"$ref": "#/components/schemas/csaInjectStartProps"
},
{
"$ref": "#/components/schemas/csaPixel"
},
{
"$ref": "#/components/schemas/csaStream"
},
{
"$ref": "#/components/schemas/csaCodeToExecute"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"scriptToExecute": "#/components/schemas/csaScriptToExecute",
"redirect": "#/components/schemas/csaRedirect",
"chatwoot": "#/components/schemas/csaChatwoot",
"googleAnalytics": "#/components/schemas/csaGa",
"wait": "#/components/schemas/csaWait",
"setVariable": "#/components/schemas/csaSetVariable",
"streamOpenAiChatCompletion": "#/components/schemas/csaStreamOpenAiChatCompletion",
"webhookToExecute": "#/components/schemas/csaExecWebhook",
"startPropsToInject": "#/components/schemas/csaInjectStartProps",
"pixel": "#/components/schemas/csaPixel",
"stream": "#/components/schemas/csaStream",
"codeToExecute": "#/components/schemas/csaCodeToExecute"
}
}
},
"description": "Actions to execute on the client side"
},
"logs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"description": {
"type": "string"
},
"details": {}
},
"required": [
"status",
"description"
]
},
"description": "Logs that were saved during the last execution"
},
"dynamicTheme": {
"type": "object",
"properties": {
"hostAvatarUrl": {
"type": "string"
},
"guestAvatarUrl": {
"type": "string"
}
},
"description": "If the typebot contains dynamic avatars, dynamicTheme returns the new avatar URLs whenever their variables are updated."
},
"progress": {
"type": "number",
"description": "If progress bar is enabled, this field will return a number between 0 and 100 indicating the current progress based on the longest remaining path of the flow."
}
},
"required": [
"sessionId",
"typebot",
"messages"
]
}
}
}
},
"400": {
"description": "Invalid input data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.BAD_REQUEST"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
}
}
}
}
}
}
},
"/v1/sessions/{sessionId}/continueChat": {
"post": {
"operationId": "continueChat",
"summary": "Continue chat",
"parameters": [
{
"in": "path",
"name": "sessionId",
"description": "The session ID you got from the [startChat](./start-chat) response.",
"schema": {
"type": "string",
"description": "The session ID you got from the [startChat](./start-chat) response."
},
"required": true
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
},
"attachedFileUrls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Can only be provided if current input block is a text input block that allows attachments"
}
},
"required": [
"type",
"text"
]
}
]
},
"textBubbleContentFormat": {
"type": "string",
"enum": [
"richText",
"markdown"
],
"default": "richText"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"lastMessageNewFormat": {
"type": "string",
"description": "The sent message is validated and formatted on the backend. For example, if for a date input you replied something like `tomorrow`, the backend will convert it to a date string. This field returns the formatted message."
},
"messages": {
"type": "array",
"items": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
},
{
"oneOf": [
{
"$ref": "#/components/schemas/textMessage"
},
{
"$ref": "#/components/schemas/imageMessage"
},
{
"$ref": "#/components/schemas/videoMessage"
},
{
"$ref": "#/components/schemas/audioMessage"
},
{
"$ref": "#/components/schemas/embedMessage"
},
{
"$ref": "#/components/schemas/customEmbedMessage"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"text": "#/components/schemas/textMessage",
"image": "#/components/schemas/imageMessage",
"video": "#/components/schemas/videoMessage",
"audio": "#/components/schemas/audioMessage",
"embed": "#/components/schemas/embedMessage",
"custom-embed": "#/components/schemas/customEmbedMessage"
}
}
}
]
}
},
"input": {
"allOf": [
{
"anyOf": [
{
"oneOf": [
{
"$ref": "#/components/schemas/textInput"
},
{
"$ref": "#/components/schemas/buttonsInput"
},
{
"$ref": "#/components/schemas/email"
},
{
"$ref": "#/components/schemas/numberInput"
},
{
"$ref": "#/components/schemas/url"
},
{
"$ref": "#/components/schemas/phoneNumberInput"
},
{
"$ref": "#/components/schemas/dateInput"
},
{
"$ref": "#/components/schemas/paymentInput"
},
{
"$ref": "#/components/schemas/rating"
},
{
"$ref": "#/components/schemas/fileInput"
},
{
"$ref": "#/components/schemas/pictureChoice"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"text input": "#/components/schemas/textInput",
"choice input": "#/components/schemas/buttonsInput",
"email input": "#/components/schemas/email",
"number input": "#/components/schemas/numberInput",
"url input": "#/components/schemas/url",
"phone number input": "#/components/schemas/phoneNumberInput",
"date input": "#/components/schemas/dateInput",
"payment input": "#/components/schemas/paymentInput",
"rating input": "#/components/schemas/rating",
"file input": "#/components/schemas/fileInput",
"picture choice input": "#/components/schemas/pictureChoice"
}
}
},
{
"oneOf": [
{
"$ref": "#/components/schemas/buttonsInputV5"
},
{
"$ref": "#/components/schemas/fileInputV5"
},
{
"$ref": "#/components/schemas/pictureChoiceV5"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"choice input": "#/components/schemas/buttonsInputV5",
"file input": "#/components/schemas/fileInputV5",
"picture choice input": "#/components/schemas/pictureChoiceV5"
}
}
}
]
},
{
"type": "object",
"properties": {
"prefilledValue": {
"type": "string"
},
"runtimeOptions": {
"type": "object",
"properties": {
"paymentIntentSecret": {
"type": "string"
},
"amountLabel": {
"type": "string"
},
"publicKey": {
"type": "string"
}
},
"required": [
"paymentIntentSecret",
"amountLabel",
"publicKey"
]
}
}
}
]
},
"clientSideActions": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/csaScriptToExecute"
},
{
"$ref": "#/components/schemas/csaRedirect"
},
{
"$ref": "#/components/schemas/csaChatwoot"
},
{
"$ref": "#/components/schemas/csaGa"
},
{
"$ref": "#/components/schemas/csaWait"
},
{
"$ref": "#/components/schemas/csaSetVariable"
},
{
"$ref": "#/components/schemas/csaStreamOpenAiChatCompletion"
},
{
"$ref": "#/components/schemas/csaExecWebhook"
},
{
"$ref": "#/components/schemas/csaInjectStartProps"
},
{
"$ref": "#/components/schemas/csaPixel"
},
{
"$ref": "#/components/schemas/csaStream"
},
{
"$ref": "#/components/schemas/csaCodeToExecute"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"scriptToExecute": "#/components/schemas/csaScriptToExecute",
"redirect": "#/components/schemas/csaRedirect",
"chatwoot": "#/components/schemas/csaChatwoot",
"googleAnalytics": "#/components/schemas/csaGa",
"wait": "#/components/schemas/csaWait",
"setVariable": "#/components/schemas/csaSetVariable",
"streamOpenAiChatCompletion": "#/components/schemas/csaStreamOpenAiChatCompletion",
"webhookToExecute": "#/components/schemas/csaExecWebhook",
"startPropsToInject": "#/components/schemas/csaInjectStartProps",
"pixel": "#/components/schemas/csaPixel",
"stream": "#/components/schemas/csaStream",
"codeToExecute": "#/components/schemas/csaCodeToExecute"
}
}
},
"description": "Actions to execute on the client side"
},
"logs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"description": {
"type": "string"
},
"details": {}
},
"required": [
"status",
"description"
]
},
"description": "Logs that were saved during the last execution"
},
"dynamicTheme": {
"type": "object",
"properties": {
"hostAvatarUrl": {
"type": "string"
},
"guestAvatarUrl": {
"type": "string"
}
},
"description": "If the typebot contains dynamic avatars, dynamicTheme returns the new avatar URLs whenever their variables are updated."
},
"progress": {
"type": "number",
"description": "If progress bar is enabled, this field will return a number between 0 and 100 indicating the current progress based on the longest remaining path of the flow."
}
},
"required": [
"messages"
]
}
}
}
},
"400": {
"description": "Invalid input data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.BAD_REQUEST"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
}
}
}
}
}
}
},
"/v1/typebots/{typebotId}/preview/startChat": {
"post": {
"operationId": "startChatPreview",
"summary": "Start preview chat",
"description": "Use this endpoint to test your bot. The answers will not be saved. And some blocks like \"Send email\" will be skipped.",
"parameters": [
{
"in": "path",
"name": "typebotId",
"description": "[Where to find my bot's ID?](../how-to#how-to-find-my-typebotid)",
"schema": {
"type": "string",
"description": "[Where to find my bot's ID?](../how-to#how-to-find-my-typebotid)"
},
"required": true
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"isStreamEnabled": {
:zap: Introduce a new high-performing standalone chat API (#1200) Closes #1154 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added authentication functionality for user sessions in chat API. - Introduced chat-related API endpoints for starting, previewing, and continuing chat sessions, and streaming messages. - Implemented WhatsApp API webhook handling for receiving and processing messages. - Added environment variable `NEXT_PUBLIC_CHAT_API_URL` for chat API URL configuration. - **Bug Fixes** - Adjusted file upload logic to correctly determine the API host. - Fixed message streaming URL in chat integration with OpenAI. - **Documentation** - Updated guides for creating blocks, local installation, self-hosting, and deployment to use `bun` instead of `pnpm`. - **Refactor** - Refactored chat API functionalities to use modular architecture. - Simplified client log saving and session update functionalities by using external functions. - Transitioned package management and workflow commands to use `bun`. - **Chores** - Switched to `bun` for package management in Dockerfiles and GitHub workflows. - Added new Dockerfile for chat API service setup with Bun framework. - Updated `.prettierignore` and documentation with new commands. - **Style** - No visible changes to end-users. - **Tests** - No visible changes to end-users. - **Revert** - No reverts in this release. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-21 10:23:23 +01:00
"type": "boolean",
"default": false
},
"message": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
},
"attachedFileUrls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Can only be provided if current input block is a text input block that allows attachments"
}
},
"required": [
"type",
"text"
]
}
]
},
"isOnlyRegistering": {
"type": "boolean",
:zap: Introduce a new high-performing standalone chat API (#1200) Closes #1154 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added authentication functionality for user sessions in chat API. - Introduced chat-related API endpoints for starting, previewing, and continuing chat sessions, and streaming messages. - Implemented WhatsApp API webhook handling for receiving and processing messages. - Added environment variable `NEXT_PUBLIC_CHAT_API_URL` for chat API URL configuration. - **Bug Fixes** - Adjusted file upload logic to correctly determine the API host. - Fixed message streaming URL in chat integration with OpenAI. - **Documentation** - Updated guides for creating blocks, local installation, self-hosting, and deployment to use `bun` instead of `pnpm`. - **Refactor** - Refactored chat API functionalities to use modular architecture. - Simplified client log saving and session update functionalities by using external functions. - Transitioned package management and workflow commands to use `bun`. - **Chores** - Switched to `bun` for package management in Dockerfiles and GitHub workflows. - Added new Dockerfile for chat API service setup with Bun framework. - Updated `.prettierignore` and documentation with new commands. - **Style** - No visible changes to end-users. - **Tests** - No visible changes to end-users. - **Revert** - No reverts in this release. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-21 10:23:23 +01:00
"description": "If set to `true`, it will only register the session and not start the bot. This is used for 3rd party chat platforms as it can require a session to be registered before sending the first message.",
"default": false
},
"typebot": {
"oneOf": [
{
"$ref": "#/components/schemas/typebotV5"
},
{
"$ref": "#/components/schemas/typebotV6"
}
],
"discriminator": {
"propertyName": "version",
"mapping": {
"3": "#/components/schemas/typebotV5",
"4": "#/components/schemas/typebotV5",
"5": "#/components/schemas/typebotV5",
"6": "#/components/schemas/typebotV6"
}
},
"description": "If set, it will override the typebot that is used to start the chat."
},
"startFrom": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"group"
]
},
"groupId": {
"type": "string"
}
},
"required": [
"type",
"groupId"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"event"
]
},
"eventId": {
"type": "string"
}
},
"required": [
"type",
"eventId"
]
}
]
},
"prefilledVariables": {
"type": "object",
"additionalProperties": {},
"description": "[More info about prefilled variables.](../../editor/variables#prefilled-variables)",
"example": {
"First name": "John",
"Email": "john@gmail.com"
}
},
"sessionId": {
"type": "string",
"description": "If provided, will be used as the session ID and will overwrite any existing session with the same ID."
},
"textBubbleContentFormat": {
"type": "string",
"enum": [
"richText",
"markdown"
],
"default": "richText"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "To save and use for /continueChat requests."
},
"typebot": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"theme": {
"$ref": "#/components/schemas/theme"
},
"settings": {
"$ref": "#/components/schemas/settings"
}
},
"required": [
"id",
"theme",
"settings"
]
},
"lastMessageNewFormat": {
"type": "string",
"description": "The sent message is validated and formatted on the backend. For example, if for a date input you replied something like `tomorrow`, the backend will convert it to a date string. This field returns the formatted message."
},
"messages": {
"type": "array",
"items": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
},
{
"oneOf": [
{
"$ref": "#/components/schemas/textMessage"
},
{
"$ref": "#/components/schemas/imageMessage"
},
{
"$ref": "#/components/schemas/videoMessage"
},
{
"$ref": "#/components/schemas/audioMessage"
},
{
"$ref": "#/components/schemas/embedMessage"
},
{
"$ref": "#/components/schemas/customEmbedMessage"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"text": "#/components/schemas/textMessage",
"image": "#/components/schemas/imageMessage",
"video": "#/components/schemas/videoMessage",
"audio": "#/components/schemas/audioMessage",
"embed": "#/components/schemas/embedMessage",
"custom-embed": "#/components/schemas/customEmbedMessage"
}
}
}
]
}
},
"input": {
"allOf": [
{
"anyOf": [
{
"oneOf": [
{
"$ref": "#/components/schemas/textInput"
},
{
"$ref": "#/components/schemas/buttonsInput"
},
{
"$ref": "#/components/schemas/email"
},
{
"$ref": "#/components/schemas/numberInput"
},
{
"$ref": "#/components/schemas/url"
},
{
"$ref": "#/components/schemas/phoneNumberInput"
},
{
"$ref": "#/components/schemas/dateInput"
},
{
"$ref": "#/components/schemas/paymentInput"
},
{
"$ref": "#/components/schemas/rating"
},
{
"$ref": "#/components/schemas/fileInput"
},
{
"$ref": "#/components/schemas/pictureChoice"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"text input": "#/components/schemas/textInput",
"choice input": "#/components/schemas/buttonsInput",
"email input": "#/components/schemas/email",
"number input": "#/components/schemas/numberInput",
"url input": "#/components/schemas/url",
"phone number input": "#/components/schemas/phoneNumberInput",
"date input": "#/components/schemas/dateInput",
"payment input": "#/components/schemas/paymentInput",
"rating input": "#/components/schemas/rating",
"file input": "#/components/schemas/fileInput",
"picture choice input": "#/components/schemas/pictureChoice"
}
}
},
{
"oneOf": [
{
"$ref": "#/components/schemas/buttonsInputV5"
},
{
"$ref": "#/components/schemas/fileInputV5"
},
{
"$ref": "#/components/schemas/pictureChoiceV5"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"choice input": "#/components/schemas/buttonsInputV5",
"file input": "#/components/schemas/fileInputV5",
"picture choice input": "#/components/schemas/pictureChoiceV5"
}
}
}
]
},
{
"type": "object",
"properties": {
"prefilledValue": {
"type": "string"
},
"runtimeOptions": {
"type": "object",
"properties": {
"paymentIntentSecret": {
"type": "string"
},
"amountLabel": {
"type": "string"
},
"publicKey": {
"type": "string"
}
},
"required": [
"paymentIntentSecret",
"amountLabel",
"publicKey"
]
}
}
}
]
},
"clientSideActions": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/csaScriptToExecute"
},
{
"$ref": "#/components/schemas/csaRedirect"
},
{
"$ref": "#/components/schemas/csaChatwoot"
},
{
"$ref": "#/components/schemas/csaGa"
},
{
"$ref": "#/components/schemas/csaWait"
},
{
"$ref": "#/components/schemas/csaSetVariable"
},
{
"$ref": "#/components/schemas/csaStreamOpenAiChatCompletion"
},
{
"$ref": "#/components/schemas/csaExecWebhook"
},
{
"$ref": "#/components/schemas/csaInjectStartProps"
},
{
"$ref": "#/components/schemas/csaPixel"
},
{
"$ref": "#/components/schemas/csaStream"
},
{
"$ref": "#/components/schemas/csaCodeToExecute"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"scriptToExecute": "#/components/schemas/csaScriptToExecute",
"redirect": "#/components/schemas/csaRedirect",
"chatwoot": "#/components/schemas/csaChatwoot",
"googleAnalytics": "#/components/schemas/csaGa",
"wait": "#/components/schemas/csaWait",
"setVariable": "#/components/schemas/csaSetVariable",
"streamOpenAiChatCompletion": "#/components/schemas/csaStreamOpenAiChatCompletion",
"webhookToExecute": "#/components/schemas/csaExecWebhook",
"startPropsToInject": "#/components/schemas/csaInjectStartProps",
"pixel": "#/components/schemas/csaPixel",
"stream": "#/components/schemas/csaStream",
"codeToExecute": "#/components/schemas/csaCodeToExecute"
}
}
},
"description": "Actions to execute on the client side"
},
"logs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"description": {
"type": "string"
},
"details": {}
},
"required": [
"status",
"description"
]
},
"description": "Logs that were saved during the last execution"
},
"dynamicTheme": {
"type": "object",
"properties": {
"hostAvatarUrl": {
"type": "string"
},
"guestAvatarUrl": {
"type": "string"
}
},
"description": "If the typebot contains dynamic avatars, dynamicTheme returns the new avatar URLs whenever their variables are updated."
},
"progress": {
"type": "number",
"description": "If progress bar is enabled, this field will return a number between 0 and 100 indicating the current progress based on the longest remaining path of the flow."
}
},
"required": [
"sessionId",
"typebot",
"messages"
]
}
}
}
},
"400": {
"description": "Invalid input data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.BAD_REQUEST"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
}
}
}
}
}
}
},
"/v1/typebots/{typebotId}/blocks/{blockId}/storage/upload-url": {
"get": {
"operationId": "getUploadUrl",
"summary": "Get upload URL for a file",
"description": "Used for the web client to get the bucket upload file.",
"tags": [
"Deprecated"
],
"deprecated": true,
"parameters": [
{
"in": "path",
"name": "typebotId",
"schema": {
"type": "string"
},
"required": true
},
{
"in": "path",
"name": "blockId",
"schema": {
"type": "string"
},
"required": true
},
{
"in": "query",
"name": "filePath",
"schema": {
"type": "string"
},
"required": true
},
{
"in": "query",
"name": "fileType",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"presignedUrl": {
"type": "string"
},
"hasReachedStorageLimit": {
"type": "boolean"
}
},
"required": [
"presignedUrl",
"hasReachedStorageLimit"
]
}
}
}
},
"400": {
"description": "Invalid input data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.BAD_REQUEST"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.NOT_FOUND"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
}
}
}
}
}
}
},
"/v1/generate-upload-url": {
"post": {
"operationId": "generateUploadUrlV1",
"summary": "Generate upload URL",
"description": "Used to upload anything from the client to S3 bucket",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"filePathProps": {
"anyOf": [
{
"type": "object",
"properties": {
"typebotId": {
"type": "string"
},
"blockId": {
"type": "string"
},
"resultId": {
"type": "string"
},
"fileName": {
"type": "string"
}
},
"required": [
"typebotId",
"blockId",
"resultId",
"fileName"
]
},
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"fileName": {
"type": "string"
}
},
"required": [
"sessionId",
"fileName"
]
}
]
},
"fileType": {
"type": "string"
}
},
"required": [
"filePathProps"
]
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"presignedUrl": {
"type": "string"
},
"formData": {
"type": "object",
"additionalProperties": {}
},
"fileUrl": {
"type": "string"
}
},
"required": [
"presignedUrl",
"formData",
"fileUrl"
]
}
}
}
},
"400": {
"description": "Invalid input data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.BAD_REQUEST"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
}
}
}
}
}
}
},
"/v2/generate-upload-url": {
"post": {
"operationId": "generateUploadUrl",
"summary": "Generate upload URL",
"description": "Used to upload anything from the client to S3 bucket",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"fileName": {
"type": "string"
},
"fileType": {
"type": "string"
}
},
"required": [
"sessionId",
"fileName"
]
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"presignedUrl": {
"type": "string"
},
"formData": {
"type": "object",
"additionalProperties": {}
},
"fileUrl": {
"type": "string"
}
},
"required": [
"presignedUrl",
"formData",
"fileUrl"
]
}
}
}
},
"400": {
"description": "Invalid input data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.BAD_REQUEST"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
}
}
}
}
}
}
},
"/v1/sessions/{sessionId}/updateTypebot": {
"post": {
"operationId": "updateTypebotInSession",
"summary": "Update typebot in session",
"description": "Update chat session with latest typebot modifications. This is useful when you want to update the typebot in an ongoing session after making changes to it.",
"security": [
{
"Authorization": []
}
],
"parameters": [
{
"in": "path",
"name": "sessionId",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"enum": [
"success"
]
}
},
"required": [
"message"
]
}
}
}
},
"400": {
"description": "Invalid input data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.BAD_REQUEST"
}
}
}
},
"401": {
"description": "Authorization not provided",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.UNAUTHORIZED"
}
}
}
},
"403": {
"description": "Insufficient access",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.FORBIDDEN"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
}
}
}
}
}
}
},
"/v1/workspaces/{workspaceId}/whatsapp/{credentialsId}/webhook": {
"get": {
"operationId": "whatsAppRouter-subscribeWebhook",
"summary": "Subscribe webhook",
"tags": [
"WhatsApp"
],
"security": [
{
"Authorization": []
}
],
"parameters": [
{
"in": "path",
"name": "workspaceId",
"schema": {
"type": "string"
},
"required": true
},
{
"in": "path",
"name": "credentialsId",
"schema": {
"type": "string"
},
"required": true
},
{
"in": "query",
"name": "hub.challenge",
"schema": {
"type": "string"
},
"required": true
},
{
"in": "query",
"name": "hub.verify_token",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "number"
}
}
}
},
"400": {
"description": "Invalid input data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.BAD_REQUEST"
}
}
}
},
"401": {
"description": "Authorization not provided",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.UNAUTHORIZED"
}
}
}
},
"403": {
"description": "Insufficient access",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.FORBIDDEN"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.NOT_FOUND"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
}
}
}
}
}
},
"post": {
"operationId": "whatsAppRouter-receiveMessage",
"summary": "Message webhook",
"tags": [
"WhatsApp"
],
"parameters": [
{
"in": "path",
"name": "workspaceId",
"schema": {
"type": "string"
},
"required": true
},
{
"in": "path",
"name": "credentialsId",
"schema": {
"type": "string"
},
"required": true
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"entry": {
"type": "array",
"items": {
"type": "object",
"properties": {
"changes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {
"phone_number_id": {
"type": "string"
}
},
"required": [
"phone_number_id"
]
},
"contacts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"profile": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
},
"required": [
"profile"
]
}
},
"messages": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"from": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "object",
"properties": {
"body": {
"type": "string"
}
},
"required": [
"body"
]
},
"timestamp": {
"type": "string"
}
},
"required": [
"from",
"type",
"text",
"timestamp"
]
},
{
"type": "object",
"properties": {
"from": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"button"
]
},
"button": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"payload": {
"type": "string"
}
},
"required": [
"text",
"payload"
]
},
"timestamp": {
"type": "string"
}
},
"required": [
"from",
"type",
"button",
"timestamp"
]
},
{
"type": "object",
"properties": {
"from": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"interactive"
]
},
"interactive": {
"type": "object",
"properties": {
"button_reply": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title"
]
}
},
"required": [
"button_reply"
]
},
"timestamp": {
"type": "string"
}
},
"required": [
"from",
"type",
"interactive",
"timestamp"
]
},
{
"type": "object",
"properties": {
"from": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"image"
]
},
"image": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"caption": {
"type": "string"
}
},
"required": [
"id"
]
},
"timestamp": {
"type": "string"
}
},
"required": [
"from",
"type",
"image",
"timestamp"
]
},
{
"type": "object",
"properties": {
"from": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"video"
]
},
"video": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"caption": {
"type": "string"
}
},
"required": [
"id"
]
},
"timestamp": {
"type": "string"
}
},
"required": [
"from",
"type",
"video",
"timestamp"
]
},
{
"type": "object",
"properties": {
"from": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"audio"
]
},
"audio": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
},
"timestamp": {
"type": "string"
}
},
"required": [
"from",
"type",
"audio",
"timestamp"
]
},
{
"type": "object",
"properties": {
"from": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"document"
]
},
"document": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"caption": {
"type": "string"
}
},
"required": [
"id"
]
},
"timestamp": {
"type": "string"
}
},
"required": [
"from",
"type",
"document",
"timestamp"
]
},
{
"type": "object",
"properties": {
"from": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"location"
]
},
"location": {
"type": "object",
"properties": {
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
}
},
"required": [
"latitude",
"longitude"
]
},
"timestamp": {
"type": "string"
}
},
"required": [
"from",
"type",
"location",
"timestamp"
]
}
]
}
}
},
"required": [
"metadata"
]
}
},
"required": [
"value"
]
}
}
},
"required": [
"changes"
]
}
}
},
"required": [
"entry"
]
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
},
"required": [
"message"
]
}
}
}
},
"400": {
"description": "Invalid input data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.BAD_REQUEST"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
}
}
}
}
}
}
},
"/v1/sessions/{sessionId}/clientLogs": {
"post": {
"operationId": "saveClientLogs",
"summary": "Save logs",
"parameters": [
{
"in": "path",
"name": "sessionId",
"schema": {
"type": "string"
},
"required": true
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"clientLogs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"description": {
"type": "string"
},
"details": {}
},
"required": [
"status",
"description"
]
}
}
},
"required": [
"clientLogs"
]
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
},
"required": [
"message"
]
}
}
}
},
"400": {
"description": "Invalid input data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.BAD_REQUEST"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
}
}
}
}
}
}
}
},
"components": {
"securitySchemes": {
"Authorization": {
"type": "http",
"scheme": "bearer"
}
},
"schemas": {
"typebotV5": {
"type": "object",
"properties": {
"version": {
"type": "string",
"enum": [
"3",
"4",
"5"
]
},
"id": {
"type": "string"
},
"groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"graphCoordinates": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
}
},
"required": [
"x",
"y"
]
},
"blocks": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"start"
]
},
"label": {
"type": "string"
}
},
"required": [
"id",
"type",
"label"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"text"
]
},
"content": {
"type": "object",
"properties": {
"html": {
"type": "string"
},
"richText": {
"type": "array",
"items": {}
},
"plainText": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"image"
]
},
"content": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"clickLink": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"alt": {
"type": "string"
}
}
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"video"
]
},
"content": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"url",
"youtube",
"vimeo",
"tiktok",
"gumlet"
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"aspectRatio": {
"type": "string"
},
"maxWidth": {
"type": "string"
},
"queryParamsStr": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"embed"
]
},
"content": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"height": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"waitForEvent": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"name": {
"type": "string"
},
"saveDataInVariableId": {
"type": "string"
}
}
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"audio"
]
},
"content": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"isAutoplayEnabled": {
"type": "boolean"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"$ref": "#/components/schemas/textInput"
},
{
"$ref": "#/components/schemas/buttonsInputV5"
},
{
"$ref": "#/components/schemas/email"
},
{
"$ref": "#/components/schemas/numberInput"
},
{
"$ref": "#/components/schemas/url"
},
{
"$ref": "#/components/schemas/phoneNumberInput"
},
{
"$ref": "#/components/schemas/dateInput"
},
{
"$ref": "#/components/schemas/paymentInput"
},
{
"$ref": "#/components/schemas/rating"
},
{
"$ref": "#/components/schemas/fileInputV5"
},
{
"$ref": "#/components/schemas/pictureChoiceV5"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Code"
]
},
"options": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"content": {
"type": "string"
},
"isExecutedOnClient": {
"type": "boolean"
},
"shouldExecuteInParentContext": {
"type": "boolean"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Condition"
]
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"blockId": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"content": {
"type": "object",
"properties": {
"logicalOperator": {
"type": "string",
"enum": [
"OR",
"AND"
]
},
"comparisons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"comparisonOperator": {
"type": "string",
"enum": [
"Equal to",
"Not equal",
"Contains",
"Does not contain",
"Greater than",
"Less than",
"Is set",
"Is empty",
"Starts with",
"Ends with",
"Matches regex",
"Does not match regex"
]
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
}
}
}
},
"required": [
"id"
]
}
}
},
"required": [
"id",
"type",
"items"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Redirect"
]
},
"options": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"isNewTab": {
"type": "boolean"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Set variable"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isExecutedOnClient": {
"type": "boolean"
},
"expressionToEvaluate": {
"type": "string"
},
"isCode": {
"type": "boolean"
}
}
},
{
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isExecutedOnClient": {
"type": "boolean"
},
"type": {
"type": "string",
"enum": [
"Now",
"Yesterday",
"Tomorrow"
]
},
"timeZone": {
"type": "string"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isExecutedOnClient": {
"type": "boolean"
},
"type": {
"type": "string",
"enum": [
"Today",
"Moment of the day",
"Empty",
"Environment name",
"User ID",
"Result ID",
"Random ID",
"Phone number",
"Contact name",
"Transcript"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isExecutedOnClient": {
"type": "boolean"
},
"type": {
"type": "string",
"enum": [
"Custom"
]
},
"expressionToEvaluate": {
"type": "string"
},
"isCode": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isExecutedOnClient": {
"type": "boolean"
},
"type": {
"type": "string",
"enum": [
"Map item with same index"
]
},
"mapListItemParams": {
"type": "object",
"properties": {
"baseItemVariableId": {
"type": "string"
},
"baseListVariableId": {
"type": "string"
},
"targetListVariableId": {
"type": "string"
}
}
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isExecutedOnClient": {
"type": "boolean"
},
"type": {
"type": "string",
"enum": [
"Append value(s)"
]
},
"item": {
"type": "string"
}
},
"required": [
"type"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Typebot link"
]
},
"options": {
"type": "object",
"properties": {
"typebotId": {
"type": "string"
},
"groupId": {
"type": "string"
},
"mergeResults": {
"type": "boolean"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Wait"
]
},
"options": {
"type": "object",
"properties": {
"secondsToWaitFor": {
"type": "string"
},
"shouldPause": {
"type": "boolean"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Jump"
]
},
"options": {
"type": "object",
"properties": {
"groupId": {
"type": "string"
},
"blockId": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"AB test"
]
},
"items": {
"type": "array",
"maxItems": 2,
"minItems": 2,
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"blockId": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"path": {
"type": "string",
"enum": [
"a"
]
}
},
"required": [
"id",
"path"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"blockId": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"path": {
"type": "string",
"enum": [
"b"
]
}
},
"required": [
"id",
"path"
]
}
]
}
},
"options": {
"type": "object",
"properties": {
"aPercent": {
"type": "number",
"minimum": 0,
"maximum": 100
}
}
}
},
"required": [
"id",
"type",
"items"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Chatwoot"
]
},
"options": {
"type": "object",
"properties": {
"task": {
"type": "string",
"enum": [
"Show widget",
"Close widget"
]
},
"baseUrl": {
"type": "string"
},
"websiteToken": {
"type": "string"
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"email": {
"type": "string"
},
"name": {
"type": "string"
},
"avatarUrl": {
"type": "string"
},
"phoneNumber": {
"type": "string"
}
}
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Google Analytics"
]
},
"options": {
"type": "object",
"properties": {
"trackingId": {
"type": "string"
},
"category": {
"type": "string"
},
"action": {
"type": "string"
},
"label": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"sendTo": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Google Sheets"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"sheetId": {
"type": "string"
},
"spreadsheetId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Get data from sheet"
]
},
"referenceCell": {
"type": "object",
"properties": {
"column": {
"type": "string"
},
"value": {
"type": "string"
},
"id": {
"type": "string"
}
},
"required": [
"id"
]
},
"filter": {
"type": "object",
"properties": {
"comparisons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"column": {
"type": "string"
},
"comparisonOperator": {
"type": "string",
"enum": [
"Equal to",
"Not equal",
"Contains",
"Does not contain",
"Greater than",
"Less than",
"Is set",
"Is empty",
"Starts with",
"Ends with",
"Matches regex",
"Does not match regex"
]
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"logicalOperator": {
"type": "string",
"enum": [
"OR",
"AND"
]
}
}
},
"cellsToExtract": {
"type": "array",
"items": {
"type": "object",
"properties": {
"column": {
"type": "string"
},
"id": {
"type": "string"
},
"variableId": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"totalRowsToExtract": {
"type": "string",
"enum": [
"All",
"First",
"Last",
"Random"
]
}
},
"required": [
"action"
]
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"sheetId": {
"type": "string"
},
"spreadsheetId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Insert a row"
]
},
"cellsToInsert": {
"type": "array",
"items": {
"type": "object",
"properties": {
"column": {
"type": "string"
},
"value": {
"type": "string"
},
"id": {
"type": "string"
}
},
"required": [
"id"
]
}
}
},
"required": [
"action"
]
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"sheetId": {
"type": "string"
},
"spreadsheetId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Update a row"
]
},
"cellsToUpsert": {
"type": "array",
"items": {
"type": "object",
"properties": {
"column": {
"type": "string"
},
"value": {
"type": "string"
},
"id": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"referenceCell": {
"type": "object",
"properties": {
"column": {
"type": "string"
},
"value": {
"type": "string"
},
"id": {
"type": "string"
}
},
"required": [
"id"
]
},
"filter": {
"type": "object",
"properties": {
"comparisons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"column": {
"type": "string"
},
"comparisonOperator": {
"type": "string",
"enum": [
"Equal to",
"Not equal",
"Contains",
"Does not contain",
"Greater than",
"Less than",
"Is set",
"Is empty",
"Starts with",
"Ends with",
"Matches regex",
"Does not match regex"
]
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"logicalOperator": {
"type": "string",
"enum": [
"OR",
"AND"
]
}
}
}
},
"required": [
"action"
]
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"sheetId": {
"type": "string"
},
"spreadsheetId": {
"type": "string"
}
}
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Make.com"
]
},
"options": {
"type": "object",
"properties": {
"variablesForTest": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"responseVariableMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"bodyPath": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"isAdvancedConfig": {
"type": "boolean"
},
"isCustomBody": {
"type": "boolean"
},
"isExecutedOnClient": {
"type": "boolean"
},
"webhook": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"queryParams": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"method": {
"type": "string",
"enum": [
"POST",
"GET",
"PUT",
"DELETE",
"PATCH",
"HEAD",
"CONNECT",
"OPTIONS",
"TRACE"
]
},
"url": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"id"
]
},
"timeout": {
"type": "number",
"minimum": 1,
"maximum": 120
}
}
},
"webhookId": {
"type": "string"
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"OpenAI"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"baseUrl": {
"type": "string"
},
"apiVersion": {
"type": "string"
}
}
},
{
"type": "object",
"properties": {
"task": {
"type": "string",
"enum": [
"Create chat completion"
]
},
"model": {
"type": "string"
},
"messages": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"system",
"user",
"assistant"
]
},
"content": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"Messages sequence ✨"
]
},
"content": {
"type": "object",
"properties": {
"assistantMessagesVariableId": {
"type": "string"
},
"userMessagesVariableId": {
"type": "string"
}
}
}
},
"required": [
"id",
"role"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"Dialogue"
]
},
"dialogueVariableId": {
"type": "string"
},
"startsBy": {
"type": "string",
"enum": [
"user",
"assistant"
]
}
},
"required": [
"id",
"role"
]
}
]
}
},
"advancedSettings": {
"type": "object",
"properties": {
"temperature": {
"anyOf": [
{
"type": "number"
},
{}
]
}
}
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"valueToExtract": {
"type": "string",
"enum": [
"Message content",
"Total tokens"
]
},
"variableId": {
"type": "string"
}
},
"required": [
"id",
"valueToExtract"
]
}
},
"credentialsId": {
"type": "string"
},
"baseUrl": {
"type": "string"
},
"apiVersion": {
"type": "string"
}
},
"required": [
"task"
]
},
{
"type": "object",
"properties": {
"task": {
"type": "string",
"enum": [
"Create image"
]
},
"prompt": {
"type": "string"
},
"advancedOptions": {
"type": "object",
"properties": {
"size": {
"type": "string",
"enum": [
"256x256",
"512x512",
"1024x1024"
]
}
}
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"valueToExtract": {
"type": "string",
"enum": [
"Image URL"
]
},
"variableId": {
"type": "string"
}
},
"required": [
"id",
"valueToExtract"
]
}
},
"credentialsId": {
"type": "string"
},
"baseUrl": {
"type": "string"
},
"apiVersion": {
"type": "string"
}
},
"required": [
"task",
"advancedOptions",
"responseMapping"
]
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"baseUrl": {
"type": "string"
},
"apiVersion": {
"type": "string"
},
"task": {
"type": "string",
"enum": [
"Create speech"
]
},
"model": {
"type": "string"
},
"input": {
"type": "string"
},
"voice": {
"type": "string",
"enum": [
"alloy",
"echo",
"fable",
"onyx",
"nova",
"shimmer"
]
},
"saveUrlInVariableId": {
"type": "string"
}
},
"required": [
"task"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Pabbly"
]
},
"options": {
"type": "object",
"properties": {
"variablesForTest": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"responseVariableMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"bodyPath": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"isAdvancedConfig": {
"type": "boolean"
},
"isCustomBody": {
"type": "boolean"
},
"isExecutedOnClient": {
"type": "boolean"
},
"webhook": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"queryParams": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"method": {
"type": "string",
"enum": [
"POST",
"GET",
"PUT",
"DELETE",
"PATCH",
"HEAD",
"CONNECT",
"OPTIONS",
"TRACE"
]
},
"url": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"id"
]
},
"timeout": {
"type": "number",
"minimum": 1,
"maximum": 120
}
}
},
"webhookId": {
"type": "string"
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Email"
]
},
"options": {
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"isCustomBody": {
"type": "boolean"
},
"isBodyCode": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"type": "string"
}
},
"subject": {
"type": "string"
},
"body": {
"type": "string"
},
"replyTo": {
"type": "string"
},
"cc": {
"type": "array",
"items": {
"type": "string"
}
},
"bcc": {
"type": "array",
"items": {
"type": "string"
}
},
"attachmentsVariableId": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Webhook"
],
"description": "Legacy name for HTTP Request block"
},
"options": {
"type": "object",
"properties": {
"variablesForTest": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"responseVariableMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"bodyPath": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"isAdvancedConfig": {
"type": "boolean"
},
"isCustomBody": {
"type": "boolean"
},
"isExecutedOnClient": {
"type": "boolean"
},
"webhook": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"queryParams": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"method": {
"type": "string",
"enum": [
"POST",
"GET",
"PUT",
"DELETE",
"PATCH",
"HEAD",
"CONNECT",
"OPTIONS",
"TRACE"
]
},
"url": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"id"
]
},
"timeout": {
"type": "number",
"minimum": 1,
"maximum": 120
}
}
},
"webhookId": {
"type": "string"
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Zapier"
]
},
"options": {
"type": "object",
"properties": {
"variablesForTest": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"responseVariableMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"bodyPath": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"isAdvancedConfig": {
"type": "boolean"
},
"isCustomBody": {
"type": "boolean"
},
"isExecutedOnClient": {
"type": "boolean"
},
"webhook": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"queryParams": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"method": {
"type": "string",
"enum": [
"POST",
"GET",
"PUT",
"DELETE",
"PATCH",
"HEAD",
"CONNECT",
"OPTIONS",
"TRACE"
]
},
"url": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"id"
]
},
"timeout": {
"type": "number",
"minimum": 1,
"maximum": 120
}
}
},
"webhookId": {
"type": "string"
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Pixel"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"pixelId": {
"type": "string"
},
"isInitSkip": {
"type": "boolean"
},
"params": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {}
},
"required": [
"id"
]
}
}
}
},
{
"type": "object",
"properties": {
"pixelId": {
"type": "string"
},
"isInitSkip": {
"type": "boolean"
},
"params": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {}
},
"required": [
"id"
]
}
},
"eventType": {
"type": "string",
"enum": [
"Lead",
"Contact",
"CompleteRegistration",
"Schedule",
"SubmitApplication",
"ViewContent",
"AddPaymentInfo",
"AddToCart",
"AddToWishlist",
"CustomizeProduct",
"Donate",
"FindLocation",
"InitiateCheckout",
"Purchase",
"Search",
"StartTrial",
"Subscribe"
]
}
},
"required": [
"eventType"
]
},
{
"type": "object",
"properties": {
"pixelId": {
"type": "string"
},
"isInitSkip": {
"type": "boolean"
},
"params": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {}
},
"required": [
"id"
]
}
},
"eventType": {
"type": "string",
"enum": [
"Custom"
]
},
"name": {
"type": "string"
}
},
"required": [
"eventType"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Zemantic AI"
]
},
"blockId": {
"type": "string"
},
"options": {
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"projectId": {
"type": "string"
},
"systemPrompt": {
"type": "string"
},
"prompt": {
"type": "string"
},
"query": {
"type": "string"
},
"maxResults": {
"type": "integer"
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"valueToExtract": {
"type": "string",
"enum": [
"Summary",
"Results"
]
},
"variableId": {
"type": "string"
}
},
"required": [
"id",
"valueToExtract"
]
}
}
}
}
},
"required": [
"id",
"type"
]
}
]
}
}
},
"required": [
"id",
"title",
"graphCoordinates",
"blocks"
]
}
},
"events": {
"type": "array"
},
"edges": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"from": {
"anyOf": [
{
"type": "object",
"properties": {
"blockId": {
"type": "string"
},
"itemId": {
"type": "string"
}
},
"required": [
"blockId"
]
},
{
"type": "object",
"properties": {
"eventId": {
"type": "string"
}
},
"required": [
"eventId"
]
}
]
},
"to": {
"type": "object",
"properties": {
"groupId": {
"type": "string"
},
"blockId": {
"type": "string"
}
},
"required": [
"groupId"
]
}
},
"required": [
"id",
"from",
"to"
]
}
},
"variables": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"isSessionVariable": {
"type": "boolean"
},
"value": {
"nullable": true,
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string",
"nullable": true
}
}
]
}
},
"required": [
"id",
"name"
]
}
},
"settings": {
"$ref": "#/components/schemas/settings"
},
"theme": {
"$ref": "#/components/schemas/theme"
}
},
"required": [
"version",
"id",
"groups",
"events",
"edges",
"variables",
"settings",
"theme"
],
"title": "Typebot V5"
},
"textInput": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"text input"
]
},
"options": {
"type": "object",
"properties": {
"labels": {
"type": "object",
"properties": {
"placeholder": {
"type": "string"
},
"button": {
"type": "string"
}
}
},
"variableId": {
"type": "string"
},
"isLong": {
"type": "boolean"
},
"attachments": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"saveVariableId": {
"type": "string"
},
"visibility": {
"type": "string",
"enum": [
"Auto",
"Public",
"Private"
]
}
}
}
}
}
},
"required": [
"id",
"type"
],
"title": "Text"
},
"buttonsInputV5": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"choice input"
]
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"blockId": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"content": {
"type": "string"
},
"displayCondition": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"condition": {
"type": "object",
"properties": {
"logicalOperator": {
"type": "string",
"enum": [
"OR",
"AND"
]
},
"comparisons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"comparisonOperator": {
"type": "string",
"enum": [
"Equal to",
"Not equal",
"Contains",
"Does not contain",
"Greater than",
"Less than",
"Is set",
"Is empty",
"Starts with",
"Ends with",
"Matches regex",
"Does not match regex"
]
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
}
}
}
}
}
},
"required": [
"id"
]
}
},
"options": {
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isMultipleChoice": {
"type": "boolean"
},
"buttonLabel": {
"type": "string"
},
"dynamicVariableId": {
"type": "string"
},
"isSearchable": {
"type": "boolean"
},
"searchInputPlaceholder": {
"type": "string"
}
}
}
},
"required": [
"id",
"type",
"items"
],
"title": "Buttons v5"
},
"email": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"email input"
]
},
"options": {
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"labels": {
"type": "object",
"properties": {
"placeholder": {
"type": "string"
},
"button": {
"type": "string"
}
}
},
"retryMessageContent": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
],
"title": "Email"
},
"numberInput": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"number input"
]
},
"options": {
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"labels": {
"type": "object",
"properties": {
"placeholder": {
"type": "string"
},
"button": {
"type": "string"
}
}
},
"min": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"max": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"step": {
"anyOf": [
{
"type": "number"
},
{}
]
}
}
}
},
"required": [
"id",
"type"
],
"title": "Number"
},
"url": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"url input"
]
},
"options": {
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"labels": {
"type": "object",
"properties": {
"placeholder": {
"type": "string"
},
"button": {
"type": "string"
}
}
},
"retryMessageContent": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
],
"title": "URL"
},
"phoneNumberInput": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"phone number input"
]
},
"options": {
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"labels": {
"type": "object",
"properties": {
"placeholder": {
"type": "string"
},
"button": {
"type": "string"
}
}
},
"retryMessageContent": {
"type": "string"
},
"defaultCountryCode": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
],
"title": "Phone number"
},
"dateInput": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"date input"
]
},
"options": {
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"labels": {
"type": "object",
"properties": {
"button": {
"type": "string"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
}
}
},
"hasTime": {
"type": "boolean"
},
"isRange": {
"type": "boolean"
},
"format": {
"type": "string"
},
"min": {
"type": "string"
},
"max": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
],
"title": "Date"
},
"paymentInput": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"payment input"
]
},
"options": {
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"provider": {
"type": "string",
"enum": [
"Stripe"
]
},
"labels": {
"type": "object",
"properties": {
"button": {
"type": "string"
},
"success": {
"type": "string"
}
}
},
"additionalInformation": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"phoneNumber": {
"type": "string"
},
"address": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"line1": {
"type": "string"
},
"line2": {
"type": "string"
},
"state": {
"type": "string"
},
"city": {
"type": "string"
},
"postalCode": {
"type": "string"
}
}
}
}
},
"credentialsId": {
"type": "string"
},
"currency": {
"type": "string"
},
"amount": {
"type": "string"
},
"retryMessageContent": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
],
"title": "Payment"
},
"rating": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"rating input"
]
},
"options": {
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"buttonType": {
"anyOf": [
{
"type": "string",
"enum": [
"Icons"
]
},
{
"type": "string",
"enum": [
"Numbers"
]
}
]
},
"length": {
"type": "number"
},
"startsAt": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"labels": {
"type": "object",
"properties": {
"left": {
"type": "string"
},
"right": {
"type": "string"
},
"button": {
"type": "string"
}
}
},
"customIcon": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"svg": {
"type": "string"
}
}
},
"isOneClickSubmitEnabled": {
"type": "boolean"
}
}
}
},
"required": [
"id",
"type"
],
"title": "Rating"
},
"fileInputV5": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"file input"
]
},
"options": {
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isRequired": {
"type": "boolean"
},
"isMultipleAllowed": {
"type": "boolean"
},
"labels": {
"type": "object",
"properties": {
"placeholder": {
"type": "string"
},
"button": {
"type": "string"
},
"clear": {
"type": "string"
},
"skip": {
"type": "string"
},
"success": {
"type": "object",
"properties": {
"single": {
"type": "string"
},
"multiple": {
"type": "string"
}
}
}
}
},
"sizeLimit": {
"type": "number"
},
"visibility": {
"type": "string",
"enum": [
"Auto",
"Public",
"Private"
]
}
}
}
},
"required": [
"id",
"type"
],
"title": "File input v5"
},
"pictureChoiceV5": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"picture choice input"
]
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"blockId": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"pictureSrc": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"displayCondition": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"condition": {
"type": "object",
"properties": {
"logicalOperator": {
"type": "string",
"enum": [
"OR",
"AND"
]
},
"comparisons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"comparisonOperator": {
"type": "string",
"enum": [
"Equal to",
"Not equal",
"Contains",
"Does not contain",
"Greater than",
"Less than",
"Is set",
"Is empty",
"Starts with",
"Ends with",
"Matches regex",
"Does not match regex"
]
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
}
}
}
}
}
},
"required": [
"id"
]
}
},
"options": {
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isMultipleChoice": {
"type": "boolean"
},
"isSearchable": {
"type": "boolean"
},
"buttonLabel": {
"type": "string"
},
"searchInputPlaceholder": {
"type": "string"
},
"dynamicItems": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"titlesVariableId": {
"type": "string"
},
"descriptionsVariableId": {
"type": "string"
},
"pictureSrcsVariableId": {
"type": "string"
}
}
}
}
}
},
"required": [
"id",
"type",
"items"
],
"title": "Picture choice v5"
},
"settings": {
"type": "object",
"properties": {
"general": {
"type": "object",
"properties": {
"isBrandingEnabled": {
"type": "boolean"
},
"isTypingEmulationEnabled": {
"type": "boolean"
},
"isInputPrefillEnabled": {
"type": "boolean"
},
"isHideQueryParamsEnabled": {
"type": "boolean"
},
"isNewResultOnRefreshEnabled": {
"type": "boolean"
},
"rememberUser": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"storage": {
"type": "string",
"enum": [
"session",
"local"
]
}
}
}
}
},
"typingEmulation": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"speed": {
"type": "number"
},
"maxDelay": {
"type": "number"
},
"delayBetweenBubbles": {
"type": "number",
"minimum": 0,
"maximum": 5
},
"isDisabledOnFirstMessage": {
"type": "boolean"
}
}
},
"metadata": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"imageUrl": {
"type": "string"
},
"favIconUrl": {
"type": "string"
},
"customHeadCode": {
"type": "string"
},
"googleTagManagerId": {
"type": "string"
}
}
},
"whatsApp": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"startCondition": {
"type": "object",
"properties": {
"logicalOperator": {
"type": "string",
"enum": [
"OR",
"AND"
]
},
"comparisons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"comparisonOperator": {
"type": "string",
"enum": [
"Equal to",
"Not equal",
"Contains",
"Does not contain",
"Greater than",
"Less than",
"Is set",
"Is empty",
"Starts with",
"Ends with",
"Matches regex",
"Does not match regex"
]
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
}
},
"required": [
"logicalOperator",
"comparisons"
]
},
"sessionExpiryTimeout": {
"type": "number",
"minimum": 0.01,
"maximum": 48,
"description": "Expiration delay in hours after latest interaction"
}
}
},
"publicShare": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
}
}
},
"security": {
"type": "object",
"properties": {
"allowedOrigins": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"title": "Settings"
},
"theme": {
"type": "object",
"properties": {
"general": {
"type": "object",
"properties": {
"font": {
"anyOf": [
{
"type": "string"
},
{
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Google"
]
},
"family": {
"type": "string"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Custom"
]
},
"family": {
"type": "string"
},
"css": {
"type": "string"
},
"url": {
"type": "string",
"description": "Deprecated, use `css` instead"
}
},
"required": [
"type"
]
}
]
}
]
},
"background": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Color",
"Image",
"None"
]
},
"content": {
"type": "string"
}
}
},
"progressBar": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"color": {
"type": "string"
},
"backgroundColor": {
"type": "string"
},
"placement": {
"type": "string",
"enum": [
"Top",
"Bottom"
]
},
"thickness": {
"type": "number"
},
"position": {
"type": "string",
"enum": [
"fixed",
"absolute"
]
}
}
}
}
},
"chat": {
"type": "object",
"properties": {
"container": {
"type": "object",
"properties": {
"maxWidth": {
"type": "string"
},
"maxHeight": {
"type": "string"
},
"backgroundColor": {
"type": "string"
},
"color": {
"type": "string"
},
"blur": {
"type": "number"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"shadow": {
"type": "string",
"enum": [
"none",
"sm",
"md",
"lg",
"xl",
"2xl"
]
},
"border": {
"type": "object",
"properties": {
"thickness": {
"type": "number"
},
"color": {
"type": "string"
},
"roundeness": {
"type": "string",
"enum": [
"none",
"medium",
"large",
"custom"
]
},
"customRoundeness": {
"type": "number"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
}
},
"hostAvatar": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"url": {
"type": "string"
}
}
},
"guestAvatar": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"url": {
"type": "string"
}
}
},
"hostBubbles": {
"type": "object",
"properties": {
"backgroundColor": {
"type": "string"
},
"color": {
"type": "string"
},
"blur": {
"type": "number"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"shadow": {
"type": "string",
"enum": [
"none",
"sm",
"md",
"lg",
"xl",
"2xl"
]
},
"border": {
"type": "object",
"properties": {
"thickness": {
"type": "number"
},
"color": {
"type": "string"
},
"roundeness": {
"type": "string",
"enum": [
"none",
"medium",
"large",
"custom"
]
},
"customRoundeness": {
"type": "number"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
}
},
"guestBubbles": {
"type": "object",
"properties": {
"backgroundColor": {
"type": "string"
},
"color": {
"type": "string"
},
"blur": {
"type": "number"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"shadow": {
"type": "string",
"enum": [
"none",
"sm",
"md",
"lg",
"xl",
"2xl"
]
},
"border": {
"type": "object",
"properties": {
"thickness": {
"type": "number"
},
"color": {
"type": "string"
},
"roundeness": {
"type": "string",
"enum": [
"none",
"medium",
"large",
"custom"
]
},
"customRoundeness": {
"type": "number"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
}
},
"buttons": {
"type": "object",
"properties": {
"backgroundColor": {
"type": "string"
},
"color": {
"type": "string"
},
"blur": {
"type": "number"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"shadow": {
"type": "string",
"enum": [
"none",
"sm",
"md",
"lg",
"xl",
"2xl"
]
},
"border": {
"type": "object",
"properties": {
"thickness": {
"type": "number"
},
"color": {
"type": "string"
},
"roundeness": {
"type": "string",
"enum": [
"none",
"medium",
"large",
"custom"
]
},
"customRoundeness": {
"type": "number"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
}
},
"inputs": {
"type": "object",
"properties": {
"backgroundColor": {
"type": "string"
},
"color": {
"type": "string"
},
"blur": {
"type": "number"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"shadow": {
"type": "string",
"enum": [
"none",
"sm",
"md",
"lg",
"xl",
"2xl"
]
},
"border": {
"type": "object",
"properties": {
"thickness": {
"type": "number"
},
"color": {
"type": "string"
},
"roundeness": {
"type": "string",
"enum": [
"none",
"medium",
"large",
"custom"
]
},
"customRoundeness": {
"type": "number"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
},
"placeholderColor": {
"type": "string"
}
}
},
"roundness": {
"type": "string",
"enum": [
"none",
"medium",
"large"
],
"description": "Deprecated, use `container.border.roundeness` instead"
}
}
},
"customCss": {
"type": "string"
}
},
"title": "Theme"
},
"typebotV6": {
"type": "object",
"properties": {
"version": {
"type": "string",
"enum": [
"6"
]
},
"id": {
"type": "string"
},
"groups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/groupV6"
}
},
"events": {
"type": "array",
"maxItems": 1,
"minItems": 1,
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/event"
}
]
}
},
"edges": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"from": {
"anyOf": [
{
"type": "object",
"properties": {
"blockId": {
"type": "string"
},
"itemId": {
"type": "string"
}
},
"required": [
"blockId"
]
},
{
"type": "object",
"properties": {
"eventId": {
"type": "string"
}
},
"required": [
"eventId"
]
}
]
},
"to": {
"type": "object",
"properties": {
"groupId": {
"type": "string"
},
"blockId": {
"type": "string"
}
},
"required": [
"groupId"
]
}
},
"required": [
"id",
"from",
"to"
]
}
},
"variables": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"isSessionVariable": {
"type": "boolean"
},
"value": {
"nullable": true,
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string",
"nullable": true
}
}
]
}
},
"required": [
"id",
"name"
]
}
},
"settings": {
"$ref": "#/components/schemas/settings"
},
"theme": {
"$ref": "#/components/schemas/theme"
}
},
"required": [
"version",
"id",
"groups",
"events",
"edges",
"variables",
"settings",
"theme"
],
"title": "Typebot V6"
},
"groupV6": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"graphCoordinates": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
}
},
"required": [
"x",
"y"
]
},
"blocks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/block"
}
}
},
"required": [
"id",
"title",
"graphCoordinates",
"blocks"
],
"title": "Group V6"
},
"block": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"text"
]
},
"content": {
"type": "object",
"properties": {
"html": {
"type": "string"
},
"richText": {
"type": "array",
"items": {}
},
"plainText": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"image"
]
},
"content": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"clickLink": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"alt": {
"type": "string"
}
}
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"video"
]
},
"content": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"url",
"youtube",
"vimeo",
"tiktok",
"gumlet"
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"aspectRatio": {
"type": "string"
},
"maxWidth": {
"type": "string"
},
"queryParamsStr": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"embed"
]
},
"content": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"height": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"waitForEvent": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"name": {
"type": "string"
},
"saveDataInVariableId": {
"type": "string"
}
}
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"audio"
]
},
"content": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"isAutoplayEnabled": {
"type": "boolean"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"$ref": "#/components/schemas/textInput"
},
{
"$ref": "#/components/schemas/buttonsInput"
},
{
"$ref": "#/components/schemas/email"
},
{
"$ref": "#/components/schemas/numberInput"
},
{
"$ref": "#/components/schemas/url"
},
{
"$ref": "#/components/schemas/phoneNumberInput"
},
{
"$ref": "#/components/schemas/dateInput"
},
{
"$ref": "#/components/schemas/paymentInput"
},
{
"$ref": "#/components/schemas/rating"
},
{
"$ref": "#/components/schemas/fileInput"
},
{
"$ref": "#/components/schemas/pictureChoice"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Code"
]
},
"options": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"content": {
"type": "string"
},
"isExecutedOnClient": {
"type": "boolean"
},
"shouldExecuteInParentContext": {
"type": "boolean"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Condition"
]
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"content": {
"type": "object",
"properties": {
"logicalOperator": {
"type": "string",
"enum": [
"OR",
"AND"
]
},
"comparisons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"comparisonOperator": {
"type": "string",
"enum": [
"Equal to",
"Not equal",
"Contains",
"Does not contain",
"Greater than",
"Less than",
"Is set",
"Is empty",
"Starts with",
"Ends with",
"Matches regex",
"Does not match regex"
]
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
}
}
}
},
"required": [
"id"
]
}
}
},
"required": [
"id",
"type",
"items"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Redirect"
]
},
"options": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"isNewTab": {
"type": "boolean"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Set variable"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isExecutedOnClient": {
"type": "boolean"
},
"expressionToEvaluate": {
"type": "string"
},
"isCode": {
"type": "boolean"
}
}
},
{
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isExecutedOnClient": {
"type": "boolean"
},
"type": {
"type": "string",
"enum": [
"Now",
"Yesterday",
"Tomorrow"
]
},
"timeZone": {
"type": "string"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isExecutedOnClient": {
"type": "boolean"
},
"type": {
"type": "string",
"enum": [
"Today",
"Moment of the day",
"Empty",
"Environment name",
"User ID",
"Result ID",
"Random ID",
"Phone number",
"Contact name",
"Transcript"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isExecutedOnClient": {
"type": "boolean"
},
"type": {
"type": "string",
"enum": [
"Custom"
]
},
"expressionToEvaluate": {
"type": "string"
},
"isCode": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isExecutedOnClient": {
"type": "boolean"
},
"type": {
"type": "string",
"enum": [
"Map item with same index"
]
},
"mapListItemParams": {
"type": "object",
"properties": {
"baseItemVariableId": {
"type": "string"
},
"baseListVariableId": {
"type": "string"
},
"targetListVariableId": {
"type": "string"
}
}
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isExecutedOnClient": {
"type": "boolean"
},
"type": {
"type": "string",
"enum": [
"Append value(s)"
]
},
"item": {
"type": "string"
}
},
"required": [
"type"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Typebot link"
]
},
"options": {
"type": "object",
"properties": {
"typebotId": {
"type": "string"
},
"groupId": {
"type": "string"
},
"mergeResults": {
"type": "boolean"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Wait"
]
},
"options": {
"type": "object",
"properties": {
"secondsToWaitFor": {
"type": "string"
},
"shouldPause": {
"type": "boolean"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Jump"
]
},
"options": {
"type": "object",
"properties": {
"groupId": {
"type": "string"
},
"blockId": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"AB test"
]
},
"items": {
"type": "array",
"maxItems": 2,
"minItems": 2,
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"path": {
"type": "string",
"enum": [
"a"
]
}
},
"required": [
"id",
"path"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"path": {
"type": "string",
"enum": [
"b"
]
}
},
"required": [
"id",
"path"
]
}
]
}
},
"options": {
"type": "object",
"properties": {
"aPercent": {
"type": "number",
"minimum": 0,
"maximum": 100
}
}
}
},
"required": [
"id",
"type",
"items"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Chatwoot"
]
},
"options": {
"type": "object",
"properties": {
"task": {
"type": "string",
"enum": [
"Show widget",
"Close widget"
]
},
"baseUrl": {
"type": "string"
},
"websiteToken": {
"type": "string"
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"email": {
"type": "string"
},
"name": {
"type": "string"
},
"avatarUrl": {
"type": "string"
},
"phoneNumber": {
"type": "string"
}
}
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Google Analytics"
]
},
"options": {
"type": "object",
"properties": {
"trackingId": {
"type": "string"
},
"category": {
"type": "string"
},
"action": {
"type": "string"
},
"label": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"sendTo": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Google Sheets"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"sheetId": {
"type": "string"
},
"spreadsheetId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Get data from sheet"
]
},
"filter": {
"type": "object",
"properties": {
"comparisons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"column": {
"type": "string"
},
"comparisonOperator": {
"type": "string",
"enum": [
"Equal to",
"Not equal",
"Contains",
"Does not contain",
"Greater than",
"Less than",
"Is set",
"Is empty",
"Starts with",
"Ends with",
"Matches regex",
"Does not match regex"
]
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"logicalOperator": {
"type": "string",
"enum": [
"OR",
"AND"
]
}
}
},
"cellsToExtract": {
"type": "array",
"items": {
"type": "object",
"properties": {
"column": {
"type": "string"
},
"id": {
"type": "string"
},
"variableId": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"totalRowsToExtract": {
"type": "string",
"enum": [
"All",
"First",
"Last",
"Random"
]
}
},
"required": [
"action"
]
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"sheetId": {
"type": "string"
},
"spreadsheetId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Insert a row"
]
},
"cellsToInsert": {
"type": "array",
"items": {
"type": "object",
"properties": {
"column": {
"type": "string"
},
"value": {
"type": "string"
},
"id": {
"type": "string"
}
},
"required": [
"id"
]
}
}
},
"required": [
"action"
]
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"sheetId": {
"type": "string"
},
"spreadsheetId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Update a row"
]
},
"cellsToUpsert": {
"type": "array",
"items": {
"type": "object",
"properties": {
"column": {
"type": "string"
},
"value": {
"type": "string"
},
"id": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"filter": {
"type": "object",
"properties": {
"comparisons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"column": {
"type": "string"
},
"comparisonOperator": {
"type": "string",
"enum": [
"Equal to",
"Not equal",
"Contains",
"Does not contain",
"Greater than",
"Less than",
"Is set",
"Is empty",
"Starts with",
"Ends with",
"Matches regex",
"Does not match regex"
]
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"logicalOperator": {
"type": "string",
"enum": [
"OR",
"AND"
]
}
}
}
},
"required": [
"action"
]
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"sheetId": {
"type": "string"
},
"spreadsheetId": {
"type": "string"
}
}
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Make.com"
]
},
"options": {
"type": "object",
"properties": {
"variablesForTest": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"responseVariableMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"bodyPath": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"isAdvancedConfig": {
"type": "boolean"
},
"isCustomBody": {
"type": "boolean"
},
"isExecutedOnClient": {
"type": "boolean"
},
"webhook": {
"type": "object",
"properties": {
"queryParams": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"method": {
"type": "string",
"enum": [
"POST",
"GET",
"PUT",
"DELETE",
"PATCH",
"HEAD",
"CONNECT",
"OPTIONS",
"TRACE"
]
},
"url": {
"type": "string"
},
"body": {
"type": "string"
}
}
},
"timeout": {
"type": "number",
"minimum": 1,
"maximum": 120
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"OpenAI"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"baseUrl": {
"type": "string"
},
"apiVersion": {
"type": "string"
}
}
},
{
"type": "object",
"properties": {
"task": {
"type": "string",
"enum": [
"Create chat completion"
]
},
"model": {
"type": "string"
},
"messages": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"system",
"user",
"assistant"
]
},
"content": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"Messages sequence ✨"
]
},
"content": {
"type": "object",
"properties": {
"assistantMessagesVariableId": {
"type": "string"
},
"userMessagesVariableId": {
"type": "string"
}
}
}
},
"required": [
"id",
"role"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"Dialogue"
]
},
"dialogueVariableId": {
"type": "string"
},
"startsBy": {
"type": "string",
"enum": [
"user",
"assistant"
]
}
},
"required": [
"id",
"role"
]
}
]
}
},
"advancedSettings": {
"type": "object",
"properties": {
"temperature": {
"anyOf": [
{
"type": "number"
},
{}
]
}
}
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"valueToExtract": {
"type": "string",
"enum": [
"Message content",
"Total tokens"
]
},
"variableId": {
"type": "string"
}
},
"required": [
"id",
"valueToExtract"
]
}
},
"credentialsId": {
"type": "string"
},
"baseUrl": {
"type": "string"
},
"apiVersion": {
"type": "string"
}
},
"required": [
"task"
]
},
{
"type": "object",
"properties": {
"task": {
"type": "string",
"enum": [
"Create image"
]
},
"prompt": {
"type": "string"
},
"advancedOptions": {
"type": "object",
"properties": {
"size": {
"type": "string",
"enum": [
"256x256",
"512x512",
"1024x1024"
]
}
}
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"valueToExtract": {
"type": "string",
"enum": [
"Image URL"
]
},
"variableId": {
"type": "string"
}
},
"required": [
"id",
"valueToExtract"
]
}
},
"credentialsId": {
"type": "string"
},
"baseUrl": {
"type": "string"
},
"apiVersion": {
"type": "string"
}
},
"required": [
"task",
"advancedOptions",
"responseMapping"
]
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"baseUrl": {
"type": "string"
},
"apiVersion": {
"type": "string"
},
"task": {
"type": "string",
"enum": [
"Create speech"
]
},
"model": {
"type": "string"
},
"input": {
"type": "string"
},
"voice": {
"type": "string",
"enum": [
"alloy",
"echo",
"fable",
"onyx",
"nova",
"shimmer"
]
},
"saveUrlInVariableId": {
"type": "string"
}
},
"required": [
"task"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Pabbly"
]
},
"options": {
"type": "object",
"properties": {
"variablesForTest": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"responseVariableMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"bodyPath": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"isAdvancedConfig": {
"type": "boolean"
},
"isCustomBody": {
"type": "boolean"
},
"isExecutedOnClient": {
"type": "boolean"
},
"webhook": {
"type": "object",
"properties": {
"queryParams": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"method": {
"type": "string",
"enum": [
"POST",
"GET",
"PUT",
"DELETE",
"PATCH",
"HEAD",
"CONNECT",
"OPTIONS",
"TRACE"
]
},
"url": {
"type": "string"
},
"body": {
"type": "string"
}
}
},
"timeout": {
"type": "number",
"minimum": 1,
"maximum": 120
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Email"
]
},
"options": {
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"isCustomBody": {
"type": "boolean"
},
"isBodyCode": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"type": "string"
}
},
"subject": {
"type": "string"
},
"body": {
"type": "string"
},
"replyTo": {
"type": "string"
},
"cc": {
"type": "array",
"items": {
"type": "string"
}
},
"bcc": {
"type": "array",
"items": {
"type": "string"
}
},
"attachmentsVariableId": {
"type": "string"
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Webhook"
],
"description": "Legacy name for HTTP Request block"
},
"options": {
"type": "object",
"properties": {
"variablesForTest": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"responseVariableMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"bodyPath": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"isAdvancedConfig": {
"type": "boolean"
},
"isCustomBody": {
"type": "boolean"
},
"isExecutedOnClient": {
"type": "boolean"
},
"webhook": {
"type": "object",
"properties": {
"queryParams": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"method": {
"type": "string",
"enum": [
"POST",
"GET",
"PUT",
"DELETE",
"PATCH",
"HEAD",
"CONNECT",
"OPTIONS",
"TRACE"
]
},
"url": {
"type": "string"
},
"body": {
"type": "string"
}
}
},
"timeout": {
"type": "number",
"minimum": 1,
"maximum": 120
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Zapier"
]
},
"options": {
"type": "object",
"properties": {
"variablesForTest": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"responseVariableMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"bodyPath": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"isAdvancedConfig": {
"type": "boolean"
},
"isCustomBody": {
"type": "boolean"
},
"isExecutedOnClient": {
"type": "boolean"
},
"webhook": {
"type": "object",
"properties": {
"queryParams": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"method": {
"type": "string",
"enum": [
"POST",
"GET",
"PUT",
"DELETE",
"PATCH",
"HEAD",
"CONNECT",
"OPTIONS",
"TRACE"
]
},
"url": {
"type": "string"
},
"body": {
"type": "string"
}
}
},
"timeout": {
"type": "number",
"minimum": 1,
"maximum": 120
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Pixel"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"pixelId": {
"type": "string"
},
"isInitSkip": {
"type": "boolean"
},
"params": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {}
},
"required": [
"id"
]
}
}
}
},
{
"type": "object",
"properties": {
"pixelId": {
"type": "string"
},
"isInitSkip": {
"type": "boolean"
},
"params": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {}
},
"required": [
"id"
]
}
},
"eventType": {
"type": "string",
"enum": [
"Lead",
"Contact",
"CompleteRegistration",
"Schedule",
"SubmitApplication",
"ViewContent",
"AddPaymentInfo",
"AddToCart",
"AddToWishlist",
"CustomizeProduct",
"Donate",
"FindLocation",
"InitiateCheckout",
"Purchase",
"Search",
"StartTrial",
"Subscribe"
]
}
},
"required": [
"eventType"
]
},
{
"type": "object",
"properties": {
"pixelId": {
"type": "string"
},
"isInitSkip": {
"type": "boolean"
},
"params": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {}
},
"required": [
"id"
]
}
},
"eventType": {
"type": "string",
"enum": [
"Custom"
]
},
"name": {
"type": "string"
}
},
"required": [
"eventType"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"Zemantic AI"
]
},
"blockId": {
"type": "string"
},
"options": {
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"projectId": {
"type": "string"
},
"systemPrompt": {
"type": "string"
},
"prompt": {
"type": "string"
},
"query": {
"type": "string"
},
"maxResults": {
"type": "integer"
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"valueToExtract": {
"type": "string",
"enum": [
"Summary",
"Results"
]
},
"variableId": {
"type": "string"
}
},
"required": [
"id",
"valueToExtract"
]
}
}
}
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"openai"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"baseUrl": {
"type": "string"
},
"apiVersion": {
"type": "string"
},
"credentialsId": {
"type": "string"
}
},
"description": "Deprecated, use other dedicated OpenAI compatible blocks instead"
},
{
"type": "object",
"properties": {
"baseUrl": {
"type": "string"
},
"apiVersion": {
"type": "string"
},
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Create chat completion"
]
},
"model": {
"type": "string"
},
"messages": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {}
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"system"
]
},
"content": {
"type": "string"
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"user"
]
},
"content": {
"type": "string"
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"assistant"
]
},
"content": {
"type": "string"
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"Dialogue"
]
},
"dialogueVariableId": {
"type": "string"
},
"startsBy": {
"type": "string",
"enum": [
"user",
"assistant"
]
}
},
"required": [
"role"
]
}
]
}
},
"tools": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {}
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"function"
]
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"parameters": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {}
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"string"
]
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"number"
]
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"boolean"
]
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"enum"
]
},
"values": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"type"
]
}
]
}
},
"code": {
"type": "string"
}
},
"required": [
"type"
]
}
]
}
},
"temperature": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string",
"enum": [
"Message content",
"Total tokens"
]
},
"variableId": {
"type": "string"
}
}
}
}
},
"required": [
"action"
]
},
{
"type": "object",
"properties": {
"baseUrl": {
"type": "string"
},
"apiVersion": {
"type": "string"
},
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Ask Assistant"
]
},
"assistantId": {
"type": "string"
},
"threadVariableId": {
"type": "string"
},
"message": {
"type": "string"
},
"functions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"code": {
"type": "string"
}
}
}
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string",
"enum": [
"Message",
"Thread ID"
]
},
"variableId": {
"type": "string"
}
}
}
},
"threadId": {
"type": "string"
}
},
"required": [
"action"
]
},
{
"type": "object",
"properties": {
"baseUrl": {
"type": "string"
},
"apiVersion": {
"type": "string"
},
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Generate variables"
]
},
"model": {
"type": "string"
},
"prompt": {
"type": "string"
},
"variablesToExtract": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {}
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"string"
]
},
"variableId": {
"type": "string"
},
"description": {
"type": "string"
},
"isRequired": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"number"
]
},
"variableId": {
"type": "string"
},
"description": {
"type": "string"
},
"isRequired": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"boolean"
]
},
"variableId": {
"type": "string"
},
"description": {
"type": "string"
},
"isRequired": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"enum"
]
},
"values": {
"type": "array",
"items": {
"type": "string"
}
},
"variableId": {
"type": "string"
},
"description": {
"type": "string"
},
"isRequired": {
"type": "boolean"
}
},
"required": [
"type"
]
}
]
}
}
},
"required": [
"action"
]
},
{
"type": "object",
"properties": {
"baseUrl": {
"type": "string"
},
"apiVersion": {
"type": "string"
},
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Create speech"
]
},
"model": {
"type": "string"
},
"input": {
"type": "string"
},
"voice": {
"type": "string",
"enum": [
"alloy",
"echo",
"fable",
"onyx",
"nova",
"shimmer"
]
},
"saveUrlInVariableId": {
"type": "string"
}
},
"required": [
"action"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"zemantic-ai"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"projectId": {
"type": "string"
},
"credentialsId": {
"type": "string"
}
}
},
{
"type": "object",
"properties": {
"projectId": {
"type": "string"
},
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Search documents"
]
},
"query": {
"type": "string"
},
"maxResults": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"systemPrompt": {
"type": "string"
},
"prompt": {
"type": "string"
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string",
"enum": [
"Summary",
"Document IDs",
"Texts",
"Scores"
]
},
"variableId": {
"type": "string"
}
}
}
}
},
"required": [
"action"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"cal-com"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"baseUrl": {
"type": "string"
},
"credentialsId": {
"type": "string"
}
}
},
{
"type": "object",
"properties": {
"baseUrl": {
"type": "string"
},
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Book event"
]
},
"link": {
"type": "string"
},
"layout": {
"type": "string",
"enum": [
"Month",
"Weekly",
"Columns"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"additionalNotes": {
"type": "string"
},
"phone": {
"type": "string"
},
"saveBookedDateInVariableId": {
"type": "string"
}
},
"required": [
"action"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"chat-node"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
}
}
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Send Message"
]
},
"botId": {
"type": "string"
},
"threadId": {
"type": "string"
},
"message": {
"type": "string"
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string",
"enum": [
"Message",
"Thread ID"
]
},
"variableId": {
"type": "string"
}
}
}
}
},
"required": [
"action"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"qr-code"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
}
}
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Generate a QR Code"
]
},
"data": {
"type": "string"
},
"saveUrlInVariableId": {
"type": "string"
}
},
"required": [
"action"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"dify-ai"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
}
}
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Create Chat Message"
]
},
"query": {
"type": "string"
},
"conversationVariableId": {
"type": "string"
},
"user": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string",
"enum": [
"Answer",
"Conversation ID",
"Total Tokens"
]
},
"variableId": {
"type": "string"
}
}
}
},
"conversation_id": {
"type": "string",
"description": "Deprecated, use `conversationVariableId` instead"
}
},
"required": [
"action"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"mistral"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
}
}
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Create chat completion"
]
},
"model": {
"type": "string"
},
"messages": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {}
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"system"
]
},
"content": {
"type": "string"
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"user"
]
},
"content": {
"type": "string"
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"assistant"
]
},
"content": {
"type": "string"
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"Dialogue"
]
},
"dialogueVariableId": {
"type": "string"
},
"startsBy": {
"type": "string",
"enum": [
"user",
"assistant"
]
}
},
"required": [
"role"
]
}
]
}
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string",
"enum": [
"Message content"
]
},
"variableId": {
"type": "string"
}
}
}
}
},
"required": [
"action"
]
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Generate variables"
]
},
"model": {
"type": "string"
},
"prompt": {
"type": "string"
},
"variablesToExtract": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {}
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"string"
]
},
"variableId": {
"type": "string"
},
"description": {
"type": "string"
},
"isRequired": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"number"
]
},
"variableId": {
"type": "string"
},
"description": {
"type": "string"
},
"isRequired": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"boolean"
]
},
"variableId": {
"type": "string"
},
"description": {
"type": "string"
},
"isRequired": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"enum"
]
},
"values": {
"type": "array",
"items": {
"type": "string"
}
},
"variableId": {
"type": "string"
},
"description": {
"type": "string"
},
"isRequired": {
"type": "boolean"
}
},
"required": [
"type"
]
}
]
}
}
},
"required": [
"action"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"elevenlabs"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
}
}
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Convert text to speech"
]
},
"text": {
"type": "string"
},
"voiceId": {
"type": "string"
},
"modelId": {
"type": "string"
},
"saveUrlInVariableId": {
"type": "string"
}
},
"required": [
"action"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"anthropic"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
}
}
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Create Chat Message"
]
},
"model": {
"type": "string",
"enum": [
"claude-3-opus-20240229",
"claude-3-sonnet-20240229",
"claude-3-haiku-20240307",
"claude-2.1",
"claude-2.0",
"claude-instant-1.2"
]
},
"messages": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {}
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"user"
]
},
"content": {
"type": "string"
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"assistant"
]
},
"content": {
"type": "string"
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"Dialogue"
]
},
"dialogueVariableId": {
"type": "string"
},
"startsBy": {
"type": "string",
"enum": [
"user",
"assistant"
]
}
},
"required": [
"role"
]
}
]
}
},
"systemMessage": {
"type": "string"
},
"temperature": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"maxTokens": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string",
"enum": [
"Message Content"
]
},
"variableId": {
"type": "string"
}
}
}
}
},
"required": [
"action"
]
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Generate variables"
]
},
"model": {
"type": "string",
"enum": [
"claude-3-opus-20240229",
"claude-3-sonnet-20240229",
"claude-3-haiku-20240307",
"claude-2.1",
"claude-2.0",
"claude-instant-1.2"
]
},
"prompt": {
"type": "string"
},
"variablesToExtract": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {}
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"string"
]
},
"variableId": {
"type": "string"
},
"description": {
"type": "string"
},
"isRequired": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"number"
]
},
"variableId": {
"type": "string"
},
"description": {
"type": "string"
},
"isRequired": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"boolean"
]
},
"variableId": {
"type": "string"
},
"description": {
"type": "string"
},
"isRequired": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"enum"
]
},
"values": {
"type": "array",
"items": {
"type": "string"
}
},
"variableId": {
"type": "string"
},
"description": {
"type": "string"
},
"isRequired": {
"type": "boolean"
}
},
"required": [
"type"
]
}
]
}
}
},
"required": [
"action"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"together-ai"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
}
}
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Create chat completion"
]
},
"model": {
"type": "string"
},
"messages": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {}
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"system"
]
},
"content": {
"type": "string"
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"user"
]
},
"content": {
"type": "string"
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"assistant"
]
},
"content": {
"type": "string"
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"Dialogue"
]
},
"dialogueVariableId": {
"type": "string"
},
"startsBy": {
"type": "string",
"enum": [
"user",
"assistant"
]
}
},
"required": [
"role"
]
}
]
}
},
"tools": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {}
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"function"
]
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"parameters": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {}
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"string"
]
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"number"
]
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"boolean"
]
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"enum"
]
},
"values": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"type"
]
}
]
}
},
"code": {
"type": "string"
}
},
"required": [
"type"
]
}
]
}
},
"temperature": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string",
"enum": [
"Message content",
"Total tokens"
]
},
"variableId": {
"type": "string"
}
}
}
}
},
"required": [
"action"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"open-router"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
}
}
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Create chat completion"
]
},
"model": {
"type": "string"
},
"messages": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {}
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"system"
]
},
"content": {
"type": "string"
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"user"
]
},
"content": {
"type": "string"
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"assistant"
]
},
"content": {
"type": "string"
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"Dialogue"
]
},
"dialogueVariableId": {
"type": "string"
},
"startsBy": {
"type": "string",
"enum": [
"user",
"assistant"
]
}
},
"required": [
"role"
]
}
]
}
},
"tools": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {}
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"function"
]
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"parameters": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {}
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"string"
]
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"number"
]
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"boolean"
]
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"enum"
]
},
"values": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"type"
]
}
]
}
},
"code": {
"type": "string"
}
},
"required": [
"type"
]
}
]
}
},
"temperature": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string",
"enum": [
"Message content",
"Total tokens"
]
},
"variableId": {
"type": "string"
}
}
}
}
},
"required": [
"action"
]
}
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"nocodb"
]
},
"options": {
"oneOf": [
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
}
}
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Search Records"
]
},
"tableId": {
"type": "string"
},
"viewId": {
"type": "string"
},
"returnType": {
"type": "string",
"enum": [
"All",
"First",
"Last",
"Random"
]
},
"filter": {
"type": "object",
"properties": {
"comparisons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"input": {
"type": "string"
},
"operator": {
"type": "string",
"enum": [
"Equal to",
"Not equal",
"Contains",
"Greater than",
"Less than",
"Is set",
"Is empty",
"Starts with",
"Ends with"
]
},
"value": {
"type": "string"
}
}
}
},
"joiner": {
"type": "string",
"enum": [
"AND",
"OR"
]
}
},
"required": [
"comparisons"
]
},
"responseMapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fieldName": {
"type": "string"
},
"variableId": {
"type": "string"
}
}
}
}
},
"required": [
"action"
]
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Create Record"
]
},
"tableId": {
"type": "string"
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"action"
]
},
{
"type": "object",
"properties": {
"credentialsId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"Update Existing Record"
]
},
"tableId": {
"type": "string"
},
"viewId": {
"type": "string"
},
"filter": {
"type": "object",
"properties": {
"comparisons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"input": {
"type": "string"
},
"operator": {
"type": "string",
"enum": [
"Equal to",
"Not equal",
"Contains",
"Greater than",
"Less than",
"Is set",
"Is empty",
"Starts with",
"Ends with"
]
},
"value": {
"type": "string"
}
}
}
},
"joiner": {
"type": "string",
"enum": [
"AND",
"OR"
]
}
},
"required": [
"comparisons"
]
},
"updates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fieldName": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"action"
]
}
]
}
},
"required": [
"id",
"type"
]
}
],
"title": "Block"
},
"buttonsInput": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"choice input"
]
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"content": {
"type": "string"
},
"displayCondition": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"condition": {
"type": "object",
"properties": {
"logicalOperator": {
"type": "string",
"enum": [
"OR",
"AND"
]
},
"comparisons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"comparisonOperator": {
"type": "string",
"enum": [
"Equal to",
"Not equal",
"Contains",
"Does not contain",
"Greater than",
"Less than",
"Is set",
"Is empty",
"Starts with",
"Ends with",
"Matches regex",
"Does not match regex"
]
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
}
}
}
}
}
},
"required": [
"id"
]
}
},
"options": {
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isMultipleChoice": {
"type": "boolean"
},
"buttonLabel": {
"type": "string"
},
"dynamicVariableId": {
"type": "string"
},
"isSearchable": {
"type": "boolean"
},
"searchInputPlaceholder": {
"type": "string"
}
}
}
},
"required": [
"id",
"type",
"items"
],
"title": "Buttons"
},
"fileInput": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"file input"
]
},
"options": {
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isRequired": {
"type": "boolean"
},
"isMultipleAllowed": {
"type": "boolean"
},
"labels": {
"type": "object",
"properties": {
"placeholder": {
"type": "string"
},
"button": {
"type": "string"
},
"clear": {
"type": "string"
},
"skip": {
"type": "string"
},
"success": {
"type": "object",
"properties": {
"single": {
"type": "string"
},
"multiple": {
"type": "string"
}
}
}
}
},
"visibility": {
"type": "string",
"enum": [
"Auto",
"Public",
"Private"
]
}
}
}
},
"required": [
"id",
"type"
],
"title": "File"
},
"pictureChoice": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"picture choice input"
]
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"pictureSrc": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"displayCondition": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"condition": {
"type": "object",
"properties": {
"logicalOperator": {
"type": "string",
"enum": [
"OR",
"AND"
]
},
"comparisons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"variableId": {
"type": "string"
},
"comparisonOperator": {
"type": "string",
"enum": [
"Equal to",
"Not equal",
"Contains",
"Does not contain",
"Greater than",
"Less than",
"Is set",
"Is empty",
"Starts with",
"Ends with",
"Matches regex",
"Does not match regex"
]
},
"value": {
"type": "string"
}
},
"required": [
"id"
]
}
}
}
}
}
}
},
"required": [
"id"
]
}
},
"options": {
"type": "object",
"properties": {
"variableId": {
"type": "string"
},
"isMultipleChoice": {
"type": "boolean"
},
"isSearchable": {
"type": "boolean"
},
"buttonLabel": {
"type": "string"
},
"searchInputPlaceholder": {
"type": "string"
},
"dynamicItems": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"titlesVariableId": {
"type": "string"
},
"descriptionsVariableId": {
"type": "string"
},
"pictureSrcsVariableId": {
"type": "string"
}
}
}
}
}
},
"required": [
"id",
"type",
"items"
],
"title": "Picture choice"
},
"event": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"outgoingEdgeId": {
"type": "string"
},
"graphCoordinates": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
}
},
"required": [
"x",
"y"
]
},
"type": {
"type": "string",
"enum": [
"start"
]
}
},
"required": [
"id",
"graphCoordinates",
"type"
],
"description": "Event"
},
"textMessage": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"content": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"richText"
]
},
"richText": {}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"markdown"
]
},
"markdown": {
"type": "string"
}
},
"required": [
"type",
"markdown"
]
}
]
}
},
"required": [
"type",
"content"
],
"title": "Text"
},
"imageMessage": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"image"
]
},
"content": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"clickLink": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"alt": {
"type": "string"
}
}
}
}
}
},
"required": [
"type",
"content"
],
"title": "Image"
},
"videoMessage": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"video"
]
},
"content": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"url",
"youtube",
"vimeo",
"tiktok",
"gumlet"
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"aspectRatio": {
"type": "string"
},
"maxWidth": {
"type": "string"
},
"queryParamsStr": {
"type": "string"
}
}
}
},
"required": [
"type",
"content"
],
"title": "Video"
},
"audioMessage": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"audio"
]
},
"content": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"isAutoplayEnabled": {
"type": "boolean"
}
}
}
},
"required": [
"type",
"content"
],
"title": "Audio"
},
"embedMessage": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"embed"
]
},
"content": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"waitForEvent": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"name": {
"type": "string"
},
"saveDataInVariableId": {
"type": "string"
}
}
},
"height": {
"type": "number"
}
}
}
},
"required": [
"type",
"content"
],
"title": "Embed"
},
"customEmbedMessage": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"custom-embed"
]
},
"content": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"waitForEventFunction": {
"type": "object",
"properties": {
"args": {
"type": "object",
"additionalProperties": {}
},
"content": {
"type": "string"
}
},
"required": [
"args",
"content"
]
},
"initFunction": {
"type": "object",
"properties": {
"args": {
"type": "object",
"additionalProperties": {}
},
"content": {
"type": "string"
}
},
"required": [
"args",
"content"
]
}
},
"required": [
"initFunction"
]
}
},
"required": [
"type",
"content"
],
"title": "Custom embed"
},
"csaScriptToExecute": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"scriptToExecute"
]
},
"scriptToExecute": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"isCode": {
"type": "boolean"
},
"args": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"value": {
"nullable": true,
"anyOf": [
{
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
{
"type": "boolean"
}
]
},
{
"type": "array",
"items": {
"type": "string",
"nullable": true
}
}
]
}
},
"required": [
"id"
]
}
}
},
"required": [
"content",
"args"
]
},
"lastBubbleBlockId": {
"type": "string"
},
"expectsDedicatedReply": {
"type": "boolean"
}
},
"required": [
"type",
"scriptToExecute"
],
"title": "Script to execute"
},
"csaRedirect": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"redirect"
]
},
"redirect": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"isNewTab": {
"type": "boolean"
}
}
},
"lastBubbleBlockId": {
"type": "string"
},
"expectsDedicatedReply": {
"type": "boolean"
}
},
"required": [
"type",
"redirect"
],
"title": "Redirect"
},
"csaChatwoot": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"chatwoot"
]
},
"chatwoot": {
"type": "object",
"properties": {
"scriptToExecute": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"isCode": {
"type": "boolean"
},
"args": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"value": {
"nullable": true,
"anyOf": [
{
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
{
"type": "boolean"
}
]
},
{
"type": "array",
"items": {
"type": "string",
"nullable": true
}
}
]
}
},
"required": [
"id"
]
}
}
},
"required": [
"content",
"args"
]
}
},
"required": [
"scriptToExecute"
]
},
"lastBubbleBlockId": {
"type": "string"
},
"expectsDedicatedReply": {
"type": "boolean"
}
},
"required": [
"type",
"chatwoot"
],
"title": "Chatwoot"
},
"csaGa": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"googleAnalytics"
]
},
"googleAnalytics": {
"type": "object",
"properties": {
"trackingId": {
"type": "string"
},
"category": {
"type": "string"
},
"action": {
"type": "string"
},
"label": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "number"
},
{}
]
},
"sendTo": {
"type": "string"
}
}
},
"lastBubbleBlockId": {
"type": "string"
},
"expectsDedicatedReply": {
"type": "boolean"
}
},
"required": [
"type",
"googleAnalytics"
],
"title": "Google Analytics"
},
"csaWait": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"wait"
]
},
"wait": {
"type": "object",
"properties": {
"secondsToWaitFor": {
"type": "number"
}
},
"required": [
"secondsToWaitFor"
]
},
"lastBubbleBlockId": {
"type": "string"
},
"expectsDedicatedReply": {
"type": "boolean"
}
},
"required": [
"type",
"wait"
],
"title": "Wait"
},
"csaSetVariable": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"setVariable"
]
},
"setVariable": {
"type": "object",
"properties": {
"scriptToExecute": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"isCode": {
"type": "boolean"
},
"args": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"value": {
"nullable": true,
"anyOf": [
{
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
{
"type": "boolean"
}
]
},
{
"type": "array",
"items": {
"type": "string",
"nullable": true
}
}
]
}
},
"required": [
"id"
]
}
}
},
"required": [
"content",
"args"
]
}
},
"required": [
"scriptToExecute"
]
},
"lastBubbleBlockId": {
"type": "string"
},
"expectsDedicatedReply": {
"type": "boolean"
}
},
"required": [
"type",
"setVariable"
],
"title": "Set variable"
},
"csaStreamOpenAiChatCompletion": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"streamOpenAiChatCompletion"
]
},
"streamOpenAiChatCompletion": {
"type": "object",
"properties": {
"messages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"system",
"user",
"assistant"
]
}
}
}
}
},
"required": [
"messages"
]
},
"lastBubbleBlockId": {
"type": "string"
},
"expectsDedicatedReply": {
"type": "boolean"
}
},
"required": [
"type",
"streamOpenAiChatCompletion"
],
"title": "Stream OpenAI"
},
"csaExecWebhook": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"webhookToExecute"
]
},
"webhookToExecute": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"body": {},
"method": {
"type": "string",
"enum": [
"POST",
"GET",
"PUT",
"DELETE",
"PATCH",
"HEAD",
"CONNECT",
"OPTIONS",
"TRACE"
]
}
},
"required": [
"url"
]
},
"lastBubbleBlockId": {
"type": "string"
},
"expectsDedicatedReply": {
"type": "boolean"
}
},
"required": [
"type",
"webhookToExecute"
],
"title": "Execute webhook"
},
"csaInjectStartProps": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"startPropsToInject"
]
},
"startPropsToInject": {
"type": "object",
"properties": {
"googleAnalyticsId": {
"type": "string"
},
"pixelIds": {
"type": "array",
"items": {
"type": "string"
}
},
"gtmId": {
"type": "string"
},
"customHeadCode": {
"type": "string"
}
}
},
"lastBubbleBlockId": {
"type": "string"
},
"expectsDedicatedReply": {
"type": "boolean"
}
},
"required": [
"type",
"startPropsToInject"
],
"title": "Inject start props"
},
"csaPixel": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"pixel"
]
},
"pixel": {
"oneOf": [
{
"type": "object",
"properties": {
"pixelId": {
"type": "string"
},
"isInitSkip": {
"type": "boolean"
},
"params": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {}
},
"required": [
"id"
]
}
}
}
},
{
"type": "object",
"properties": {
"pixelId": {
"type": "string"
},
"isInitSkip": {
"type": "boolean"
},
"params": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {}
},
"required": [
"id"
]
}
},
"eventType": {
"type": "string",
"enum": [
"Lead",
"Contact",
"CompleteRegistration",
"Schedule",
"SubmitApplication",
"ViewContent",
"AddPaymentInfo",
"AddToCart",
"AddToWishlist",
"CustomizeProduct",
"Donate",
"FindLocation",
"InitiateCheckout",
"Purchase",
"Search",
"StartTrial",
"Subscribe"
]
}
},
"required": [
"eventType"
]
},
{
"type": "object",
"properties": {
"pixelId": {
"type": "string"
},
"isInitSkip": {
"type": "boolean"
},
"params": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {}
},
"required": [
"id"
]
}
},
"eventType": {
"type": "string",
"enum": [
"Custom"
]
},
"name": {
"type": "string"
}
},
"required": [
"eventType"
]
}
]
},
"lastBubbleBlockId": {
"type": "string"
},
"expectsDedicatedReply": {
"type": "boolean"
}
},
"required": [
"type",
"pixel"
],
"title": "Init Pixel"
},
"csaStream": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"stream"
]
},
"stream": {
"type": "boolean",
"enum": [
true
]
},
"lastBubbleBlockId": {
"type": "string"
},
"expectsDedicatedReply": {
"type": "boolean"
}
},
"required": [
"type",
"stream"
],
"title": "Exec stream"
},
"csaCodeToExecute": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"codeToExecute"
]
},
"codeToExecute": {
"type": "object",
"properties": {
"args": {
"type": "object",
"additionalProperties": {}
},
"content": {
"type": "string"
}
},
"required": [
"args",
"content"
]
},
"lastBubbleBlockId": {
"type": "string"
},
"expectsDedicatedReply": {
"type": "boolean"
}
},
"required": [
"type",
"codeToExecute"
],
"title": "Execute code"
},
"error.BAD_REQUEST": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The error message",
"example": "Invalid input data"
},
"code": {
"type": "string",
"description": "The error code",
"example": "BAD_REQUEST"
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
},
"required": [
"message"
]
},
"description": "An array of issues that were responsible for the error",
"example": []
}
},
"required": [
"message",
"code"
],
"title": "Error",
"description": "The error information",
"example": {
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}
},
"error.INTERNAL_SERVER_ERROR": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The error message",
"example": "Internal server error"
},
"code": {
"type": "string",
"description": "The error code",
"example": "INTERNAL_SERVER_ERROR"
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
},
"required": [
"message"
]
},
"description": "An array of issues that were responsible for the error",
"example": []
}
},
"required": [
"message",
"code"
],
"title": "Error",
"description": "The error information",
"example": {
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}
},
"error.NOT_FOUND": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The error message",
"example": "Not found"
},
"code": {
"type": "string",
"description": "The error code",
"example": "NOT_FOUND"
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
},
"required": [
"message"
]
},
"description": "An array of issues that were responsible for the error",
"example": []
}
},
"required": [
"message",
"code"
],
"title": "Error",
"description": "The error information",
"example": {
"code": "NOT_FOUND",
"message": "Not found",
"issues": []
}
},
"error.UNAUTHORIZED": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The error message",
"example": "Authorization not provided"
},
"code": {
"type": "string",
"description": "The error code",
"example": "UNAUTHORIZED"
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
},
"required": [
"message"
]
},
"description": "An array of issues that were responsible for the error",
"example": []
}
},
"required": [
"message",
"code"
],
"title": "Error",
"description": "The error information",
"example": {
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}
},
"error.FORBIDDEN": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The error message",
"example": "Insufficient access"
},
"code": {
"type": "string",
"description": "The error code",
"example": "FORBIDDEN"
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
},
"required": [
"message"
]
},
"description": "An array of issues that were responsible for the error",
"example": []
}
},
"required": [
"message",
"code"
],
"title": "Error",
"description": "The error information",
"example": {
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}
}
}
}
}