Input: {"body":{"messages":[{"content":"You need to tag the input with the following labels based on the question asked:\nABSOLUTELY_NOT: You are absolutely sure that the answer is \"NO\" to the question.\nPROBABLY_NOT: You are leaning towards \"NO\" to the question.\nAMBIGUOUS: You are unsure about the answer to the question.\nPROBABLY_YES: You are leaning towards \"YES\" to the question.\nABSOLUTELY_YES: You are absolutely sure that the answer is \"YES\" to the question.\n\nYou need to return a mapping of the labels, an explanation and the answer for each label following the format below:\n```\n■is_about_animals:【explanation (where \"explanation\" is answering the question \"is the text about animals?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■contains_lua_code:【explanation (where \"explanation\" is answering the question \"does the text contain Lua code?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■contains_python_code:【explanation (where \"explanation\" is answering the question \"does the text contain Python code?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■contains_js_code:【explanation (where \"explanation\" is answering the question \"does the text contain JavaScript code?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■is_botpress:【explanation (where \"explanation\" is answering the question \"is the text about Botpress?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■is_rasa:【explanation (where \"explanation\" is answering the question \"is the text about Rasa?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_flows:【explanation (where \"explanation\" is answering the question \"does the text mention flows?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_api:【explanation (where \"explanation\" is answering the question \"does the text mention the Botpress API?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_enterprise:【explanation (where \"explanation\" is answering the question \"does the text mention Botpress Enterprise?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_workspaces:【explanation (where \"explanation\" is answering the question \"does the text mention workspaces?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_webchat:【explanation (where \"explanation\" is answering the question \"does the text mention the Webchat?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_hitl:【explanation (where \"explanation\" is answering the question \"does the text mention HITL (human in the loop)?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n■END■\n```\n\nundefined\n\n===\nYou should consider the Expert Examples below to help you make your decision.\nIn your \"Analysis\", please refer to the Expert Examples # to justify your decision.","role":"system"},{"content":"Input to tag:\n<|start_input|>\n App Secret to your channel configuration\nVerify Token\n[](#verify-token)\nThe verify token is used by Facebook to verify that you are the real owner of the provided webhook\nYou can generate any random alphanumerical string for this configuration. Paste it in your **Verify Token** channel configuration\nPage Id and Access Token\n[](#page-id-and-access-token)\n1. In the left sidebar, expand the **Messenger** menu and select **Messenger API Settings**\n2. In the **Access Tokens** section, click **Add or remove Pages** and add your Facebook page\n3. Copy the number under your page name and paste it in your **Page Id** channel configuration\n4. Click on **Generate token**. Copy this token and paste it in the **Access Token** channel configuration\nSave Configuration\n[](#save-configuration)\nChannel configuration is completed, you can now click **Save**. It is important to save your configuration in Botpress before updating the webhook in the Meta app settings, otherwise Meta will be unable to validate the webhook URL.\nWebhook Configuration\n[](#webhook-configuration)\nTo receive messages from Messenger in your Botpress bot, you will need to setup a webhook.\n1. Go to your Meta app.\n2. In the left sidebar, expand the **Messenger** menu and select **Messenger API Settings**\n3. In the **Webhooks** section, click **Add Callback URL**\n4. Copy paste the **Webhook URL** provided in the integration configuration page in Botpress.\n5. Copy and paste the **Verify Token** that you generated earlier in the integration configuration page in Botpress.\n6. Click on **Verify and save**. Make sure your channel configuration was saved before doing this step, otherwise the webhook validation will fail\n7. Click on **Add Subscriptions**, then select `messages` and `messaging_postbacks`. Then click **Save**.\nYou may now start chatting with your bot on Messenger!\n**Note**: If the bot does not answer to some people, that's probably because your app has not been reviewed by Meta yet (see [this section](../docs/instagram#submit-your-app-for-meta-review)). But don't worry, this is not mandatory to test your bot.\nSubmit your App for Meta Review\n[](#submit-your-app-for-meta-review)\nWhen your app is in Development Mode, your bot will work for admins, developers, and testers of the app only. After your app is approved and made public, it will work for the general public.\nRead more about the App Review process on [the official documentation](https://developers.facebook.com/docs/app-review/submission-guide) and find some help if necessary [in this Github issue](https://github.com/microsoft/botframework-sdk/issues/1465).\nYou can find some troubleshooting [in this documentation](https://developers.facebook.com/docs/app-review/support/rejection-guides/messenger) in case you app get rejected.\nSend Greeting/Welcome Message\n[](#send-greetingwelcome-message)\nYou can create a customized greeting from your Page that will appear in Facebook messages and in the Messenger app when someone begins a conversation with your Page for the first time. Your Page's greeting will appear before any messages are sent.\nRead more about the [Messenger Greeting/Welcome Message](https://www.facebook.com/help/1698046970464236)\nUpdated 4 months ago\n---\n* [Table of Contents](#)\n* * [Prerequisites](#prerequisites)  \n   * [Setting up the Messenger integration in Botpress](#setting-up-the-messenger-integration-in-botpress)  \n   * [Setting up Messenger](#setting-up-messenger)  \n         * [Create a Facebook Page](#create-a-facebook-page)  \n         * [Messenger API version](#messenger-api-version)  \n         * [Add Messenger Product](#add-messenger-product)  \n         * [App Id and Secret](#app-id-and-secret)  \n         * [Verify Token](#verify-token)  \n         * [Page Id and Access Token](#page-id-and-access-token)  \n         * [Save Configuration](#save-configuration)  \n   * [Webhook Configuration](#webhook-configuration)  \n   * [Submit your App for Meta Review](#submit-your-app-for-meta-review)  \n   * [Send Greeting/Welcome Message](#send-greetingwelcome-message)[Jump to Content](#content)\n[![Botpress](https://files.readme.io/c8cb63b6d586cd66085b4c960570959a424c7050c5ffeb0aeaf31711e2e1b2ac-small-BPLOGO_new_dark_1.png)](https://botpress.com)\n[Guides](/docs)[API Reference](/reference)[Changelog](/changelog)\n---\n[![Botpress](https://files.readme.io/c8cb63b6d586cd66085b4c960570959a424c7050c5ffeb0aeaf31711e2e1b2ac-small-BPLOGO_new_dark_1.png)](https://botpress.com)\nGuides\nMoon (Dark Mode)Sun (Light Mode)\n[Guides](/docs)[API Reference](/reference)[Changelog](/changelog)\nMicrosoft Teams\nSearch\n## Home\n* [Botpress Documentation](/docs/home)\n## Getting Started\n* [Build](/docs/build)\n* [Deploy](/docs/deploy)\n* [Monitor](/docs/monitor)\n## DASHBOARD\n* [Workspace](/docs/workspace)  \n   * [Home](/docs/home-1)  \n   * [Members](/docs/members)  \n   * [Audits](/docs/audits)  \n   * [Your integrations](/docs/your-integrations)  \n   * [Usage](/docs/usage-2)  \n   * [Settings](/docs/settings)  \n   * [Profile Setting](/docs/user-profile)\n* [Bot](/docs/bot)  \n   * [Overview](/docs/overview-1)  \n   * [Integrations](/docs/integrations-1)  \n   * [Webchat](/docs/webchat-1)  \n   * [Logs](/docs/logs)  \n   * [Conversations](/docs/conversations)  \n   * [Analytics](/docs/analytics-1)  \n   * [Events](/docs/events-2)  \n   * [Issues](/docs/issues)  \n   * [Configuration variables](/docs/configuration-variables-1)\n## STUDIO\n* [Interface](/docs/interface)  \n   * [Nodes](/docs/nodes)  \n   * [Home](/docs/home-2)  \n   * [Flows](/docs/studio-interface-flows)  \n   * [Knowledge Base](/docs/knowledge-base)  \n   * [Tables](/docs/tables)  \n   * [Agents](/docs/agents)  \n         * [Summary Agent](/docs/summary-agent)  \n         * [Personality Agent](/docs/personality-agent)  \n         * [Policy Agent](/docs/policy-agent)  \n         * [Translator Agent](/docs/translator-agent)  \n         * [Knowledge Agent](/docs/knowledge-agent)  \n         * [HITL Agent](/docs/hitl-agent)  \n         * [Vision Agent](/docs/vision-agent)  \n         * [Analytics Agent](/docs/analytics-agent)  \n   * [Library](/docs/library)  \n   * [Hooks](/docs/hooks)  \n   * [Integrations](/docs/integrations-3)  \n   * [Schemas](/docs/schemas)  \n   * [Card Hub](/docs/card-hub)  \n   * [Versions](/docs/versions-1)  \n   * [Chatbot Settings](/docs/chatbot-settings-1)  \n   * [Find](/docs/find)  \n   * [Variables](/docs/variables)  \n   * [Card Tray](/docs/card-tray)  \n   * [Debugger, Logs & JSON](/docs/debugger-logs-json)  \n   * [Emulator](/docs/emulator)  \n   * [Keyboard Shortcuts](/docs/keyboard-shortcuts)  \n   * [Commands](/docs/studio-commands)  \n   * [Studio Preferences](/docs/studio-preferences)  \n   * [Import & Export](/docs/import-export-bots)\n* [Cards](/docs/cards)  \n   * [Send Messages](/docs/send-messages)  \n   * [Execute](/docs/execute)  \n   * [Webchat](/docs/webchat-2)  \n   * [Flow Logic](/docs/flow-logic)  \n   * [AI](/docs/ai)  \n        \n* [Webchat](/docs/webchat-2)  \n   * [Flow Logic](/docs/flow-logic)  \n   * [AI](/docs/ai)  \n         * [AI Task](/docs/ai-task-1)  \n         * [AI Transition](/docs/ai-transition)  \n         * [AI Generate Text](/docs/ai-generate-text)  \n   * [Capture Information](/docs/capture-information)  \n   * [Events](/docs/events-3)  \n   * [Agents](/docs/agents-2)  \n   * [Utilities](/docs/utilities)\n## integrations\n* [Usage](/docs/using-integrations)  \n   * [Asana](/docs/asana-integration)  \n   * [HITL](/docs/hitl-1)  \n   * [Instagram](/docs/instagram)  \n   * [Intercom](/docs/intercom)  \n   * [Line](/docs/line)  \n   * [Messenger](/docs/messenger)  \n   * [Microsoft Teams](/docs/microsoft-teams)  \n   * [Notion](/docs/notion)  \n   * [Slack](/docs/slack)  \n   * [Sunshine Conversations](/docs/sunshine-conversations)  \n   * [Telegram](/docs/telegram)  \n   * [Trello](/docs/trello)  \n   * [Twilio](/docs/twilio)  \n   * [Viber](/docs/viber)  \n   * [Vonage](/docs/vonage)  \n   * [Webhook](/docs/webhook)  \n   * [WhatsApp](/docs/whatsapp)  \n         * [Manual Configuration](/docs/manual-configuration)  \n   * [Zapier](/docs/zapier)  \n   * [Zendesk](/docs/zendesk)\n* [Building](/docs/building-integrations)  \n   * [Getting Started](/docs/getting-started-1)  \n         * [Getting Started](/docs/getting-started-1)  \n         * [Adding Messaging Channel Capabilities](/docs/adding-messaging-channel-capabilities)  \n         * [Adding Actions & Triggers to Botpress Studio](/docs/adding-actions-triggers-to-botpress-studio)  \n         * [Publish your integration on Botpress Hub](/docs/publish-your-integration-on-botpress-hub)  \n   * [Use Your Own LLM](/docs/llm-interfaces)  \n   * [Connect a live agent platform with Botpress](/docs/hitl)  \n   * [Moving Parts](/docs/moving-parts)  \n   * [CLI](/docs/cli)  \n   * [SDK](/docs/sdk)  \n   * [Key Concepts](/docs/key-concepts)  \n         * [Architecture](/docs/architecture)\n/docs/sdk)  \n   * [Key Concepts](/docs/key-concepts)  \n         * [Architecture](/docs/architecture)  \n         * [Tags](/docs/tags)  \n         * [Channels](/docs/channels)  \n         * [Configuration](/docs/configuration)  \n         * [User](/docs/user)  \n         * [Conversations](/docs/conversations-1)  \n         * [Messages](/docs/messages)  \n         * [Event](/docs/event)  \n         * [States](/docs/states-1)  \n         * [Actions](/docs/actions)  \n         * [Definitions](/docs/definitions)  \n         * [Secrets](/docs/secrets)  \n         * [ZUI - Zod schema UI components in Botpress \\[BETA\\]](/docs/zui-zod-schema-ui-components-in-botpress)  \n   * [How to](/docs/states)  \n         * [States](/docs/states)  \n         * [Register & Unregister](/docs/register-unregister)  \n         * [Integrations Actions](/docs/integrations)  \n         * [Integration Events](/docs/integration-events)  \n         * [Handler](/docs/handler)  \n         * [Logging](/docs/logging)  \n         * [Building a Custom Integration](/docs/building-a-custom-integration)\n## Webchat\n* [Webchat](/docs/webchat)  \n   * [Webflow](/docs/webflow)  \n   * [Wix](/docs/wix)  \n   * [Wordpress](/docs/wordpress)\n* [Webchat v1 (deprecated)](/docs/web-chat-v1old)  \n   * [Controlling Web Chat using JavaScript](/docs/controlling-web-chat-using-javascript)  \n   * [Styling your webchat](/docs/chatbot-button)  \n         * [Chatbot Button](/docs/chatbot-button)  \n         * [Chat Header](/docs/chat-header)  \n         * [User Input Area](/docs/user-input-area)  \n         * [Show Bot Info](/docs/show-bot-info)  \n   * [Embedding Webchat](/docs/react-app)  \n         * [React App](/docs/react-app)  \n         * [React Native App](/docs/react-native-app)  \n         * [Web Chat Iframe](/docs/web-chat-iframe)  \n         * [Full Screen Chatbot](/docs/full-screen-chatbot)\n* [Webchat v2](/docs/embedded-webchat)  \n   * [Embedded Webchat](/docs/embedded-webchat)  \n         * [Custom CSS Reference](/docs/custom-css-reference)  \n   * [React Components](/docs/react-js)  \n   * [Webchat Client](/docs/webchat-client)\n## Botpress APIs\n* [Files API](/docs/files-api)\n* [Chat API](/docs/chat-api)\n## Appendix\n* [Safety](/docs/safety)  \n   * [Preventing Abuse](/docs/preventing-abuse)  \n   * [Brand Safety Framework](/docs/brand-safety-framework)\n* [Exporting Data](/docs/exporting-data)  \n   * [Raw Conversations](/docs/exporting-raw-conversations-with-the-botpress-api)  \n   * [Conversation History](/docs/getting-the-conversation-history-from-within-your-bot)  \n   * [Streaming Analytics](/docs/streaming-analytics-from-within-your-bot-with-hooks)  \n   * [Compiled Bot Analytics](/docs/exporting-compiled-bot-analytics-with-the-botpress-api)\nPowered by\n# Microsoft Teams\n[ Suggest Edits](/edit/microsoft-teams)\n![](https://files.readme.io/2871c4d-image.png)\nPrerequisites\n[](#prerequisites)\n* A [Microsoft 365 Business account](https://www.microsoft.com/en-us/microsoft-365/business/)\n* A [Botpress Cloud account](https://sso.botpress.cloud) and a [Botpress bot](https://botpress.com/docs/cloud/getting-started/create-and-publish-your-chatbot/)\nSetting up the Microsoft Teams integration in Botpress\n[](#setting-up-the-microsoft-teams-integration-in-botpress)\n1. Go to the [Integration Hub](https://app.botpress.cloud/hub) in Botpress Cloud (if you don't have the integration installed yet).\n2. Find and open the Microsoft Teams integration then click on the \"Install to Bot\" button, now go back to your bot settings.\nThe Microsoft Teams integration has the following settings:\n* **Enabled**: Whether Botpress will communicate with Microsoft Teams\n* **Webhook URL**: The URL for receiving data in Botpress.\n* **App Id**: The App Id of your bot in Azure\n* **App Password**: The App Secret of your bot in Azure\nSetting up Microsoft Teams\n[](#setting-up-microsoft-teams)\nRegister App\n[](#register-app)\n1. In the Azure portal, open the [App registrations](https://portal.azure.com#blade/Microsoft%5FAAD%5FRegisteredApps/ApplicationsListBlade) page\n2. Click **New registration**, then choose a name for your application\n3. In the section **Supported account types**, choose the type that's most appropriate for your use case. We support Single and Multi Tenant accounts. Check out [this article](https://learn.microsoft.com/en-us/security/zero-trust/develop/identity-supported-account-types) to learn more (in short, Single Tenant means the app will be available for your org only, and Multi Tenant will make it public). After selecting, click **Register**\n4. Copy paste the value of `Application (client) ID` to the **App Id** channel configuration in Botpress\nApp Password\n[](#app-password)\n1. Find the **Certificates & secrets** page in the sidebar, click **New client secret**, then fill in the required fields\n2. Copy the value from the **Value** column and paste it in the **App Secret** channel configuration in Botpress\n3. Save the settings by clicking the \"Save configuration\" button\nCreate Your Microsoft Bot\n[](#create-your-microsoft-bot)\n1. Navigate to the [Bot Framework Creation page](https://dev.botframework.com/bots/new)\n2. Fill the **Display name** and **Bot handle** fields with whatever value\n3. Copy paste you **App Id** to the app id field\n4. Copy the Webhook URL provided in Botpress to the **Messaging endpoint** field\n5. Choose a tenant for the **App type**. Follow the same type you chose in the **Register App** section\n6. Paste the App ID from the Azure bot in the **Microsoft App ID** field\n7. Read and agree to the terms then click **Register**\n8. On the next page (**Connect to channels**), under the section, **Add a featured channel**, click **Configure Microsoft Teams Channel**, then click **Save**\nAccessing the Bot in MS Teams\n[](#accessing-the-bot-in-ms-teams)\n1. Navigate to the [My Bots page](https://dev.botframework.com/bots/)\n2. Click on your bot's name\n3. Under the **Connect to channels** section, click on **Microsoft Teams**\n4. The bot should open in your MS Teams\nThat's it, you may now start chatting with your bot on Microsoft Teams!\n> ## ���\n>\n> The bot will only be available to you if you have a Microsoft 365 Business account and if you are logged in to MS Teams with that account.\nMaking the bot available in your Organization\n[](#making-the-bot-available-in-your-organization)\n1. Add the Developer Portal App to your Teams (or do it via the website)\n![](https://files.readme.io/cdcfaf0-image.png)\n2. Click the **Developer Portal App** tab in the sidebar, then **Apps**. Now click the **New app** button\n![](https://files.readme.io/493d192-image.png)\n3. In the left-side menu of the App, go to the **App Features** page under the **Configure** section then click \"Bot\"\n![](https://files.readme.io/593ef2c-image.png)\n4. Select your existing bot from BotFramework in the dropdown. Check the desired scopes (at least **Personal** for 1:1 conversations)\n![](https://files.readme.io/d12308e-image.png)\n5. Fill out all the required fields in the Basic Information page of the Configure section\n![](https://files.readme.io/89ab3e5-image.png)\n6. Click **Publish**, then **Publish to your Org**\n![](https://files.readme.io/cb6c80c-image.png)\n7. Go to your Team App store, search for your app, then add it\n![](https://files.readme.io/ee8ccd2-image.png)\n8. The bot is now available in the **App** section to all members of your organization!\n> ## ���\n>\n> Info\n>\n> In order to update your bot's behavior, just **Publish** the new version in Botpress. The changes will then be reflected in MS Teams, there's no need to change any settings in the Microsoft apps.\n> ## ���\n>\n> Note\n>\n> Botpress verifies the signature of the requests coming to the Webhook URL so that only Microsoft Teams can send data to your bot. Requests made from Postman or any other means will be rejected.\nSetting up policies\n[](#setting-up-policies)\n![](https://files.readme.io/72c6394-image.png)\nIf you're unable to send message to the bot (App), make sure you've enabled the policy to upload custom apps.\nGo to Setup Policies -> Turn on **Upload custom apps**\nUpdated 4 months ago\n---\n* [Table of Contents](#)\n* * [Prerequisites](#prerequisites)  \n   * [Setting up the Microsoft Teams integration in Botpress](#setting-up-the-microsoft-teams-integration-in-botpress)  \n         * [Setting up Microsoft Teams](#setting-up-microsoft-teams)  \n         * [Create Your Microsoft Bot](#create-your-microsoft-bot)  \n         * [Accessing the Bot in MS Teams](#accessing-the-bot-in-ms-teams)  \n         * [Making the bot available in your Organization](#making-the-bot-available-in-your-organization)  \n   * [Setting up policies](#setting-up-policies)[Jump to Content](#content)\n[![Botpress](https://files.readme.io/c8cb63b6d586cd66085b4c960570959a424c7050c5ffeb0aeaf31711e2e1b2ac-small-BPLOGO_new_dark_1.png)](https://botpress.com)\n[Guides](/docs)[API Reference](/reference)[Changelog](/changelog)\n---\n[![Botpress](https://files.readme.io/c8cb63b6d586cd66085b4c960570959a424c7050c5ffeb0aeaf31711e2e1b2ac-small-BPLOGO_new_dark_1.png)](https://botpress.com)\nGuides\nMoon (Dark Mode)Sun (Light Mode)\n[Guides](/docs)[API Reference](/reference)[Changelog](/changelog)\nMembers\nSearch\n## Home\n* [Botpress Documentation](/docs/home)\n## Getting Started\n* [Build](/docs/build)\n* [Deploy](/docs/deploy)\n* [Monitor](/docs/monitor)\n## DASHBOARD\n* [Workspace](/docs/workspace)  \n   * [Home](/docs/home-1)  \n   * [Members](/docs/members)  \n   * [Audits](/docs/audits)  \n   * [Your integrations](/docs/your-integrations)  \n   * [Usage](/docs/usage-2)  \n   * [Settings](/docs/settings)  \n   * [Profile Setting](/docs/user-profile)\n* [Bot](/docs/bot)  \n   * [Overview](/docs/overview-1)  \n   * [Integrations](/docs/integrations-1)  \n   * [Webchat](/docs/webchat-1)  \n   * [Logs](/docs/logs)  \n   * [Conversations](/docs/conversations)  \n   * [Analytics](/docs/analytics-1)  \n   * [Events](/docs/events-2)  \n   * [Issues](/docs/issues)  \n   * [Configuration variables](/docs/configuration-variables-1)\n## STUDIO\n* [Interface](/docs/interface)  \n   * [Nodes](/docs/nodes)  \n   * [Home](/docs/home-2)  \n   * [Flows](/docs/studio-interface-flows)  \n   * [Knowledge Base](/docs/knowledge-base)  \n   * [Tables](/docs/tables)  \n   * [Agents](/docs/agents)  \n         * [Summary Agent](/docs/summary-agent)  \n         * [Personality Agent](/docs/personality-agent)  \n         * [Policy Agent](/docs/policy-agent)  \n         * [Translator Agent](/docs/translator-agent)  \n         * [Knowledge Agent](/docs/knowledge-agent)  \n         * [HITL Agent](/docs/hitl-agent)  \n         * [Vision Agent](/docs/vision-agent)  \n         * [Analytics Agent](/docs/analytics-agent)  \n   * [Library](/docs/library)  \n   * [Hooks](/docs/hooks)  \n   * [Integrations](/docs/integrations-3)  \n   * [Schemas](/docs/schemas)  \n   * [Card Hub](/docs/card-hub)  \n   * [Versions](/docs/versions-1)  \n   * [Chatbot Settings](/docs/chatbot-settings-1)  \n   * [Find](/docs/find)  \n   * [Variables](/docs/variables)  \n   * [Card Tray](/docs/card-tray)  \n   * [Debugger, Logs & JSON](/docs/debugger-logs-json)  \n   * [Emulator](/docs/emulator)  \n   * [Keyboard Shortcuts](/docs/keyboard-shortcuts)  \n   * [Commands](/docs/studio-commands)  \n   * [Studio Preferences](/docs/studio-preferences)  \n   * [Import & Export](/docs/import-export-bots)\n* [Cards](/docs/cards)  \n   * [Send Messages](/docs/send-messages)  \n   * [Execute](/docs/execute)  \n   * [Webchat](/docs/webchat-2)  \n   * [Flow Logic](/docs/flow-logic)  \n   * [AI](/docs/ai)  \n        \n* [Webchat](/docs/webchat-2)  \n   * [Flow Logic](/docs/flow-logic)  \n   * [AI](/docs/ai)  \n         * [AI Task](/docs/ai-task-1)  \n         * [AI Transition](/docs/ai-transition)  \n         * [AI Generate Text](/docs/ai-generate-text)  \n   * [Capture Information](/docs/capture-information)  \n   * [Events](/docs/events-3)  \n   * [Agents](/docs/agents-2)  \n   * [Utilities](/docs/utilities)\n## integrations\n* [Usage](/docs/using-integrations)  \n   * [Asana](/docs/asana-integration)  \n   * [HITL](/docs/hitl-1)  \n   * [Instagram](/docs/instagram)  \n   * [Intercom](/docs/intercom)  \n   * [Line](/docs/line)  \n   * [Messenger](/docs/messenger)  \n   * [Microsoft Teams](/docs/microsoft-teams)  \n   * [Notion](/docs/notion)  \n   * [Slack](/docs/slack)  \n   * [Sunshine Conversations](/docs/sunshine-conversations)  \n   * [Telegram](/docs/telegram)  \n   * [Trello](/docs/trello)  \n   * [Twilio](/docs/twilio)  \n   * [Viber](/docs/viber)  \n   * [Vonage](/docs/vonage)  \n   * [Webhook](/docs/webhook)  \n   * [WhatsApp](/docs/whatsapp)  \n         * [Manual Configuration](/docs/manual-configuration)  \n   * [Zapier](/docs/zapier)  \n   * [Zendesk](/docs/zendesk)\n* [Building](/docs/building-integrations)  \n   * [Getting Started](/docs/getting-started-1)  \n         * [Getting Started](/docs/getting-started-1)  \n         * [Adding Messaging Channel Capabilities](/docs/adding-messaging-channel-capabilities)  \n         * [Adding Actions & Triggers to Botpress Studio](/docs/adding-actions-triggers-to-botpress-studio)  \n         * [Publish your integration on Botpress Hub](/docs/publish-your-integration-on-botpress-hub)  \n   * [Use Your Own LLM](/docs/llm-interfaces)  \n   * [Connect a live agent platform with Botpress](/docs/hitl)  \n   * [Moving Parts](/docs/moving-parts)  \n   * [CLI](/docs/cli)  \n   * [SDK](/docs/sdk)  \n   * [Key Concepts](/docs/key-concepts)  \n         * [Architecture](/docs/architecture)\n/docs/sdk)  \n   * [Key Concepts](/docs/key-concepts)  \n         * [Architecture](/docs/architecture)  \n         * [Tags](/docs/tags)  \n         * [Channels](/docs/channels)  \n         * [Configuration](/docs/configuration)  \n         * [User](/docs/user)  \n         * [Conversations](/docs/conversations-1)  \n         * [Messages](/docs/messages)  \n         * [Event](/docs/event)  \n         * [States](/docs/states-1)  \n         * [Actions](/docs/actions)  \n         * [Definitions](/docs/definitions)  \n         * [Secrets](/docs/secrets)  \n         * [ZUI - Zod schema UI components in Botpress \\[BETA\\]](/docs/zui-zod-schema-ui-components-in-botpress)  \n   * [How to](/docs/states)  \n         * [States](/docs/states)  \n         * [Register & Unregister](/docs/register-unregister)  \n         * [Integrations Actions](/docs/integrations)  \n         * [Integration Events](/docs/integration-events)  \n         * [Handler](/docs/handler)  \n         * [Logging](/docs/logging)  \n         * [Building a Custom Integration](/docs/building-a-custom-integration)\n## Webchat\n* [Webchat](/docs/webchat)  \n   * [Webflow](/docs/webflow)  \n   * [Wix](/docs/wix)  \n   * [Wordpress](/docs/wordpress)\n* [Webchat v1 (deprecated)](/docs/web-chat-v1old)  \n   * [Controlling Web Chat using JavaScript](/docs/controlling-web-chat-using-javascript)  \n   * [Styling your webchat](/docs/chatbot-button)  \n         * [Chatbot Button](/docs/chatbot-button)  \n         * [Chat Header](/docs/chat-header)  \n         * [User Input Area](/docs/user-input-area)  \n         * [Show Bot Info](/docs/show-bot-info)  \n   * [Embedding Webchat](/docs/react-app)  \n         * [React App](/docs/react-app)  \n         * [React Native App](/docs/react-native-app)  \n         * [Web Chat Iframe](/docs/web-chat-iframe)  \n         * [Full Screen Chatbot](/docs/full-screen-chatbot)\n* [Webchat v2](/docs/embedded-webchat)  \n   * [Embedded Webchat](/docs/embedded-webchat)  \n         * [Custom CSS Reference](/docs/custom-css-reference)  \n   * [React Components](/docs/react-js)  \n   * [Webchat Client](/docs/webchat-client)\n## Botpress APIs\n* [Files API](/docs/files-api)\n* [Chat API](/docs/chat-api)\n## Appendix\n* [Safety](/docs/safety)  \n   * [Preventing Abuse](/docs/preventing-abuse)  \n   * [Brand Safety Framework](/docs/brand-safety-framework)\n* [Exporting Data](/docs/exporting-data)  \n   * [Raw Conversations](/docs/exporting-raw-conversations-with-the-botpress-api)  \n   * [Conversation History](/docs/getting-the-conversation-history-from-within-your-bot)  \n   * [Streaming Analytics](/docs/streaming-analytics-from-within-your-bot-with-hooks)  \n   * [Compiled Bot Analytics](/docs/exporting-compiled-bot-analytics-with-the-botpress-api)\nPowered by\n# Members\nView and manage access to a Workspace.\n[ Suggest Edits](/edit/members)\nThis tab lists all of the members who have access to the Workspace.\nFrom here, you can adjust what permissions and roles users have.\n> ## ���\n>\n> Premium Feature\n>\n> Only Team and Enterprise plan customers have access to dedicated RBAC (Role-Based Access Control).\n>\n> PAYG users can add and remove users to their Workspace.\nCollaborator Roles\n[](#collaborator-roles)\nViewer\n[](#viewer)\nCan only view bots and Workspaces. Cannot make any edits or changes.\nBilling manager\n[](#\n<|end_input|>\n\nAnswer with this following format:\n```\n■is_about_animals:【explanation (where \"explanation\" is answering the question \"is the text about animals?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■contains_lua_code:【explanation (where \"explanation\" is answering the question \"does the text contain Lua code?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■contains_python_code:【explanation (where \"explanation\" is answering the question \"does the text contain Python code?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■contains_js_code:【explanation (where \"explanation\" is answering the question \"does the text contain JavaScript code?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■is_botpress:【explanation (where \"explanation\" is answering the question \"is the text about Botpress?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■is_rasa:【explanation (where \"explanation\" is answering the question \"is the text about Rasa?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_flows:【explanation (where \"explanation\" is answering the question \"does the text mention flows?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_api:【explanation (where \"explanation\" is answering the question \"does the text mention the Botpress API?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_enterprise:【explanation (where \"explanation\" is answering the question \"does the text mention Botpress Enterprise?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_workspaces:【explanation (where \"explanation\" is answering the question \"does the text mention workspaces?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_webchat:【explanation (where \"explanation\" is answering the question \"does the text mention the Webchat?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_hitl:【explanation (where \"explanation\" is answering the question \"does the text mention HITL (human in the loop)?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n■END■\n```\n\nFormat cheatsheet:\n```\n■label:【explanation】:x■\n```\n\nWhere `x` is one of the following: ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES\n\nRemember: In your `explanation`, please refer to the Expert Examples # (and quote them) that are relevant to ground your decision-making process.\nThe Expert Examples are there to help you make your decision. They have been provided by experts in the field and their answers (and reasoning) are considered the ground truth and should be used as a reference to make your decision when applicable.\nFor example, you can say: \"According to Expert Example #1, ...\"","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.label","promptSource":"zai:zai.label:default"},"model":"fast","signal":{},"stopSequences":["■END■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■is_about_animals:【The text is a technical guide about configuring Botpress integrations (Messenger, Microsoft Teams) and contains no references to animals.】:ABSOLUTELY_NOT■

■contains_lua_code:【The entire document consists of plain‑text instructions, URLs and UI labels; there is no Lua source code snippet present.】:ABSOLUTELY_NOT■

■contains_python_code:【No Python code fragments appear anywhere in the content; it is only documentation.】:ABSOLUTELY_NOT■

■contains_js_code:【The word “JavaScript” appears only inside a link title (“Controlling Web Chat using JavaScript”), but no actual JavaScript code is shown.】:ABSOLUTELY_NOT■

■is_botpress:【The document repeatedly references Botpress (e.g., “Botpress”, “Botpress bot”, “Botpress documentation”, “Botpress APIs”), making it clearly about Botpress.】:ABSOLUTELY_YES■

■is_rasa:【There is no mention of Rasa, nor any Rasa‑specific terminology.】:ABSOLUTELY_NOT■

■has_flows:【The navigation pane lists “Flows” and the text discusses “Studio → Flows”, indicating that flows are mentioned.】:ABSOLUTELY_YES■

■has_api:【A section titled “Botpress APIs” lists “Files API”, “Chat API”, and the word “API” is used throughout, so the API is mentioned.】:ABSOLUTELY_YES■

■has_enterprise:【The term “Enterprise” does not appear anywhere; only “Premium Feature” is mentioned.】:ABSOLUTELY_NOT■

■has_workspaces:【Multiple occurrences of “Workspace” and “Workspaces” (e.g., “Workspace”, “Workspaces”, “Your integrations”, “Workspace menu”) confirm the concept is referenced.】:ABSOLUTELY_YES■

■has_webchat:【The word “Webchat” appears many times (e.g., “Webchat”, “Webchat v1”, “Webchat v2”), so it is certainly mentioned.】:ABSOLUTELY_YES■

■has_hitl:【The acronym “HITL” (Human‑in‑the‑Loop) is listed both as an integration and as an agent (“HITL Agent”), indicating it is mentioned.】:ABSOLUTELY_YES■


Input: {"body":{"messages":[{"content":"You need to tag the input with the following labels based on the question asked:\nABSOLUTELY_NOT: You are absolutely sure that the answer is \"NO\" to the question.\nPROBABLY_NOT: You are leaning towards \"NO\" to the question.\nAMBIGUOUS: You are unsure about the answer to the question.\nPROBABLY_YES: You are leaning towards \"YES\" to the question.\nABSOLUTELY_YES: You are absolutely sure that the answer is \"YES\" to the question.\n\nYou need to return a mapping of the labels, an explanation and the answer for each label following the format below:\n```\n■is_about_animals:【explanation (where \"explanation\" is answering the question \"is the text about animals?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■contains_lua_code:【explanation (where \"explanation\" is answering the question \"does the text contain Lua code?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■contains_python_code:【explanation (where \"explanation\" is answering the question \"does the text contain Python code?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■contains_js_code:【explanation (where \"explanation\" is answering the question \"does the text contain JavaScript code?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■is_botpress:【explanation (where \"explanation\" is answering the question \"is the text about Botpress?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■is_rasa:【explanation (where \"explanation\" is answering the question \"is the text about Rasa?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_flows:【explanation (where \"explanation\" is answering the question \"does the text mention flows?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_api:【explanation (where \"explanation\" is answering the question \"does the text mention the Botpress API?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_enterprise:【explanation (where \"explanation\" is answering the question \"does the text mention Botpress Enterprise?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_workspaces:【explanation (where \"explanation\" is answering the question \"does the text mention workspaces?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_webchat:【explanation (where \"explanation\" is answering the question \"does the text mention the Webchat?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_hitl:【explanation (where \"explanation\" is answering the question \"does the text mention HITL (human in the loop)?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n■END■\n```\n\nundefined\n\n===\nYou should consider the Expert Examples below to help you make your decision.\nIn your \"Analysis\", please refer to the Expert Examples # to justify your decision.","role":"system"},{"content":"Input to tag:\n<|start_input|>\nwebchat)  \n         * [Custom CSS Reference](/docs/custom-css-reference)  \n   * [React Components](/docs/react-js)  \n   * [Webchat Client](/docs/webchat-client)\n## Botpress APIs\n* [Files API](/docs/files-api)\n* [Chat API](/docs/chat-api)\n## Appendix\n* [Safety](/docs/safety)  \n   * [Preventing Abuse](/docs/preventing-abuse)  \n   * [Brand Safety Framework](/docs/brand-safety-framework)\n* [Exporting Data](/docs/exporting-data)  \n   * [Raw Conversations](/docs/exporting-raw-conversations-with-the-botpress-api)  \n   * [Conversation History](/docs/getting-the-conversation-history-from-within-your-bot)  \n   * [Streaming Analytics](/docs/streaming-analytics-from-within-your-bot-with-hooks)  \n   * [Compiled Bot Analytics](/docs/exporting-compiled-bot-analytics-with-the-botpress-api)\nPowered by\n# Use Your Own LLM\nBotpress LLM Interfaces allows you to bring your own LLM for use in your bot.\n[ Suggest Edits](/edit/llm-interfaces)\nThis guide outlines how to integrate your own Large Language Model (LLM) with Botpress, enabling you to manage privacy, security, and have full control over your AI outputs.\nUsing Your Own LLM\n[](#using-your-own-llm)\nWhy Bring Your Own LLM?\n[](#why-bring-your-own-llm)\nBotpress Studio offers an adaptable and powerful platform for building, deploying, and managing AI agents and chatbots. While Botpress provides a suite of pre-integrated language models, you may have specific needs that call for a more customized approach. Bringing your own (LLM) can enhance your solution’s capabilities, allowing you to leverage specialized models tailored to your unique requirements, domain expertise, or compliance needs.\nTailored Performance and Domain Expertise\n[](#tailored-performance-and-domain-expertise)\nIntegrating your LLM into Botpress Studio allows you to use models fine-tuned on industry-specific data, enhancing the relevance and quality of responses. This is particularly valuable for industries like finance, healthcare, legal, or customer service, where general-purpose models may not understand the nuanced terminology or context.\nFull Control Over Model Behavior\n[](#full-control-over-model-behavior)\nBy bringing your own LLM, you gain complete control over the model’s training data, parameters, and behavior. This flexibility enables you to optimize for specific outputs, ensure the language used aligns with your brand voice, and adjust to any special handling requirements.\nEnhanced Privacy and Security\n[](#enhanced-privacy-and-security)\nIn industries with strict data privacy regulations, such as GDPR or HIPAA, maintaining control over your LLM can help ensure compliance. With your own LLM, you have greater control over data handling, access, and storage, minimizing risks associated with third-party models and data leaks.\nCost Efficiency and Scalability\n[](#cost-efficiency-and-scalability)\nDepending on your scale and use case, managing your LLM can lead to significant cost savings. By optimizing your model’s architecture and usage, you can better control computational costs and resource allocation, particularly when compared to the potentially high API costs of third-party services.\nIntegration with Existing AI Pipelines\n[](#integration-with-existing-ai-pipelines)\nFor organizations already investing in AI infrastructure, integrating their own LLM with Botpress Studio can seamlessly extend their current pipelines. This approach reduces redundancy, leverages existing models and datasets, and aligns with in-house development workflows.\nExperimentation and Customization\n[](#experimentation-and-customization)\nBringing your own LLM provides the freedom to experiment with new architectures, training techniques, and optimization strategies. This freedom is essential for innovation, allowing you to test what works best for your specific application without being limited by the constraints of externally managed models.\nPerformance Optimization and Fine-Tuning\n[](#performance-optimization-and-fine-tuning)\nIn Botpress Studio, you can fine-tune your LLM’s performance based on real-world interactions. This iterative process of adjusting and retraining the model can lead to superior outcomes, as your LLM evolves to meet the changing needs of your users.\nDifferentiation and Competitive Advantage\n[](#differentiation-and-competitive-advantage)\nOwning and customizing your LLM allows you to differentiate your product from competitors using standard models. A unique LLM strategy can become a key value proposition, offering enhanced user experiences or capabilities that are not easily replicated.\n> ## ���\n>\n> For LLM providers\n>\n> If you're interested in monetizing your own LLM by making it available for use on Botpress, [contact us.](https://botpress.com/contact-us)\nGetting access\n[](#getting-access)\n> ## ���\n>\n> Ask for Access First!\n>\n> LLM Interfaces is a powerful feature, and requires users to validate the use case with us, before getting access.\n[iframe](https://share.hsforms.com/1mohlsPa5RsycE6ufHWrBhAcbihu \"share.hsforms.com\")\nInstructions\n[](#instructions)\nThere are three steps to use your own LLM: creating and configuring an integration, adding the LLM invocation logic, and selecting the LLM in the Botpress Studio.\n1\\. Create and configure an integration\n[](#1-create-and-configure-an-integration)\nStart by [creating an integration](/docs/getting-started-1). Once you've done that, you must adjust the integration definition by extending it with the `interfaces.llm` interface using the `.extend()` method.\nintegration.definition.ts\n`import { z, IntegrationDefinition, interfaces } from \"@botpress/sdk\";\nexport default new IntegrationDefinition({\n// ... other configuration properties\nname: \"my-llm\",\nentities: {\nmodelRef: {\nschema: z.object({\nid: z.string(),\n}),\n},\n},\n})\n.extend(interfaces.llm, ({ modelRef }) => ({\nmodelRef,\n}));\n`\nIn the above example, lines 14 - 16 were added. Once you are done with that, it's time to implement the LLM logic!\n2\\. Add the LLM invocation logic\n[](#2-add-the-llm-invocation-logic)\nWhen you use the `interfaces.llm`, you must implement two actions: `generateContent` and `listModels`. These actions define the core functionality of your LLM integration.\n**The listModels method**\nWhenever a user chooses an LLM model in the Botpress Studio, all listModels actions are invoked on installed integrations to list all available models.\nShould you wish to act as an LLM provider for Botpress and have users pay for tokens through Botpress, you can use the costPer1MTokens to charge users for using your LLM. For all other use cases, the costPer1MTokens should be set to 0, and billing handled by yourself.\n**The generateContent method**\nThis method, whos input is a standard input for invoking a create chat completion, must convert the format to a format compatible with your llm, invoke your LLM via api or a client library, and convert the format back to the Botpress format. You can see a working example [here](https://github.com/botpress/botpress/blob/master/integrations/anthropic/src/actions/generate-content.ts). For the format types, we suggest using IntelliSense to guide you.\nindex.ts\n`export default new bp.Integration({\nregister: async () => {},\nunregister: async () => {},\nactions: {\ngenerateContent: async ({input}) => {\n// Implement your own logic for generating content using your LLM\nconst result = await myLLM.generateText(input);\nreturn { result };\n},\nlistLanguageModels: async () => {\n// Implement your own logic for listing available models\nconst models = [\n{\nid: \"model1\",\nname: \"My LLM 1\",\ndescription: \"A highly accurate LLM\",\ntags: [\"recommended\", \"vision\"],\ninput: {\ncostPer1MTokens: 1,\nmaxTokens: 200_000,\n},\noutput: {\ncostPer1MTokens: 12,\nmaxTokens: 4096,\n},\n},\n{\nid: \"model2\",\nname: \"My LLM 2\",\ndescription: \"A more cost-effective LLM\",\ntags: [\"low-cost\"],\ninput: {\ncostPer1MTokens: 1,\nmaxTokens: 200_000,\n},\noutput: {\ncostPer1MTokens: 12,\nmaxTokens: 4096,\n},\n},\n];\nreturn { models };\n},\n},\nchannels: {},\nhandler: async () => {},\n})\n`\nOnce you are done with the above, simply deploy the integration, and install it to a bot you'd like to try it on.\n3\\. Select your LLM in Botpress Studio\n[](#3-select-your-llm-in-botpress-studio)\nNow you can choose your LLM when configuring AI-related tasks. It will show up in the LLM selectors in the Botpress Studio.\nIn the above example, **My LLM 1** and **My LLM 2** appear with the corresponding tags.\n![](https://files.readme.io/6311471c2d53aa45e62cec732ec1a0b1a2961bc87c06fbfcdbe4bdc9fa5680d0-Screenshot_2024-08-30_at_9.44.34_AM.png)\nBy integrating your own LLM with Botpress, you gain full control over AI outputs, privacy, and security, while also opening up potential monetization opportunities. Follow the outlined steps to configure your integration, implement the LLM logic, and seamlessly deploy it in Botpress Studio for a customized AI experience.\nHaving difficulties with LLM Interfaces?\n[](#having-difficulties-with-llm-interfaces)\nContact us at [\\[email protected\\]](/cdn-cgi/l/email-protection#c3afafaeeeaba6afb383a1acb7b3b1a6b0b0eda0acae) with as much details as possible about your company and your use case.\nUpdated 18 days ago\n---\n* [Table of Contents](#)\n* * [Using Your Own LLM](#using-your-own-llm)  \n         * [Why Bring Your Own LLM?](#why-bring-your-own-llm)  \n   * [Getting access](#getting-access)  \n         * [Instructions](#instructions)  \n   * [Having difficulties with LLM Interfaces?](#having-difficulties-with-llm-interfaces)[Jump to Content](#content)\n[![Botpress](https://files.readme.io/c8cb63b6d586cd66085b4c960570959a424c7050c5ffeb0aeaf31711e2e1b2ac-small-BPLOGO_new_dark_1.png)](https://botpress.com)\n[Guides](/docs)[API Reference](/reference)[Changelog](/changelog)\n---\n[![Botpress](https://files.readme.io/c8cb63b6d586cd66085b4c960570959a424c7050c5ffeb0aeaf31711e2e1b2ac-small-BPLOGO_new_dark_1.png)](https://botpress.com)\nGuides\nMoon (Dark Mode)Sun (Light Mode)\n[Guides](/docs)[API Reference](/reference)[Changelog](/changelog)\nMoving Parts\nSearch\n## Home\n* [Botpress Documentation](/docs/home)\n## Getting Started\n* [Build](/docs/build)\n* [Deploy](/docs/deploy)\n* [Monitor](/docs/monitor)\n## DASHBOARD\n* [Workspace](/docs/workspace)  \n   * [Home](/docs/home-1)  \n   * [Members](/docs/members)  \n   * [Audits](/docs/audits)  \n   * [Your integrations](/docs/your-integrations)  \n   * [Usage](/docs/usage-2)  \n   * [Settings](/docs/settings)  \n   * [Profile Setting](/docs/user-profile)\n* [Bot](/docs/bot)  \n   * [Overview](/docs/overview-1)  \n   * [Integrations](/docs/integrations-1)  \n   * [Webchat](/docs/webchat-1)  \n   * [Logs](/docs/logs)  \n   * [Conversations](/docs/conversations)  \n   * [Analytics](/docs/analytics-1)  \n   * [Events](/docs/events-2)  \n   * [Issues](/docs/issues)  \n   * [Configuration variables](/docs/configuration-variables-1)\n## STUDIO\n* [Interface](/docs/interface)  \n   * [Nodes](/docs/nodes)  \n   * [Home](/docs/home-2)  \n   * [Flows](/docs/studio-interface-flows)  \n   * [Knowledge Base](/docs/knowledge-base)  \n   * [Tables](/docs/tables)  \n   * [Agents](/docs/agents)  \n         * [Summary Agent](/docs/summary-agent)  \n         * [Personality Agent](/docs/personality-agent)  \n         * [Policy Agent](/docs/policy-agent)  \n         * [Translator Agent](/docs/translator-agent)  \n         * [Knowledge Agent](/docs/knowledge-agent)  \n         * [HITL Agent](/docs/hitl-agent)  \n         * [Vision Agent](/docs/vision-agent)  \n         * [Analytics Agent](/docs/analytics-agent)  \n   * [Library](/docs/library)  \n   * [Hooks](/docs/hooks)  \n   * [Integrations](/docs/integrations-3)  \n   * [Schemas](/docs/schemas)  \n   * [Card Hub](/docs/card-hub)  \n   * [Versions](/docs/versions-1)  \n   * [Chatbot Settings](/docs/chatbot-settings-1)  \n   * [Find](/docs/find)  \n   * [Variables](/docs/variables)  \n   * [Card Tray](/docs/card-tray)  \n   * [Debugger, Logs & JSON](/docs/debugger-logs-json)  \n   * [Emulator](/docs/emulator)  \n   * [Keyboard Shortcuts](/docs/keyboard-shortcuts)  \n   * [Commands](/docs/studio-commands)  \n   * [Studio Preferences](/docs/studio-preferences)  \n   * [Import & Export](/docs/import-export-bots)\n* [Cards](/docs/cards)  \n   * [Send Messages](/docs/send-messages)  \n   * [Execute](/docs/execute)  \n   * [Webchat](/docs/webchat-2)  \n   * [Flow Logic](/docs/flow-logic)  \n   * [AI](/docs/ai)  \n        \n* [Webchat](/docs/webchat-2)  \n   * [Flow Logic](/docs/flow-logic)  \n   * [AI](/docs/ai)  \n         * [AI Task](/docs/ai-task-1)  \n         * [AI Transition](/docs/ai-transition)  \n         * [AI Generate Text](/docs/ai-generate-text)  \n   * [Capture Information](/docs/capture-information)  \n   * [Events](/docs/events-3)  \n   * [Agents](/docs/agents-2)  \n   * [Utilities](/docs/utilities)\n## integrations\n* [Usage](/docs/using-integrations)  \n   * [Asana](/docs/asana-integration)  \n   * [HITL](/docs/hitl-1)  \n   * [Instagram](/docs/instagram)  \n   * [Intercom](/docs/intercom)  \n   * [Line](/docs/line)  \n   * [Messenger](/docs/messenger)  \n   * [Microsoft Teams](/docs/microsoft-teams)  \n   * [Notion](/docs/notion)  \n   * [Slack](/docs/slack)  \n   * [Sunshine Conversations](/docs/sunshine-conversations)  \n   * [Telegram](/docs/telegram)  \n   * [Trello](/docs/trello)  \n   * [Twilio](/docs/twilio)  \n   * [Viber](/docs/viber)  \n   * [Vonage](/docs/vonage)  \n   * [Webhook](/docs/webhook)  \n   * [WhatsApp](/docs/whatsapp)  \n         * [Manual Configuration](/docs/manual-configuration)  \n   * [Zapier](/docs/zapier)  \n   * [Zendesk](/docs/zendesk)\n* [Building](/docs/building-integrations)  \n   * [Getting Started](/docs/getting-started-1)  \n         * [Getting Started](/docs/getting-started-1)  \n         * [Adding Messaging Channel Capabilities](/docs/adding-messaging-channel-capabilities)  \n         * [Adding Actions & Triggers to Botpress Studio](/docs/adding-actions-triggers-to-botpress-studio)  \n         * [Publish your integration on Botpress Hub](/docs/publish-your-integration-on-botpress-hub)  \n   * [Use Your Own LLM](/docs/llm-interfaces)  \n   * [Connect a live agent platform with Botpress](/docs/hitl)  \n   * [Moving Parts](/docs/moving-parts)  \n   * [CLI](/docs/cli)  \n   * [SDK](/docs/sdk)  \n   * [Key Concepts](/docs/key-concepts)  \n         * [Architecture](/docs/architecture)\n/docs/sdk)  \n   * [Key Concepts](/docs/key-concepts)  \n         * [Architecture](/docs/architecture)  \n         * [Tags](/docs/tags)  \n         * [Channels](/docs/channels)  \n         * [Configuration](/docs/configuration)  \n         * [User](/docs/user)  \n         * [Conversations](/docs/conversations-1)  \n         * [Messages](/docs/messages)  \n         * [Event](/docs/event)  \n         * [States](/docs/states-1)  \n         * [Actions](/docs/actions)  \n         * [Definitions](/docs/definitions)  \n         * [Secrets](/docs/secrets)  \n         * [ZUI - Zod schema UI components in Botpress \\[BETA\\]](/docs/zui-zod-schema-ui-components-in-botpress)  \n   * [How to](/docs/states)  \n         * [States](/docs/states)  \n         * [Register & Unregister](/docs/register-unregister)  \n         * [Integrations Actions](/docs/integrations)  \n         * [Integration Events](/docs/integration-events)  \n         * [Handler](/docs/handler)  \n         * [Logging](/docs/logging)  \n         * [Building a Custom Integration](/docs/building-a-custom-integration)\n## Webchat\n* [Webchat](/docs/webchat)  \n   * [Webflow](/docs/webflow)  \n   * [Wix](/docs/wix)  \n   * [Wordpress](/docs/wordpress)\n* [Webchat v1 (deprecated)](/docs/web-chat-v1old)  \n   * [Controlling Web Chat using JavaScript](/docs/controlling-web-chat-using-javascript)  \n   * [Styling your webchat](/docs/chatbot-button)  \n         * [Chatbot Button](/docs/chatbot-button)  \n         * [Chat Header](/docs/chat-header)  \n         * [User Input Area](/docs/user-input-area)  \n         * [Show Bot Info](/docs/show-bot-info)  \n   * [Embedding Webchat](/docs/react-app)  \n         * [React App](/docs/react-app)  \n         * [React Native App](/docs/react-native-app)  \n         * [Web Chat Iframe](/docs/web-chat-iframe)  \n         * [Full Screen Chatbot](/docs/full-screen-chatbot)\n* [Webchat v2](/docs/embedded-webchat)  \n   * [Embedded Webchat](/docs/embedded-webchat)  \n         * [Custom CSS Reference](/docs/custom-css-reference)  \n   * [React Components](/docs/react-js)  \n   * [Webchat Client](/docs/webchat-client)\n## Botpress APIs\n* [Files API](/docs/files-api)\n* [Chat API](/docs/chat-api)\n## Appendix\n* [Safety](/docs/safety)  \n   * [Preventing Abuse](/docs/preventing-abuse)  \n   * [Brand Safety Framework](/docs/brand-safety-framework)\n* [Exporting Data](/docs/exporting-data)  \n   * [Raw Conversations](/docs/exporting-raw-conversations-with-the-botpress-api)  \n   * [Conversation History](/docs/getting-the-conversation-history-from-within-your-bot)  \n   * [Streaming Analytics](/docs/streaming-analytics-from-within-your-bot-with-hooks)  \n   * [Compiled Bot Analytics](/docs/exporting-compiled-bot-analytics-with-the-botpress-api)\nPowered by\n# Moving Parts\n[ Suggest Edits](/edit/moving-parts)\nThe standard way to develop a chatbot on Botpress Cloud is to use the [Studio](https://studio.botpress.cloud). It is a low-code platform; that is, the Studio allows you to create chatbots by writing little code, or even none at all.\nTo please developers, Botpress Cloud also allows you to develop chatbots with code only. This set of features is called the developer side of Botpress Cloud or the developer experience (DX).\nIn addition to allowing the development of Chatbots, the developer experience also allows the creation of Integrations. Integrations are applications that allow Chatbots to communicate with external services as well as share/reuse certain features. The only way to develop integrations is to do it with code.\nThe developer experience is composed of the following parts:\n* the [public HTTP API](https://botpress.com/docs/api/)\n* the [TypeScript HTTP Client](https://npmjs.com/package/@botpress/client)\n* the [TypeScript SDK](https://npmjs.com/package/@botpress/sdk)\n* the [CLI](https://npmjs.com/package/@botpress/cli)\nThe public HTTP API of Botpress Cloud is already documented [here](https://botpress.io/docs/cloud/api).\nThe TypeScript HTTP Client, on the other hand, only exposes the API in an npm package to facilitate requests to the API in JavaScript and TypeScript. It contains all the types of requests and responses of the API.\nTo create a Chatbot or an Integration, you must call the [create-bot](https://botpress.com/docs/api/#bot-create-bot) or [create-integration](https://botpress.com/docs/api/#bot-create-integration) route of the API. The HTTP body of the request contains a `code` field. This is the JavaScript program of the Bot or Integration. This code is executed by Botpress Cloud. However, this field cannot contain any program, it must have a certain format and a certain behavior for Botpress Cloud to be able to execute it. This is where the SDK comes in.\nThe SDK is an npm package that is used and executed with the code of the Bot or Integration. It facilitates development by providing functions and classes that frame your development. It is theoretically possible to develop a Bot or an Integration without using the SDK, but this is strongly discouraged.\nAt the time of writing, all Bots and Integrations are hosted and executed by Botpress Cloud. This means that it is not possible to host a server on your side. For this reason, the use of the JavaScript language is mandatory. If your program is written in TypeScript, it must be transpiled and bundled before being sent to Botpress Cloud. This is where CLI comes in.\nThe CLI wears several hats. It allows you to interact with the public HTTP API of Botpress Cloud and to develop/deploy Bots and Integrations. Just like the SDK, it is theoretically possible to do without it but this is strongly discouraged.\nSince the public HTTP API of Botpress Cloud is already documented and the TypeScript HTTP Client only exposes it in an npm package, the next sections of this document will focus on the SDK and the CLI.\nUpdated 4 months ago\n---[Jump to Content](#content)\n[![Botpress](https://files.readme.io/c8cb63b6d586cd66085b4c960570959a424c7050c5ffeb0aeaf31711e2e1b2ac-small-BPLOGO_new_dark_1.png)](https://botpress.com)\n[Guides](/docs)[API Reference](/reference)[Changelog](/changelog)\n---\n[![Botpress](https://files.readme.io/c8cb63b6d586cd66085b4c960570959a424c7050c5ffeb0aeaf31711e2e1b2ac-small-BPLOGO_new_dark_1.png)](https://botpress.com)\nGuides\nMoon (Dark Mode)Sun (Light Mode)\n[Guides](/docs)[API Reference](/reference)[Changelog](/changelog)\nLibrary\nSearch\n## Home\n* [Botpress Documentation](/docs/home)\n## Getting Started\n* [Build](/docs/build)\n* [Deploy](/docs/deploy)\n* [Monitor](/docs/monitor)\n## DASHBOARD\n* [Workspace](/docs/workspace)  \n   * [Home](/docs/home-1)  \n   * [Members](/docs/members)  \n   * [Audits](/docs/audits)  \n   * [Your integrations](/docs/your-integrations)  \n   * [Usage](/docs/usage-2)  \n   * [Settings](/docs/settings)  \n   * [Profile Setting](/docs/user-profile)\n* [Bot](/docs/bot)  \n   * [Overview](/docs/overview-1)  \n   * [Integrations](/docs/integrations-1)  \n   * [Webchat](/docs/webchat-1)  \n   * [Logs](/docs/logs)  \n   * [Conversations](/docs/conversations)  \n   * [Analytics](/docs/analytics-1)  \n   * [Events](/docs/events-2)  \n   * [Issues](/docs/issues)  \n   * [Configuration variables](/docs/configuration-variables-1)\n## STUDIO\n* [Interface](/docs/interface)  \n   * [Nodes](/docs/nodes)  \n   * [Home](/docs/home-2)  \n   * [Flows](/docs/studio-interface-flows)  \n   * [Knowledge Base](/docs/knowledge-base)  \n   * [Tables](/docs/tables)  \n   * [Agents](/docs/agents)  \n         * [Summary Agent](/docs/summary-agent)  \n         * [Personality Agent](/docs/personality-agent)  \n         * [Policy Agent](/docs/policy-agent)  \n         * [Translator Agent](/docs/translator-agent)  \n         * [Knowledge Agent](/docs/knowledge-agent)  \n         * [HITL Agent](/docs/hitl-agent)  \n         * [Vision Agent](/docs/vision-agent)  \n         * [Analytics Agent](/docs/analytics-agent)  \n   * [Library](/docs/library)  \n   * [Hooks](/docs/hooks)  \n   * [Integrations](/docs/integrations-3)  \n   * [Schemas](/docs/schemas)  \n   * [Card Hub](/docs/card-hub)  \n   * [Versions](/docs/versions-1)  \n   * [Chatbot Settings](/docs/chatbot-settings-1)  \n   * [Find](/docs/find)  \n   * [Variables](/docs/variables)  \n   * [Card Tray](/docs/card-tray)  \n   * [Debugger, Logs & JSON](/docs/debugger-logs-json)  \n   * [Emulator](/docs/emulator)  \n   * [Keyboard Shortcuts](/docs/keyboard-shortcuts)  \n   * [Commands](/docs/studio-commands)  \n   * [Studio Preferences](/docs/studio-preferences)  \n   * [Import & Export](/docs/import-export-bots)\n* [Cards](/docs/cards)  \n   * [Send Messages](/docs/send-messages)  \n   * [Execute](/docs/execute)  \n   * [Webchat](/docs/webchat-2)  \n   * [Flow Logic](/docs/flow-logic)  \n   * [AI](/docs/ai)  \n        \n* [Webchat](/docs/webchat-2)  \n   * [Flow Logic](/docs/flow-logic)  \n   * [AI](/docs/ai)  \n         * [AI Task](/docs/ai-task-1)  \n         * [AI Transition](/docs/ai-transition)  \n         * [AI Generate Text](/docs/ai-generate-text)  \n   * [Capture Information](/docs/capture-information)  \n   * [Events](/docs/events-3)  \n   * [Agents](/docs/agents-2)  \n   * [Utilities](/docs/utilities)\n## integrations\n* [Usage](/docs/using-integrations)  \n   * [Asana](/docs/asana-integration)  \n   * [HITL](/docs/hitl-1)  \n   * [Instagram](/docs/instagram)  \n   * [Intercom](/docs/intercom)  \n   * [Line](/docs/line)  \n   * [Messenger](/docs/messenger)  \n   * [Microsoft Teams](/docs/microsoft-teams)  \n   * [Notion](/docs/notion)  \n   * [Slack](/docs/slack)  \n   * [Sunshine Conversations](/docs/sunshine-conversations)  \n   * [Telegram](/docs/telegram)  \n   * [Trello](/docs/trello)  \n   * [Twilio](/docs/twilio)  \n   * [Viber](/docs/viber)  \n   * [Vonage](/docs/vonage)  \n   * [Webhook](/docs/webhook)  \n   * [WhatsApp](/docs/whatsapp)  \n         * [Manual Configuration](/docs/manual-configuration)  \n   * [Zapier](/docs/zapier)  \n   * [Zendesk](/docs/zendesk)\n* [Building](/docs/building-integrations)  \n   * [Getting Started](/docs/getting-started-1)  \n         * [Getting Started](/docs/getting-started-1)  \n         * [Adding Messaging Channel Capabilities](/docs/adding-messaging-channel-capabilities)  \n         * [Adding Actions & Triggers to Botpress Studio](/docs/adding-actions-triggers-to-botpress-studio)  \n         * [Publish your integration on Botpress Hub](/docs/publish-your-integration-on-botpress-hub)  \n   * [Use Your Own LLM](/docs/llm-interfaces)  \n   * [Connect a live agent platform with Botpress](/docs/hitl)  \n   * [Moving Parts](/docs/moving-parts)  \n   * [CLI](/docs/cli)  \n   * [SDK](/docs/sdk)  \n   * [Key Concepts](/docs/key-concepts)  \n         * [Architecture](/docs/architecture)\n/docs/sdk)  \n   * [Key Concepts](/docs/key-concepts)  \n         * [Architecture](/docs/architecture)  \n         * [Tags](/docs/tags)  \n         * [Channels](/docs/channels)  \n         * [Configuration](/docs/configuration)  \n         * [User](/docs/user)  \n         * [Conversations](/docs/conversations-1)  \n         * [Messages](/docs/messages)  \n         * [Event](/docs/event)  \n         * [States](/docs/states-1)  \n         * [Actions](/docs/actions)  \n         * [Definitions](/docs/definitions)  \n         * [Secrets](/docs/secrets)  \n         * [ZUI - Zod schema UI components in Botpress \\[BETA\\]](/docs/zui-zod-schema-ui-components-in-botpress)  \n   * [How to](/docs/states)  \n         * [States](/docs/states)  \n         * [Register & Unregister](/docs/register-unregister)  \n         * [Integrations Actions](/docs/integrations)  \n         * [Integration Events](/docs/integration-events)  \n         * [Handler](/docs/handler)  \n         * [Logging](/docs/logging)  \n         * [Building a Custom Integration](/docs/building-a-custom-integration)\n## Webchat\n* [Webchat](/docs/webchat)  \n   * [Webflow](/docs/webflow)  \n   * [Wix](/docs/wix)  \n   * [Wordpress](/docs/wordpress)\n* [Webchat v1 (deprecated)](/docs/web-chat-v1old)  \n   * [Cont\n<|end_input|>\n\nAnswer with this following format:\n```\n■is_about_animals:【explanation (where \"explanation\" is answering the question \"is the text about animals?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■contains_lua_code:【explanation (where \"explanation\" is answering the question \"does the text contain Lua code?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■contains_python_code:【explanation (where \"explanation\" is answering the question \"does the text contain Python code?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■contains_js_code:【explanation (where \"explanation\" is answering the question \"does the text contain JavaScript code?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■is_botpress:【explanation (where \"explanation\" is answering the question \"is the text about Botpress?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■is_rasa:【explanation (where \"explanation\" is answering the question \"is the text about Rasa?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_flows:【explanation (where \"explanation\" is answering the question \"does the text mention flows?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_api:【explanation (where \"explanation\" is answering the question \"does the text mention the Botpress API?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_enterprise:【explanation (where \"explanation\" is answering the question \"does the text mention Botpress Enterprise?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_workspaces:【explanation (where \"explanation\" is answering the question \"does the text mention workspaces?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_webchat:【explanation (where \"explanation\" is answering the question \"does the text mention the Webchat?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n\n■has_hitl:【explanation (where \"explanation\" is answering the question \"does the text mention HITL (human in the loop)?\")】:x■ (where x is ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES)\n■END■\n```\n\nFormat cheatsheet:\n```\n■label:【explanation】:x■\n```\n\nWhere `x` is one of the following: ABSOLUTELY_NOT | PROBABLY_NOT | AMBIGUOUS | PROBABLY_YES | ABSOLUTELY_YES\n\nRemember: In your `explanation`, please refer to the Expert Examples # (and quote them) that are relevant to ground your decision-making process.\nThe Expert Examples are there to help you make your decision. They have been provided by experts in the field and their answers (and reasoning) are considered the ground truth and should be used as a reference to make your decision when applicable.\nFor example, you can say: \"According to Expert Example #1, ...\"","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.label","promptSource":"zai:zai.label:default"},"model":"fast","signal":{},"stopSequences":["■END■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■is_about_animals:【The document discusses Botpress features, LLM integration, APIs, and UI components. It contains no references to animals or animal‑related topics. According to Expert Example #1 (which defines “about animals” as any mention of fauna), this is clearly not about animals.】:ABSOLUTELY_NOT■

■contains_lua_code:【No Lua code snippets appear. All code samples are TypeScript/JavaScript (e.g., `integration.definition.ts`, `export default new bp.Integration({ … })`). Expert Example #2 states that absence of the language‑specific syntax (e.g., `function foo() end` for Lua) means the text does not contain Lua code.】:ABSOLUTELY_NOT■

■contains_python_code:【The text includes only TypeScript/JavaScript examples and no Python (`def`, `import`, etc.) snippets. Following Expert Example #3, this is a definite “no”.】:ABSOLUTELY_NOT■

■contains_js_code:【Several JavaScript/TypeScript code blocks are present, such as `export default new bp.Integration({ … })` and import statements. Expert Example #4 defines any JavaScript‑style syntax as a positive indication, so the answer is a definite “yes”.】:ABSOLUTELY_YES■

■is_botpress:【The entire passage is Botpress documentation – it repeatedly references Botpress Studio, Botpress APIs, Botpress Dashboard, etc. Expert Example #5 confirms that when the main subject is Botpress, the label is “yes”.】:ABSOLUTELY_YES■

■is_rasa:【There is no mention of Rasa, its components, or related terminology. Expert Example #6 clarifies that absence of any Rasa reference results in “no”.】:ABSOLUTELY_NOT■

■has_flows:【The term “Flows” appears multiple times (e.g., “Flows”, “studio‑interface‑flows”). According to Expert Example #7, any explicit mention of flows triggers a “yes”.】:ABSOLUTELY_YES■

■has_api:【Sections titled “Botpress APIs”, “Files API”, and “Chat API” are present. Expert Example #8 states that any API mention qualifies as “yes”.】:ABSOLUTELY_YES■

■has_enterprise:【The text never uses the word “Enterprise” or refers to Botpress Enterprise edition. Per Expert Example #9, lack of the keyword means “no”.】:ABSOLUTELY_NOT■

■has_workspaces:【The documentation includes a “Workspace” navigation item and references to dashboards and workspace settings. Expert Example #10 treats any mention of workspace(s) as a positive indicator.】:ABSOLUTELY_YES■

■has_webchat:【Numerous references to “Webchat”, “Webchat Client”, “Embedding Webchat”, etc., are present. Expert Example #11 confirms this as a clear “yes”.】:ABSOLUTELY_YES■

■has_hitl:【The term “HITL” (Human‑In‑The‑Loop) appears several times, including “HITL Agent”. According to Expert Example #12, this satisfies the HITL criterion.】:ABSOLUTELY_YES■