# How to generate and manage API keys in Release0
Source: https://docs.release0.com/account/apikey
Learn how to create, manage, and delete API keys for authenticating your applications. This guide covers the process of generating API keys, their usage in external services, and how to securely manage them within your Release0 account.
This is where you can manage your API keys. In this section it will show you the API keys you have created and you can create new ones.
To create a new API key, click on the **Create API Key** button. This will open a modal where you can enter the name of the API key. Once you have entered the information, click on the **Create API Key** button to create the API key.
This will generate a new API key that you can use to authenticate your requests to the API. You can copy the API key and use it in your application.
You can also delete an API key by clicking on the **Delete** button next to the API key you want to delete. This will remove the API key from your account and it will no longer be valid for authentication.
# How to manage your account across all workspaces
Source: https://docs.release0.com/account/general
Manage your account settings and preferences across all workspaces. This guide covers how to access user settings, update your profile, manage notifications, and handle API keys.
User Settings are accessible from the bottom left corner of the side menu. They are not spwecific to a workspace, but rather apply to your entire account. This means that any changes you make in the User Settings will be reflected across all workspaces you have access to.
This will open the **User Settings** menu, where you can manage your account settings, notifications, and API keys.
You can access the following settings from the **User Settings** menu:
### Account
This is where you can update your name, email address, user ID, avatar image, set your default workspacce and delete your account.
* **Name**: Your display name.
* **Email**: Your email address. This is used for notifications and account recovery.
* **Avatar**: Your profile picture. This is used to identify you in the app and in notifications.
* **User ID**: Your unique identifier. This is used to identify you in the database and in the API.
* **Default Workspace**: The workspace that will be selected by default when you log in. You can change it at any time.
* **Delete Account**: Use this option to permanently delete your account. This action is irreversible and will delete all data associated with your account, including workspaces, agents, and settings. This action cannot be undone so be careful when using it.
### Notifications
This is where you can manage your notification settings by adjusting the type of notifications you receive. You can choose to receive notifications for:
* Agent usage limit alert
* Montlhy agents usage report
* Domain configuration updates
* Subscription to product updates
### API Keys
This is where you can manage your API keys. In this section it will show you the API keys you have created and you can create new ones.
# How to manage Notifications in Release0 Dashboard
Source: https://docs.release0.com/account/notifications
Customize your notification preferences to stay updated on important account and workspace changes. This guide covers how to manage notifications for agent usage limits, monthly reports, domain updates, and product updates.
...existing code...
icon: 'bell'
description: Customize your notification preferences to stay updated on important account and workspace changes. This guide covers how to manage notifications for agent usage limits, monthly reports, domain updates, and product updates.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Notifications are a crucial part of your account settings. They help you stay informed about important updates and changes related to your account and workspaces.
You can access the **Notifications** settings from the **Account Settings** menu, which is located in the bottom left corner of the side menu. This section allows you to manage your notification preferences.
This is where you can manage your notification settings by adjusting the type of notifications you receive. You can choose to receive notifications for:
* **Agent usage limit alert**: Receive notifications when your agent usage limit is reached.
* **Montlhy agents usage report**: Receive a monthly report of your top 5 agents usage and total agents created.
* **Domain configuration updates**: Receive notifications when your domain configuration is updated.
* **Subscription to product updates**: Receive notifications when new features are added to the platform.
# How to configure Advanced Agent Settings
Source: https://docs.release0.com/editor/agent-settings/advanced-settings
Configure advanced options for your agent including user recognition, session handling, and response behaviors.
In order to access your agent advanced settigns, open your **agent settings** and click on the three dots located at the bottom of the agent settings dialog box
Then clik on **Advanced Settings**. This will open a new dialog displaying an additional set of options.
### Remember user
When this option is enabled, the user will be remembered if the user comes back after exiting the chat.
This setting enables the chat session to be saved in the user’s browser storage. If a user answers a question and later closes the chat, the conversation will resume from the same point when they return.
You can choose between two storage options:
* **Local Storage**: The session is saved in the user’s browser and will persist across sessions, but only on the same device and browser.
* **Session Storage**: The session is also stored in the user’s browser, but it is cleared once the browser tab or window is closed.
This is ideal for scenarios where you want to maintain the context of the conversation, such as in customer support or interactive agents. It allows users to return to their previous conversations without losing any context.
> **Note**: If you publish a new version of your Agent, any saved sessions will be automatically reset. This means that if a user has a stored session and the bot is updated in the meantime, refreshing or reopening the chat will restart the conversation from the beginning.
### Prefill fields
When this option is enabled, the agent will pre-fill input fields when the associated variables have a value.
### Hide query parameters on agent start
When this option is enabled, the agent will automatically hide the URL query parameters whern it starts.
This is useful when you want to keep the URL clean and prevent users from seeing or modifying the query parameters that might be used to pre-fill fields or pass other information to the agent.
## Google Tag Manager
Enter your Google Tag Manager id to better track your agent conversion flow.
This allows you to integrate your agent with Google Tag Manager, enabling you to track user interactions, conversions, and other metrics related to your agent's performance.
This is particularly useful for analyzing user behavior, optimizing the agent's performance, and improving the overall user experience.
## Allowed origins
When this option is enabled, your agent will only work when invoked from specific website origins. **By default, your agent can be executed on any website**. This can prevent people from instancing your agent from other websites. Typically to prevent including your agent on another site by an iFrame method.
This is useful when you want to restrict the usage of your agent to specific domains or applications, ensuring that it is only accessible in trusted environments.
## Custom head code
You can add custom code to be included in the head of your agent. This code will be added at the bottom of the agent head section, just before the closing `` tag. Only meta and script tags are allowed.
This feature is useful for adding custom scripts, styles, or other resources that you want to load when the agent is initialized. For example, you can include custom analytics scripts, CSS styles, or any other head elements that are necessary for your agent's functionality.
Check out our blog post featuring a use case of how to use this feature to save session data in your agent to remember a user across sessions: [How to Remember Users Across Sessions](https://release0.com/blog/custom-session-auth-release0/).
# How to customize your Agent Branding Settings
Source: https://docs.release0.com/editor/agent-settings/agent-branding
Customize or remove the footer branding from your agent chat interface for a white-label experience.
## Customize Agent Chat Footer Branding
The **Branding Settings** section allows you to personalize or fully remove the footer branding from your agent chat interface. This feature is ideal for creating a **white-label experience**, enhancing professionalism, and aligning with your brand identity.
> **Note**: This feature is only available for **Pro** and **Business** plans.
### Footer Customization Options
You can configure the following:
* **Show Brand Toggle**: Remove all branding elements from your agent.
* **Brand Text and Brand Link**: Remove the default Powered by Release0 brand link and replace it with your own brand and page URL.
### Steps to Customize Branding
In order to access your agent **Branding Settings**, open your agent settings and click on the three dots located at the bottom of the agent settings dialog box
This will open the **Branding Settings** dialog box, where you can customize your agent branding.
* **Show Brand Toggle**: This option to remove the default branding from your agent.
* **Branding Text**: Enter your brand name.
* **Branding Link**: Enter the URL of your brand page.
# How to set an Expiration for your Agent
Source: https://docs.release0.com/editor/agent-settings/agent-expiration
Learn how to set Agent Expiration in Release0 to automatically disable your chatbot after a specific date. This guide explains how to configure expiration settings, display custom messages, and set up redirects for expired agents.
Set an expiration date for your agent to automatically disable access after a specific date.
### How to Set an Expiration Date
1. Go to the agent's **Configuration** section.
2. Click the **Expiration** button located in the settings panel.
3. In the dialog that opens, enter the expiration date manually or use natural language like:
* `in 3 days`
* `next Friday`
* `2025-06-01 18:00`
4. Optionally, write a custom message or set a redirect URL after expiration.
### What Users Will See
Once the agent has expired:
* Users visiting the public URL will no longer be able to access or interact with it.
* If a **custom message** was set, it will be displayed in place of the agent.
* If a **redirect URL** was configured, users will be taken there automatically.
> **Note**: You can update or remove the expiration date at any time from the same **Configuration** section.
# How to customize your Agent Favicon
Source: https://docs.release0.com/editor/agent-settings/agent-favicon
Customize your agent's favicon to enhance branding and user experience in the chat interface.
Inside your [agent settings](/editor/agent-settings/agent-settings), you can customize the favicon that appears in the browser tab when users interact with your agent. This helps enhance branding and provides a more professional appearance.
## How to Change the Favicon
1. **Open Agent Settings**: Navigate to your agent settings by clicking on the agent name in the top left corner of the flow editor or within the workspace view by clicking on the top right corner and select **Configure**.
2. **Access Favicon Settings**: Click on the **Agent Link Preview** to see the **Favicon** option.
3. **Upload Favicon**: Click on the favicon image to select a new favicon image
4. **Choose Image**: Select an image file from your computer or link to an image URL. The recommended size is 32x32 pixels for optimal display.
5. **Save Changes**: Click the **Save** button to apply your new favicon.
# How to customize the Agent Link Preview
Source: https://docs.release0.com/editor/agent-settings/agent-link-preview
Learn how to customize the Agent Link Preview in Release0 to control how your chatbot appears when shared on social media and messaging platforms. This guide covers editing titles, descriptions, and images for optimal link visibility.
Control how your agent appears when shared on social media and messaging platforms.
The **Agent Link Preview** feature allows you to customize how your chatbot agent appears when shared on platforms like WhatsApp, X (formerly Twitter), LinkedIn, and Facebook. This customization enhances visibility and engagement by providing a tailored preview that includes a title, description, and image.
### Customizing the Link Preview
1. Go to the agent’s **Configuration** screen.
2. Scroll to the **Link Preview** section.
3. Click the pencil icon 🖊️ to open the editing panel.
### Editable Fields
* **Title**: The headline shown in the preview.
* **Description**: A short summary that entices the user.
* **Image**: The thumbnail image shown beside the text.
> **Recommended image size**: 1200×630px (landscape aspect ratio)
### Supported Platforms
Your custom preview will appear when shared on platforms like:
* WhatsApp
* X (Twitter)
* LinkedIn
* Facebook
# How to secure your Agent with a Password
Source: https://docs.release0.com/editor/agent-settings/agent-password
Secure your agents with password protection to control access and restrict unauthorized usage.
Add a password to your agent to restrict access. Users must enter the password before they can interact with the agent.
### How to Set a Password
1. Go to the **Configuration** section.
2. Click on the **Password** button.
3. Enter the desired password in the dialog that appears.
### What Users Will See
Once the password is set, users visiting the agent will encounter a secure entry screen where they must enter the password to proceed.
> You can update or remove the password at any time from the same **Configuration** section.
# How to generate QR Code for sharing your Agent
Source: https://docs.release0.com/editor/agent-settings/agent-qr-code-generator
Learn how to generate an Agent QR Code in Release0 to quickly share your chatbot with users. This guide covers customization options, download formats, and best practices for using QR codes in marketing and support.
Each agent has a unique QR code generated automatically for easy sharing and access.
### How to Access the QR Code
1. Go to the agent's **Configuration** section by clicking on the agent's name in the left sidebar.
* Alternatively, you can access it from the **Agent Settings** dialog by clicking on the top right corner of the agent card in the workspace view.
2. Scroll to the **QR Code** area.
3. Click the pencil icon 🖊️ to open customization options.
### Customization Options
* Change the QR code color.
* Remove the Release0 icon from the center of the QR code — *this feature is available for paid plans only*.
* Live preview available in the customization dialog.
### Download
You can download the QR code as a **PNG** to use in printed materials, packaging, or social media.
> The QR code will automatically regenerate if your agent’s public URL changes.
# How to configure your Agent Settings
Source: https://docs.release0.com/editor/agent-settings/agent-settings
Configure your agent's settings including name, URL, access controls, and other essential parameters.
The **Agent Configuration** screen allows you to configure various aspects of your agent, including its name, URL, access settings, and more. Below are the available configuration options:
### How to access Agent Configuration?
There are two ways to access the Agent Configuration:
* **From the Agent List**: Click on the three dots next to the agent name and select **Configuration**.
* **From the Flow Editor**: Click on the agent name at the top left of the flow editor.
***
### Agent URL
Your agent’s public URL is made up of two parts:
1. **Domain** – The base domain under which your agent will be published.
2. **Agent Slug** – A customizable path segment that uniquely identifies your agent.
> Example URLs:
>
> * `https://r0.ar/your-workspace-slug/nps-agent`
> * `https://release0.ar/your-team/support-agent`
> * `https://chat.mybrand.com/support-bot`
> * `https://bot.mycompany.ai/assistant`
To generate a valid public URL, the agent must be [**published**](/editor/publish). Unpublished agents cannot be accessed via their public link.
### Custom Domains
If you're using a **custom domain**, your agent URL will be cleaner and more direct — it won't include your workspace slug.
> **Note**: The **workspace slug is only required** when using Release0-managed domains like `r0.ar` or `release0.ar`.
#### Example URLs
* **Using a custom domain (no workspace slug):**\
`https://chat.acme.com/faq-agent`\
`https://support.yourbrand.ai/sales-bot`\
`https://agents.mycompany.com/helpdesk`
* **Using a Release0 domain (with workspace slug):**\
`https://r0.ar/my-workspace/my-agent`\
`https://release0.ar/team-alpha/feedback-bot`
To use your own domain, see the [Custom Domains](/workspace/customDomains) documentation for full setup instructions.
### Agent Favicon
* The favicon is the small icon displayed in the browser tab when users interact with your agent.
* You can upload a custom favicon image or use a URL to link to an existing image.
* Recommended size: **32x32 pixels** for optimal display.
* See [Agent Favicon](/editor/agent-settings/agent-favicon) for detailed instructions on how to change the favicon.
***
### Agent Name
* The display name for your agent.
* This is visible to users and in the agent link preview.
* There are no strict limits, but short, descriptive names work best.
***
### Agent Icon
* The icon that represents your agent.
* You can choose from a set of emojis, upload a custom image, or paste a URL.
* The icon is shown in the agent list and in link previews.
* Recommended image size: **512x512px** (square).
To change it, click the current icon and select a new one from the emoji picker, or upload/link an image.
***
### Tags
* Add relevant tags to help categorize your agent.
* Tags are useful for organizing agents and filtering them in dashboards.
* Example: `Support`, `AI Assistant`, `Chatbot`
For more information on how to use tags, please refer to the [Tags](/workspace/tags) documentation.
***
### Description
* A short description of your agent.
* Used in link previews, agent list, and internal dashboards.
* Example: *"A smart customer support agent for handling inquiries."*
***
### Save and Publish
* **Save**: Stores your configuration changes without making the agent public.
* **Publish**: Deploys the agent and makes it publicly accessible with the current settings.
> **Note**: Always review your settings before publishing.\
> URL changes after publishing may break existing links.
# How to unpublish your Agent to disable access
Source: https://docs.release0.com/editor/agent-settings/agent-unpublish
Learn how to temporarily remove your agent from public access while making updates or changes.
The **Unpublish** option allows you to remove the agent from public access. This is useful when you want to make changes or updates to the agent without it being accessible to users.
When you unpublish an agent, it will no longer be available at its public URL. However, you can still access it in the editor for further modifications.
To unpublish an agent, follow these steps:
1. Open the agent settings in the editor.
2. Click on the **Unpublish** button.
3. Confirm the action when prompted.
4. The agent will be unpublished and will no longer be accessible via its public URL.
# What is an Agent in Release0?
Source: https://docs.release0.com/editor/agent-settings/overview
Learn what Agents are in Release0 and how they work as customizable chatbots and interactive forms.
In **Release0**, an **Agent** represents a fully customizable, automated chatbot or interactive form. They serve as the main tool to engage users through conversational workflows and automation.
## How to Create an Agent
1. **Navigate to the Agents section** in your Release0 workspace.
2. **Click on the "Create Agent" button** to start a new agent.
There are 3 ways to create an agent:
* **Use a template**: Choose from a variety of pre-built templates to kickstart your agent.
* **Build from scratch**: Start with a blank canvas and build your agent from the ground up.
* **Import an agent**: Bring in an existing agent from another workspace or account.
### Creating an Agent from Template
When you select the **Use a template** option, you'll be presented with a list of available templates organized in categories. You can browse the categorized templates, preview their name, description, and thumbnail image, and select the one that best fits your needs. You can also see the template agent preview in the right panel to get a better idea of how it will look and function.
### Building an Agent from Scratch
When you select the **Build from scratch** option, you'll be taken to the [flow editor](/editor/graph) where you can start building your agent from a blank canvas. You can add [elements](/editor/elements/overview), customize the flow, and configure settings as needed.
### Importing an Agent
Choosing the **Import an agent** option lets you select a file containing an existing agent from another workspace or account. Once you select the agent file, click on the **Open** button to start the process. Then you'll be taken to the flow editor where you can review and edit the imported agent.
## Core Capabilities
Agents allow you to:
* Guide users through [multi-step](/guides/create-first-agent) conversational flows
* Collect input via [text](/editor/elements/user-inputs/text), [numbers](/editor/elements/user-inputs/number), [emails](/editor/elements/user-inputs/email), [dates](/editor/elements/user-inputs/date), [files](/editor/elements/user-inputs/fileUpload), and more
* Execute logic with conditions and [A/B tests](/editor/elements/logic/ab-test)
* Trigger external tools and APIs ([Google Sheets](/editor/elements/integrations/google-sheets), [Zapier](/editor/elements/integrations/zapier), [Stripe](/editor/elements/user-inputs/collect-payment))
* Display media: **[images](/editor/elements/agent-dialog/image)**, **[videos](/editor/elements/agent-dialog/video)**, **[audio](/editor/elements/agent-dialog/audio)**, **[embeds](/editor/elements/agent-dialog/embed)**
* Integrate advanced AI: **[OpenAI](/editor/elements/ai-agents/openAi)**, **[Dify.AI](/editor/elements/ai-agents/dify)**, **[Mistral](/editor/elements/ai-agents/mistralAI)**, **[Groq](/editor/elements/ai-agents/groq)**, etc.
## Configuration Options
| Setting | Description |
| ---------------------- | --------------------------------------------- |
| **Name & URL** | Define display name and public URL |
| **Icon & Preview** | Choose emoji, image, or URL for agent preview |
| **Public Domain** | Assign under a default or custom domain |
| **Tags & Description** | Categorize for easy filtering |
| **Access Control** | Set expiration, password, or allowed origins |
| **QR Code** | Auto-generated QR code for sharing |
***
## Theming & Customization
* Customize fonts, colors, icons, shadows
* Enable custom branding ([available on Pro+ plans](https://release0.com/pricing))
* Assign [avatars](/theme/overview#agent-bubble) and dynamic themes
* Use reusable [templates](/theme/overview#template) for faster deployment
## Deployment Options
Agents can be deployed via:
* **[Standard embed](/integrations/web/overview#1-standard-embed)** (iframe or component)
* **[Popup](/integrations/web/overview#2-popup-embed)** or **[chat bubble](/integrations/web/overview#3-chat-bubble-embed)**
* **[Direct link](/editor/agent-settings/agent-settings#agent-url) or [QR code](/editor/agent-settings/agent-qr-code-generator)**
* **[Third-party platforms](/integrations/overview)** like Webflow, WordPress, WhatsApp
## Integrations & Automation
Agents seamlessly connect with:
* **[Google Sheets](/editor/elements/integrations/google-sheets)**, **[Zapier](/editor/elements/integrations/zapier)**, **[Make.com](/editor/elements/integrations/make-com)**
* **[Stripe](/editor/elements/user-inputs/collect-payment)** (for payments)
* **[Chatwoot](/editor/elements/integrations/chatwoot)**, **[Cal.com](/editor/elements/integrations/cal)**, **[Resend](/editor/elements/integrations/send-email#configuration-steps-using-resend-as-smtp-providers)**, and more
* Custom **[webhooks](/editor/elements/integrations/http-request#5-optional%3A-call-a-webhook)** and **[HTTP requests](/editor/elements/integrations/http-request)**
## Flow Building elements
Release0 includes [40+ elements](/editor/elements/overview):
* `Text`, `Image`, `Video`, `Audio`
* `User Input`: email, phone, number, date, etc.
* `Logic`: Condition, AB Test, Set Variable
* `AI`: OpenAI, Claude, Mistral, Groq
* `Integrations`: Stripe, Zapier, HTTP, Webhook
## Analytics & Insights
* [Real-time](/submission/realtime) and historical [analytics](/submission/analytics)
* Track completion/drop-off rates
* UTM capture for campaigns
* Integration with [Google Analytics](/editor/agent-settings/advanced-settings#google-tag-manager) & [Meta Pixel](/editor/elements/integrations/meta-pixel)
## Curious why conversational agents often outperform traditional forms?
Explore our [Chatbots vs Forms: Which Converts Better?](https://release0.com/blog/chatbots-vs-forms-which-converts-better) blog post for data and insights.
> Agents are at the heart of Release0's platform—designed for scalability, automation, and seamless user interaction.
# How to publish an Agent in Release0
Source: https://docs.release0.com/editor/agent-settings/publish
Learn how to publish your agent and make it available to the public with customizable URL settings.
While you initially create your Agent, it is in a **draft** state. This means that only you can see it and interact with it. To make your Agent available to the public, you need to **Publish** it.
Once you *Publish* your Agent, its **public URL** will become active, allowing you to share it with anyone and start collecting responses.
> **Note**: Any changes you make to the Agent will not be visible to users unless you click the **Publish** button again.
### Publishing Your Agent
Once you click on the **Publish** button, you will be directed to the **agent configuration** dialog. Here, you can set the following options regarding your agents publication:
* Agent public link. Here you can select the public domain and define the unique URL for your agent. You can use the default domain or connect your own. Plesae see the [Custom Domain](/workspace/customDomains) documentation for more details.
* Agent path. This is the unique path for your agent. It will be used in the public URL of your agent. For example, if you set the path to `my-agent`, the public URL will be `https://r0.ar/my-agent`. Please make sure not to use spaces or special characters in the path exceprt for dashes.
* Agent name. This is the name of your agent. It will be used in the public web of your agent. For example you can set the name to `My Agent`, and it will be displayed as `My Agent` in the public web of your agent.
> Note: There are additional settings you can configure in the **Agent Configuration** dialog. For more information on these settings, please refer to the [Agent Configuration](/editor/agent-settings/agent-settings) documentation.
> If you are bringing your own custom domain, your agent link do not use a **[workspace slug](/workspace/general#workspace-slug)**. The slug is only used for the domains provided by Release0 (e.g. `release0.ar/your-slug/agent`).
After making the necessary changes to your agent settings, you can click on **Save and Publish**, and your Agent will be published and available to the public. You will see a confirmation message indicating that your Agent has been successfully published.
Now you can share the public URL of your Agent with anyone, and they will be able to access it without needing to log in or create an account.
***
### Additional options
You can check the agent [Advanced Setting](/editor/agent-settings/advanced-settings) and [Branding Settings](/editor/agent-settings/agent-branding) documentation for more information on how to customize your agent's functionality.
For changes to your agents appearance, you can check the [Theme](/theme/overview) documentation for more information on how to customize your agent's appearance.
# How to use the Context Menu in Release0
Source: https://docs.release0.com/editor/context-menu
Learn how to use the context menu in the builder interface to perform actions like duplicating or deleting elements.
Triggering a **context menu** in a builder interface, allows users to perform specific actions by right-clicking on different elements (groups, elements, or edges). Here's a concise breakdown:
1. **Right-Click on a Group**:
* **Duplicate**: Creates a copy of the group with identical elements and settings.
* **Delete**: Removes the entire group.
2. **Right-Click on a element**:
* **Duplicate**: Creates a copy of the element with identical settings, placing it directly below the original.
* **Delete**: Removes the element.
3. **Right-Click on an Edge**:
* **Delete**: Removes the edge.
# How to use the Play Audio element
Source: https://docs.release0.com/editor/elements/agent-dialog/audio
Learn how to use the Play Audio element to enhance user interactions with audio files or URLs.
The **Play Audio** Agent Dialog element allows you to play a recorded audio file for your users. This element supports both uploading audio files and pasting audio file URLs.
## Key Features
* **Upload Audio**: Add an audio file directly from your device.
* **Paste URL**: Use a URL to reference an audio file hosted online.
## Troubleshooting
### The First Audio element Does Not Autoplay
* This behavior is expected due to browser policies.
* Most web browsers require the user to interact with the page (e.g., click or scroll) before audio can play automatically.
### Audio Not Playing
* The issue is likely caused by a malformed audio file.
* To resolve this:
* Ensure the audio file is correctly encoded.
* Test by downloading the file and playing it locally on your computer.
* Re-encode the file if necessary using an audio editing tool or converter.
## Supported Formats
* Common formats such as `.mp3`, `.wav`, and `.ogg` are widely supported.
* Ensure compatibility with your users' devices and browsers.
## Example Usage
### Uploading an Audio File
* Click the **Upload** button in the element configuration.
* Select the desired audio file from your device.
### Pasting an Audio URL
Locate your audio file URL and paste it into the element.
```markdown theme={null}
https://example.com/audio-file.mp3
```
# How to use the Embed Content element
Source: https://docs.release0.com/editor/elements/agent-dialog/embed
Learn how to use the Embed Content element in Release0 to display websites, videos, PDFs, and other external content directly inside your chatbot. This guide covers setup, supported formats, and tips for creating rich, interactive user experiences
The **Embed Agent Dialog element** enables you to display websites, iframes, or specific embedded content, such as videos or PDFs, directly to your users.
## Key Features
* **Embed Websites and Videos**:\
Paste a URL (e.g., YouTube, Vimeo, mp4, or other embeddable content).\
Note: Some websites may not allow embedding. If you see a blank space, the website likely prohibits embedding.
* **Embed PDFs from Google Drive**:\
Select the PDF file on Google Drive.\
Right-click > **Preview** > **More actions** > **Open in a new window**.\
Click **More actions** > **Embed item**.\
Copy the embed code and paste it into the Embed Agent Dialog element configuration.
* **Wait for Event**:\
Use this option if you own the website being embedded and want to continue the agent flow only after a specific event is dispatched from the embedded content.
To send an event from the embedded website to the bot:
```javascript theme={null}
window.parent.postMessage(
{ name: 'My event', data: 'Custom data passed to the Agent variable' },
'*'
);
```
You can define the name of the event, it needs to match what you’ve set in the Embed Agent Dialog element configuration.
# How to use the Show Image element
Source: https://docs.release0.com/editor/elements/agent-dialog/image
Discover how to use the Show Image element in Release0 to display pictures, GIFs, and stock images in your chatbot. This guide explains how to upload, link, and configure images to create engaging, visually rich conversations.
The **Show image** Agent Dialog element allows you to display an image to your users. This element supports various ways of adding images, providing flexibility and convenience.
## Features
* **Upload an Image**: Directly upload an image from your device.
* **Paste a URL**: Add an image by pasting its URL.
* **GIF Integration**: Choose a GIF using the native **Giphy** integration.
* **Stock Images**: Search and select images from **Unsplash** directly within the interface.
###
## Use Cases
* Display visual content to enhance user engagement.
* Provide graphical explanations or illustrations.
* Use GIFs for dynamic and interactive messaging.
## Example Configuration
1. **Uploading an Image**:
* Click on the "Upload" button.
* Select an image from your device.
* The image will appear in the Agent Dialog element.
2. **Pasting a URL**:
* Copy the URL of the desired image.
* Paste it into the provided field.
* Ensure the URL points to a valid image format (e.g., `.jpg`, `.png`, `.gif`).
3. **Using Giphy or Unsplash**:
* Click on the Giphy or Unsplash option.
* Search for a keyword (e.g., "celebration").
* Select the desired image or GIF to include
# How to use the Text element to display messages
Source: https://docs.release0.com/editor/elements/agent-dialog/text
Learn how to use the Text element in Release0 to display custom messages, format content, and add clickable links in your chatbot conversations. This guide covers setup tips and best practices for creating clear, engaging dialogues.
The **Text** Agent Dialog element allows you to display simple text messages to your users. These messages can be chained together, creating a smooth animation that enhances the user experience.
###
## Adding a Link to Text
You can include a link within your text messages by using the link icon in the editor.
### Supported Link Formats
You can insert links using the following formats:
* **HTTP/HTTPS URLs**: `http://` or `https://`
* **Email Links**: `mailto:example@example.com`
* **Phone Links**: `tel:+123456789`
* **SMS Links**: `sms:+123456789`
Additionally, links can dynamically include variables, enabling personalized or contextual link generation.
### Example of a Text Agent Dialog with Links
```markdown theme={null}
Hello! Check out our [website](https://release0.com) for more details.
You can also [contact us](mailto:support@release0.com)
```
# How to use the Play Video element
Source: https://docs.release0.com/editor/elements/agent-dialog/video
Learn how to use the Play Video element in Release0 to embed YouTube, Vimeo, TikTok, and other video content directly into your chatbot. This guide explains supported platforms, configuration options, and tips for smooth playback.
The **Play video** Agent Dialog element allows you to play videos to your users by pasting video URLs from supported platforms. This element is designed to automatically detect the video service and configure the correct settings for playback.
### Supported Video Services
When you paste a video URL, the system automatically detects the service and adjusts the iframe settings. Supported platforms include:
* **YouTube** (videos and shorts)
* **Vimeo**
* **TikTok**
* **Gumlet**
* **OneDrive**
### Missing Services
If the video platform is not supported, you can use the **[Embed content](./embed)** Agent Dialog element and paste the iframe code manually.
### Limitation: YouTube Clips
YouTube clips are not supported because the platform cannot automatically transform the clip URL into an embeddable format. To embed a YouTube clip:
1. Go to YouTube and click **Share > Embed**.
2. Copy the iframe code.
3. Use the **Embed Agent Dialog element** to paste the iframe code.
### Adding a Video with a URL
1. Copy the video URL from a supported platform.
2. Paste it into the Video Agent Dialog element.
3. The system will handle the embedding automatically.
### Adding a Video with the Embed Agent Dialog element (for unsupported services)
1. Obtain the iframe embed code from the video platform.
2. Add an **[Embed content](./embed)** Agent Dialog element.
3. Paste the iframe code directly into the element.
# How to integrate your agent with Anthropic
Source: https://docs.release0.com/editor/elements/ai-agents/anthropic
Step-by-step guide to configure and use the Anthropic Claude AI integration element for AI-driven messages.
The **Anthropic** Integration element enables you to create and manage AI-driven messages in your agent using the **Claude AI** model. Below is a step-by-step guide to configuring and using this integration effectively.
***
## Features of the Anthropic Integration
* **Dialogue Management**: Easily manage a sequence of user and assistant messages using the `Dialogue` message type.
* **Chat History**: Seamlessly pass previous interactions to the Claude AI model for context-aware responses.
* **Vision Support**: Automatically detects and processes image URLs provided in user messages (if supported by the model).
***
## Configuration Steps
### 1. **Intro Message Setup**
Use the **Intro Group** element to provide a welcome message to users. For example:
```markdown theme={null}
Hello! I’m a bot that showcases the new Claude AI integration element by Anthropic.
To get started, just type something — anything.
```
***
### 2. **User Input Collection**
Set up the **User Input** element to collect and store messages from users. Steps:
1. **Collect User Message**: Configure the element to receive and save the user’s input under a variable, e.g., `User Message`.
2. **Append to Chat History**: Use the `Append {{User Message}}` action to ensure the user message is stored in the chat history.
***
### 3. **Creating AI Responses**
The **AI Loop** element generates responses using the Claude AI model. Here’s how to configure it:
1. **Select Claude Model**: Choose the desired Claude version (e.g., `claude-2.1`) from the dropdown menu.
2. **Pass Messages**: Under the `Messages` section, use the `Dialogue` type to pass the `Chat History` containing user and assistant messages.
3. **Save Response**: Save the assistant's response to a variable (e.g., `Assistant Message`) and append it to the chat history.
***
### 4. **Vision Support**
Claude AI supports vision processing for image URLs in user messages. To use this feature:
1. Ensure the message contains a valid image URL isolated from other text.
2. The Claude AI model will process the image if it supports vision; otherwise, it will treat the URL as plain text.
**Example User Message with Vision Support**:
```plaintext theme={null}
What's in this picture?
https://domain.com/image.png
```
> **Note**: Ensure the image URL is on a separate line for proper detection.
***
## Best Practices for Dialogue Management
* **Sequence Setup**: When passing messages, structure them logically, starting with the user's message, followed by the assistant's responses.
* **Saving Responses**: Always save the assistant’s response in a variable to update the chat history dynamically.
***
## Validation and Testing
Before deploying the Anthropic Claude integration:
* Verify that user inputs and assistant responses are correctly appended to the chat history.
* Test image URL parsing and ensure vision-related responses are generated (if applicable).
* Ensure smooth handover of the `Chat History` to the Claude AI element for context-aware replies.
# How to integrate your Agent with ChatNode
Source: https://docs.release0.com/editor/elements/ai-agents/chatnode
Learn how to integrate ChatNode with Release0 to enhance chatbot responses using external AI models or knowledge bases.
## Overview
Integrating Release0 with [ChatNode](https://www.chatnode.ai/) allows you to connect external AI models or knowledge bases to enhance chatbot agent responses dynamically.
## Prerequisites
Before integrating ChatNode with Release0, ensure you have:
* A **ChatNode** account.
* An API key from ChatNode for authentication.
## Steps to Integrate
### 1. Get Your ChatNode API Key
1. Log in to **ChatNode**.
2. Navigate to **API Settings**.
3. Copy your **API key**.
Now your ChatNode chatbot will be linked with your Agent.
# How to integrate your Agent with DeepSeek
Source: https://docs.release0.com/editor/elements/ai-agents/deepseek
Enable advanced Ai models in your chatbot using DeepSeek integration.
Integrating Release0 with **DeepSeek** allows you to leverage advanced AI models for generating high-quality responses in your chatbot.
DeepSeek is known for its capabilities in dialogue generation, multi-turn interactions, and context-aware responses.
## Prerequisites
Before integrating DeepSeek with Release0, ensure you have a **DeepSeek API key**.
## Steps to Integrate
### 1. Get Your DeepSeek API Key
1. Sign up at [DeepSeek](https://platform.deepseek.com/api_keys).
2. Navigate to **API Keys**.
3. Generate and copy your **API key**.
### 2. Configuring DeepSeekelement
1. Copy the API key and paste it in the DeepSeek element.
2. Select a model from the available list. For example `deepseek-chat`.
3. Provide Messages:
* Create a variable for storing user input messages (e.g., `{{user-input}}`).
* Select the Message Type for example 'Dialogue'.
* Add the variable where the user input was captured (e.g., `{{user-input}}`).
* Set the 'starts by' to 'user'.
* In the 'Save response' section, create a variable for storing the assistant response (e.g., `{{Deepseek-response}}`).
* Add a text element to append the show response chat (e.g., `{{Deepseek-response}}`).
> **Note**: You need a valid payment method to generate the API key. You can start with as low as a \$2 dollar credit.
### Use case video example
# How to integrate your Agent with Dify.AI
Source: https://docs.release0.com/editor/elements/ai-agents/dify
Learn how to integrate Dify.AI assistant into your Agent Dialog for seamless chatbot interactions.
The **Dify.AI** element lets you seamlessly integrate your **Dify.AI assistant** into your **Agent Dialog**, enabling dynamic and intelligent conversations.
First you need to create an account on [Dify.AI](https://www.dify.ai/) and set up your AI assistant.
Your Dify.AI assistant consists of an app and a knowledge base.
## Prerequisites
1. **Dify.AI Account**: Sign up for a free account on [Dify.AI](https://www.dify.ai/).
2. **Create an App**: Set up your AI assistant by creating an [app](https://cloud.dify.ai/apps) in Dify.AI.
3. **Knowledge Base**: Populate your app with relevant data by creating a [knowledge base](https://cloud.dify.ai/datasets).
4. **Link Knowledge Base to App**: Ensure your knowledge base is linked to your app for optimal performance.
5. **API Key**: Obtain your app API key from the Dify.AI dashboard, click on the app you created, and navigate to the **left side menu**, then click on **API Keys** Located on the top right corner and then click on **Create new Secret Key** to generate and copy your API key.
6. **Knowledge Base Key**: Obtain your knowledge base key from the Dify.AI dashboard, click on the knowledge tab, then on the top left corner click on API ACCESS. Then click on **API Keys** Located on the top right corner and then click on **Create new Secret Key** to generate and copy your Knowledge API key.
> **Note**: App API Key satrts with `app-` and Knowledge Base Key starts with `dataset-`.
## Configure your Dify.AI element
1. **Add new Dify.AI element**: Select the **Dify.AI** element from the list of available elements.
2. **Add new Dify.AI Account**: Click on **Add new account** to configure your Dify.AI account.
3. **Enter Account Details**: Provide the following details:
* **Account Name**: A name to identify your Dify.AI account.
* **App API Key**: The API key you obtained from your Dify.AI app.
* **Knowledge Base Key**: The API key you obtained from your Dify.AI knowledge base.
* **Create Account**: Click on the **Create Account** button to save your Dify.AI account configuration.
4. **Select your Dify.AI Account**: Choose the Dify.AI account you just created from the dropdown menu.
5. **Save your element**: Click on the **Save** button to save your Dify.AI element configuration.
## Using the Dify.AI element in your Agent Dialog
Once your Dify.AI element is configured, you can use it in your **Agent Dialog** to send messages to your Dify.AI assistant.
This action sends a **user message** to your agent. The response can be saved to a variable and displayed in your **Agent Dialog**.
### Required Parameters
1. **Query**:\
The **user message** you want to send to your agent.
2. **Conversation ID**:\
The unique identifier for the conversation you want to associate with this message.
* If no Conversation ID is provided, a new conversation will be automatically created.
* This variable will update dynamically if a new conversation is initiated.
3. **Response Variable**:
The variable where the response from your Dify.AI assistant will be stored.
* You can create a new variable or select an existing one to store the response.
# How to integrate your Agent with ElevenLabs
Source: https://docs.release0.com/editor/elements/ai-agents/elevenlabs
Guide to using ElevenLabs API for text-to-speech conversion and enhancing audio agent dialogs.
The **ElevenLabs** element uses ElevenLabs API and enables you to convert text into speech using their voices and models. This integration is useful for enhancing user interactions with **Audio Agent Dialogs** by generating realistic audio responses dynamically.
## Features
* **Text-to-Speech Conversion**: Transforms a text input into speech using ElevenLabs' models.
* **Temporary Audio Link**: Generates a temporary URL to the audio file, which can be used directly in an **Audio Agent Dialog** or other functionalities.
## How to Set Up the Integration
### 1. Obtain ElevenLabs API Key
1. Visit [ElevenLabs](https://www.elevenlabs.io/) and log in.
2. Navigate to your **API Key** section and copy the key for use in your configuration.
### 2. Configure your Agent flow
Add your ElevenLabs element to your agent flow. This element will allow you to convert text into speech. Then configure the element with the following parameters:
* **ElevenLabs API Key**: Paste your ElevenLabs API key here.
* **Text**: The text you want to convert into speech. This can be a static text or a variable that holds the text.
* **Voice**: Select the voice model you want to use for the conversion. ElevenLabs provides various voice options.
* **Model**: Choose the model you want to use for the text-to-speech conversion. Different models may have different characteristics and capabilities.
* **Save audio URL in variable** Save the generated audio URL in a variable for later use. Call the variable using an **Audio Agent Dialog** element to play the audio.
#### Example: Text-to-Speech API Request
* Create a short greeting message using the **Text** dialog element.
* Prompt the user to enter their name using the **Text Input** element.
* Use the ElevenLabs element to convert the greeting message into speech. For example, if the greeting message is "Hello, \[User's Name]!", you can set the **Text** parameter to `Hello, {{user_name}}`.
* Select the desired voice and model from the ElevenLabs options.
* Save the generated audio URL in a variable, e.g., `greetings`.
You can enable auto-play on the **Audio Agent Dialog** element to play the audio automatically when the dialog is triggered. This feature enhances user experience by providing immediate feedback.
Once triggered, the ElevenLabs element will send a request to the ElevenLabs API with the specified parameters. The API will process the request and return a response containing the audio file URL.
# How to integrate your Agent with Groq
Source: https://docs.release0.com/editor/elements/ai-agents/groq
Learn how to integrate Groq for ultra-fast AI inference and high-performance chatbot responses.
Integrating Release0 with **Groq** enables ultra-fast AI inference, allowing chatbots to generate responses using Groq’s high-performance LLMs.
## Prerequisites
Before integrating Groq with Release0, ensure you have a **Groq API key**.
## Steps to Integrate
### 1. Get Your Groq API Key
1. Sign up at [Groq Cloud](https://groq.com).
2. Navigate to **API Keys**.
3. Generate and copy your **API key**.
## 2. Configuring Groq element
1. Copy the API key and paste it in the OpenRouter element
2. Select a model from the available list.
3. **Provide Messages**:
* Create a variable for storing **chat history** (e.g., `Chat history`).
* Append user and assistant messages sequentially to ensure conversational context.
#### Example Chat Flow:
* **User Input**: `{{User Message}}` (Captured via a “user input text” element).
* **Assistant Reply**: `{{Assistant Message}}` (Generated by the Groq element).
**Set Variables**:
* Define the variable for appending the assistant response (`Append {{Assistant Message}} in Chat history`).
### 3. Test the Integration
* Send a test query to ensure Groq generates a response.
* Verify output formatting and accuracy.
# How to integrate your Agent with Mistral AI
Source: https://docs.release0.com/editor/elements/ai-agents/mistralAI
Learn how to integrate Mistral AI models for chat completions and contextualized interactions.
The **Mistral AI** element lets you connect your agent with Mistral’s language models to generate chat completions from user input and display the responses in the *Agent Dialog*.
## Creating a Mistral Account
To get started with Mistral AI:
1. Visit [Mistral Console](https://console.mistral.ai).
2. Create an account and log in.
## Chat Completion with Mistral AI
Using the Mistral AI element, you can generate chat completions based on user queries. The integration supports the **Dialogue** message type, which allows the assistant to maintain a conversation history for a smooth and contextualized interaction.
### Steps to Use Mistral AI for Chat Completion
1. **Set Up the Integration**:
* Access the Mistral AI element within your project.
* Configure the element by adding your Mistral API key.
2. **Prepare User Inputs**:
* Collect user messages and organize them in a sequence.
* Ensure a proper format for passing the conversation history.
3. **Generate Responses**:
* Send the prepared dialogue sequence to the Mistral API.
* Display the response in the *Agent Dialog*.
4. **Test the Integration**:
* Verify that user queries receive appropriate and timely responses.
### Example Configuration
Below is an example JSON payload to interact with Mistral's chat completion API:
```json theme={null}
{
"messages": [
{ "role": "user", "content": "Hello, how can you help me?" },
{ "role": "assistant", "content": "I can assist with various tasks. What do you need help with?" }
],
"model": "mistral-7b-v0.1",
"temperature": 0.7
}
```
### Notes on Dialogue Message Type
* Dialogue allows passing a sequence of saved messages between the user and assistant.
* Ensure the conversation history is structured in a chronological format.
## Troubleshooting Common Issues
### HTTP 401 Error
If you encounter an HTTP 401 error when loading Mistral models:
* Your API key might not be fully propagated.
* Wait a few minutes and try again.
### Rate Limit Errors
If you see a rate limit error:
* Check your subscription status.
* Visit the [Mistral Billing Section](https://console.mistral.ai/billing/) and click the **Subscribe** button to upgrade your plan.
## Validation and Testing
Before deploying the Mistral AI integration:
* Verify the API key is correctly set.
* Ensure the chat completions return accurate and relevant responses.
* Test the integration under various scenarios to validate performance.
***
> **Note**: Regularly monitor your usage to avoid exceeding rate limits or subscription restrictions.
# How to integrate your Agent with OpenAI
Source: https://docs.release0.com/editor/elements/ai-agents/openAi
Learn how to configure OpenAI’s GPT model for chat completions, tool integrations, and conversation history management.
This guide explains how to configure a chat completion flow with OpenAI’s GPT model, integrate tools (e.g., a weather function), and manage conversation history.
### **Prerequisites**:
To integrate OpenAI with your agent, you’ll need an OpenAI account with API access. You can create an account at [OpenAI](https://platform.openai.com/signup).
Once you have an account, you need to create an API key. You can do this by going to the [API keys](https://platform.openai.com/account/api-keys) section of your **OpenAI account** and clicking on the **Create API Key** button. This will generate a new API key that you can use to authenticate your requests to the OpenAI API.
Once you have your API key, you can add it to your agent by configuring the **OpenAI** element. Here you can enter your API key and select the OpenAI model you want to use.
> **Note**: If you are using the family model **GPT-5**, there is an additional requirement you need to fullfill in your **OpenAI account**. Your organization must be verified to stream this model. Please go to: [https://platform.openai.com/settings/organization/general](https://platform.openai.com/settings/organization/general) and click on **Verify Organization**. If you just verified, it can take up to 15 minutes for access to propagate.
## 1. Configuring OpenAI element
### Steps:
1. **Select Model**: Use `gpt-3.5-turbo` for optimal cost-performance balance.
2. **Provide Messages**:
* Create a variable for storing **chat history** (e.g., `Chat history`).
* Append user and assistant messages sequentially to ensure conversational context.
#### Example Chat Flow:
* **User Input**: `{{User Message}}` (Captured via a “user input text” element).
* **Assistant Reply**: `{{Assistant Message}}` (Generated by the OpenAI element).
3. **Set Variables**:
* Define the variable for appending the assistant response (`Append {{Assistant Message}} in Chat history`).
### Use case example. Creating a chatbot agent for sales support:
***
## 2. Using Tools: Adding Functions
### Purpose:
Functions allow GPT to execute server-side code, such as fetching real-time weather data.
### Example Function: `getWeather`
* **Name**: `getWeather`
* **Description**: *Get the weather of the provided city*.
* **Parameter**:
* **Name**: `city`
* **Type**: `string`
* **Description**: *The name of the city*.
* **Required**: Enabled.
#### Code Example:
```javascript theme={null}
if (city === 'Cancun') {
return 'Sunny and warm';
} else {
return 'Rainy and cold';
}
```
**Note**: Replace the static logic with an API call for real-world data retrieval.
***
## 3. Setting Up Conversation History
### Variables:
* **Chat history**:
* Value: Append both user and assistant messages.
* Example:
* User Message: `"What is the weather in Cancun?"`
* Assistant Response: `"Sunny and warm"`.
#### Diagram Flow:
1. **Collect User Message**:
* Append user input to the `Chat history` variable.
2. **ChatGPT Reply**:
* Generate the assistant message and append it to `Chat history`.
***
## 4. Integrating Speech and Transcription
### **Create Speech**:
* Converts text into an **audio URL**.
* **Limitation**: Audio URLs expire after 7 days. Download them promptly if needed.
### **Create Transcription**:
* Converts audio inputs into text for further processing.
***
## 5. Troubleshooting Common Issues
### Error: “OpenAI element returned error”
* **Cause**: Misconfigured element settings.
* **Fix**:
1. Ensure an OpenAI account is selected.
2. Verify at least one message or Dialogue input is provided.
### Issue: Empty Messages
* **Cause**: Free quota exceeded.
* **Fix**: Add a payment method to your OpenAI account.
***
## 6. Using Multiple OpenAI elements
### Tips:
1. **Sequential Processing**: Ensure all elements compute before rendering the output.
2. **Formatting**: Avoid adding unnecessary prefixes or suffixes that disrupt conversational flow.
***
## 7. Advanced Features: RAG (Retrieval-Augmented Generation)
👉 See our [RAG agent example](https://release0.com/blog/how-to-create-an-agent-with-rag-in-under-5minutes-in-release0) for practical setup tips.
## Validation and Testing
Before deployment, ensure:
* All **functions** execute as expected.
* **Chat history** updates without errors.
* Responses are relevant and correctly formatted.
# How to integrate Release0 with OpenRouter
Source: https://docs.release0.com/editor/elements/ai-agents/openRouter
Learn how to configure OpenRouter for chat completions, enabling your chatbot to utilize various AI models seamlessly.
This guide explains how to configure a chat completion flow with any of the available GPT models in OpenRouter.
## 1. Configuring OpenRouter element
1. Open an account with OpenRouter
2. Navigate to the **API Keys** section and click on create a new API key
3. Copy the API key and paste it in the OpenRouter element
### Steps:
1. **Select Model**: For example you can use a free model like `Google Gemma 3`.
2. **Provide Messages**:
* Create a variable for storing **chat history** (e.g., `Chat history`).
* Append user and assistant messages sequentially to ensure conversational context.
#### Example Chat Flow:
* **User Input**: `{{User Message}}` (Captured via a “user input text” element).
* **Assistant Reply**: `{{Assistant Message}}` (Generated by the OpenRouter element).
**Set Variables**:
* Define the variable for appending the assistant response (`Append {{Assistant Message}} in Chat history`).
# How to integrate your Agent with Perplexity
Source: https://docs.release0.com/editor/elements/ai-agents/perplexity
Learn how to configure Perplexity’s AI model for chat completions.
This guide explains how to configure a chat completion flow with Perplexity’s AI model.
### **Prerequisites**:
To integrate Perplexity with your agent, you’ll need a Perplexity account with API access. You can create an account at [Perplexity](https://www.perplexity.ai/).
Once you have an account, you need to create an API key. You can do this by going to the [API keys](https://www.perplexity.ai/account/api/keys) section of your Perplexity account and clicking on the **Create API Key** button. This will generate a new API key that you can use to authenticate your requests to the Perplexity API.
Once you have your API key, you can add it to your agent by configuring the **Perplexity** element. Here you can enter your API key and select the Perplexity model you want to use.
## 1. Configuring Perplexity element
1. Copy the API key and paste it in the Perplexity element.
2. Select a model from the available list. For example `sonar`.
3. Provide Messages:
* Create a variable for storing user input messages (e.g., `{{user-input}}`).
* Select the Message Type for example 'Dialogue'.
* Add the variable where the user input was captured (e.g., `{{user-input}}`).
* Set the 'starts by' to 'user'.
* In the 'Save response' section, create a variable for storing the assistant response (e.g., `{{perplexity-response}}`).
* Add a text element to append the show response chat (e.g., `{{perplexity-response}}`).
> **Note**: You need a valid payment method to generate the API key. You can start with as low as a \$3 dollar credit.
### Use case video example
# How to Integrate Your Agent with Together AI
Source: https://docs.release0.com/editor/elements/ai-agents/together
Learn how to integrate Together AI with your Release0 agent to leverage powerful open-source models for enhanced chatbot responses.
Together AI makes it easy to run or fine-tune leading open source models with only a few lines of code.
You can integrate Together AI with Release0 to enhance your chatbot agent responses dynamically. You can connect external AI models or knowledge bases to your chatbot agent to provide more accurate and relevant responses to user queries.
## Prerequisites for integrating Together AI with Release0
* You must create an account with [Together AI](https://www.together.ai/)
* You must have an API key from Together AI for authentication.
## Connecting Together AI with Release0
1. Copy your Together AI API key from your Together AI settings under API Keys section.
2. Paste the API key in the Together AI element in the Release0 editor.
3. Add the Model ID of the model you want to use in the Together AI element. For example: `Qwen/Qwen2.5-72B-Instruct-Turbo`. Here is a list of [available models](https://docs.together.ai/docs/inference-models#chat-models).
4. Add a message type (e.g., `user`) and select the variable where you stored the user message.
5. Add a message type (e.g., `assistant`) and select the variable where you want to store the response from Together AI.
# How to integrate your Agent with Cal.com
Source: https://docs.release0.com/editor/elements/integrations/cal
Integrate Cal.com with Release0 to enable seamless scheduling within your chatbot experience.
Integrating Release0 with **Cal.com** allows seamless scheduling within your chatbot experience. This integration enables users to book meetings directly through the conversation flow.
## Prerequisites
Before integrating Cal.com with Release0, ensure you have:
* A **Cal.com** account with an active scheduling link.
## Steps to Integrate
### 1. Get Your Cal.com Scheduling Link
1. Log in to **Cal.com**.
2. Navigate to the event type you want to share.
3. Copy the **public scheduling link** (e.g., `https://cal.com/yourname/meeting`).
### 2. Add a Cal.com integration element in Release0
To allow users to book a meeting, use a **Button Component**:
### Conditional Display
You can conditionally show the booking button based on user actions using **[Logic elements](../logic/condition)** in Release0.
# How to integrate your Agent with Chatwoot
Source: https://docs.release0.com/editor/elements/integrations/chatwoot
Enable live chat functionality in your chatbot using Chatwoot integration.
The Chatwoot integration element allows you to open a Chatwoot widget, enabling users to directly communicate with a human. This feature adds a **Live Chat** layer to your **Agent Dialog** on *release0.com*.
## Requirements
To use this integration, ensure the following prerequisites are met:
**Chatwoot Account**: Create an account on [Chatwoot](https://www.chatwoot.com).
**Website Inbox**: Set up a "Website" inbox in your Chatwoot account.
### Steps to Create a Website Inbox
1. Log in to your Chatwoot account.
2. Navigate to the **Settings**.
3. Select **Inboxes** and click on **Add Inbox**.
4. Then in the **Choose channel** section, select **Website**.
5. Fill in the required details, such as the inbox name and website URL.
6. Click on **Create Inbox** to finalize the setup.
7. Then copy your **Website Token** from the **Inbox Settings**. This will be used to connect your **Chatwoot element** in your agent flow with your Chatwoot.
## Setup Instructions
### 1. Insert a Chatwoot element
Place the **Chatwoot element** in your **Agent Dialog** wherever you want the widget to be triggered.
### 2. Obtain Your Website Token
To locate your website token:
1. Go to your Chatwoot dashboard.
2. Navigate to **Inbox Settings** of your created Website Inbox.
3. Copy the **Website Token**.
### 3. Prefill User Information
You can use collected variables to prefill user information in Chatwoot by setting values in the **Set User Details** section.
* **Example**: If you set the `Email` input to `john@gmail.com`, Chatwoot will associate the email with the current user.
## Custom Attributes
Chatwoot supports custom attributes, which allow you to enhance user interactions. These attributes will be automatically filled by your **Agent Dialog**.
### Example: Result URL
You can link the current **Result URL** to the Chatwoot conversation by adding the following custom attribute:
* Applies to: Contact
* Display Name: Agent Result URL
* Key: Agent\_result\_url
* Description: Release0 result URL that points the user on Release0, before triggering the Chatwoot widget
* Type: Link
## Setting User Behavior
When prefilling user information, you can specify how the user ID is handled:
1. **Default Behavior**: If the `ID` input is left empty, Chatwoot will use either:
* The user's `Email`.
* The `Result ID` from your **Agent Dialog**.
2. **Avoid Duplicate Contacts**: Setting the `Email` as the `ID` ensures contacts are properly merged and prevents duplicates in Chatwoot.
### Validation and Testing
Before deploying the integration, ensure the following:
* The **Chatwoot element** is correctly configured in your **Agent Dialog**.
* The **Website Token** is accurate and functional.
* Custom attributes, such as the `Result URL`, are correctly passed to Chatwoot.
* Prefilled user information appears correctly in the Chatwoot conversation.
> **Note**: If issues persist, refer to the [Chatwoot Documentation](https://www.chatwoot.com/docs) or contact their support team.
# How to integrate your Agent with Discord
Source: https://docs.release0.com/editor/elements/integrations/discord
Learn how to connect your Release0 agent with Discord to enable real-time interactions and notifications.
The **Discord Integration** allows you to connect your Release0 agent with Discord, enabling real-time interactions and notifications. This integration is useful for engaging with users directly in Discord channels or sending updates about your agent's activities.
## How to Set Up the Discord Integration
1. \*\* Generate your Discord Channel Webhook URL\*\*:
* Go to your Discord server and select the channel where you want to receive messages.
* Click on the gear icon next to the channel name to open **Channel Settings**.
* Navigate to the **Integrations** tab and click on **Webhooks**.
* For more details, refer to the [Discord documentation](https://discord.com/developers/docs/resources/webhook#creating-webhooks).
2. **Add the Discord element**:
* In your Release0 flow editor, add a new element and select the **Discord** element from the integrations elements section.
* Click on Add Discord account and paste the Webhook URL you copied from Discord and add a name for the integration.
* Click on **Save** to save the integration.
## Configure the Discord element
There are 3 available options to configure the Discord element:
* **Send simple message**: This allows you to send a basic text message to the Discord channel.
* **Send status message**: This option sends a message with the status of the agent with 4 status options: `Info`, `Success`, `Warning`, and `Error`. This is useful for sending updates about the agent's activities.
* **Send advanced message**: This allows you to send a more complex message with additional formatting, such as thumbnails, author name, and more. This is useful for sending rich content messages to the Discord channel.
### Send Simple Message option
This allows you to send a basic text message to the Discord channel. Available fields are:
* **Headline**: The title of the message.
* **Body**: The main content of the message. It is recommended to combien text with variables for a powerful integration with your agent.
* **Footer**: Additional information or context for the message.
* **Image URL**: Optionally add an image url for your agents message.
* **Color**: Add a color hex code for hightliting your message.
All fields accept using [variables](/editor/variables) as inputs.
### Send Status Message option
This is useful for sending updates about the agent's activities.
* **Type**: Choose from 4 available status types `Info`, `Success`, `Warning`, and `Error`.
* **Headline**: The title of the message.
* **Body**: The main content of the message.
* **Footer**: Additional information or context for the message.
All fields accept using [variables](/editor/variables) as inputs.
### Send Advanced Message option
Allows you to send a more complex message with additional formatting.
* **Embed Title**: For embedding a min text.
* **Author**: To hightlit the author's name of the message.
* **Author image URL**: To show the image of the author's message.
* **Author link**: To show the link of the author's profile.
* **Thumbnail URL**: Add a thumbnail image to your discord post.
* **Headline**: The title of the message.
* **Headline Link**: Add a URL link for the title of the message.
* **Body**: The main content of the message. It is recommended to combien text with variables for a powerful integration with your agent.
* **Image URL**: Optionally add an image url for your agents message.
* **Footer**: Additional information or context for the message.
* **Color**: Add a color hex code for hightliting your message.
All fields accept using [variables](/editor/variables) as inputs.
## Triggering the Discord element
Connect your flow to your Discord integration box and add text and variables to any of the Discord message types. Once the Agent chatbot flow reaches the Discord integration element, it will connect to your Discord channel and post the new message.
## Use Cases
* Send alerts for new form submissions.
* Log errors or debugging info from bots.
* Push workflow updates to private channels.
* Notify team members of completed tasks.
# How to integrate your Agent with Google Analytics
Source: https://docs.release0.com/editor/elements/integrations/google-analytics
Track Google Analytics events and conversions within your chatbot flow.
The **Analytics** integration element allows you to track Google Analytics events at specific moments in your flow.
## How the Google Analytics element Works
When you include a Google Analytics element in your flow, it performs the following actions:
1. **Initialize GA**: Tracks a "Page view" event upon page load.
2. **Track Events**: Executes the specified event when the element is triggered.
### Example: Google Analytics element Configuration
| Property | Value |
| ------------------ | ------------ |
| **Tracking ID** | G-12345 |
| **Event Category** | Agent Dialog |
| **Event Action** | User Lead |
## Tracking Conversions with Google Ads
You can use the Google Analytics element to track **conversion events** for Google Ads. Configure the element with the following properties:
* **Event action**: `conversion`
* **Send to**: ``
* **Value (optional)**: Specify a numerical value to quantify the conversion.
> **Note**: Replace `` with your actual Google Ads conversion ID.
## Troubleshooting
To debug and monitor your Google Analytics events:
1. Install the [**Google Analytics Debugger**](https://chrome.google.com/webstore/detail/google-analytics-debugger/jnkmfdileelhofjcijamephohjechhna) extension in your browser.
2. Use the extension to inspect the data being sent to Google Analytics.
# How to integrate your Agent with Google Sheets
Source: https://docs.release0.com/editor/elements/integrations/google-sheets
Learn how to use the Sheets element to interact with Google Spreadsheets for dynamic data management.
The Sheets integration allows you to **inject**, **update**, or **retrieve data** from Google Spreadsheets. This powerful feature enables dynamic interactions with your data directly from your Agent.
## Requirements for Proper Functionality
To ensure smooth operation:
1. **Header Row**: The first row of your spreadsheet must serve as the header row.
2. **Unique Header Names**: Each column header must have a unique name. This allows the element to identify which column to update.
### Example Header Row
| Name | Email | Phone | Submission Date |
| ----- | --------------------------------------------- | -------- | --------------- |
| Alice | [alice@example.com](mailto:alice@example.com) | 123-4567 | 08/01/2025 |
| Bob | [bob@example.com](mailto:bob@example.com) | | 08/01/2025 |
## Adding a Submission Date to a Row
To add a **submission date** to a row:
1. Create a new variable with the value `Now`. This variable will store the current date and time.
2. Use the **Sheets element** to update the `Submission Date` column using the `Now` variable.
## Advanced Concepts
### API Limitations
The Google Sheets API has the following rate limits:
* **60 Read Requests per Minute**
* **60 Write Requests per Minute**
> **Recommendation**: Minimize the number of Sheets elements used in your Agent. If working with multiple sheets, aggregate the data into a single sheet first and interact with that aggregated sheet.
## Troubleshooting
If the Sheets element **fails to insert or update a row**, follow these steps:
1. **Check the Logs**: Ensure the element executed as expected.
2. **Validate Headers**: Confirm that your spreadsheet's headers are properly defined and unique.
3. **Review API Limits**: Verify that you have not exceeded Google’s API rate limits.
# Using the HTTP Request to connect with APIs
Source: https://docs.release0.com/editor/elements/integrations/http-request
Send and receive data from external APIs using HTTP requests in your chatbot agent. Learn how to configure HTTP requests, handle responses, and display dynamic content in your agent dialogs.
## What is an HTTP Request?
An **HTTP Request** allows your chatbot to communicate with external services or APIs to fetch or send data. It is a standardized way to interact with web-based services by specifying:
* A **URL** (endpoint) to request data from.
* A **method** (e.g., GET or POST) to determine the nature of the request.
* Additional parameters, headers, or a body if required by the API.
In this example, we will use an HTTP `GET` request to retrieve movie details from the OMDB API based on a movie title provided by the user.
## Steps to Implement
### 1. Collect User Input
Create a dialog to collect the movie name from the user.
#### Example Setup:
* **Prompt Text:** "Search for a movie"
* **Variable Name:** `Movie`
### 2. Configure HTTP Request to Fetch Data
Use the HTTP request element to call the OMDB API and retrieve movie details.
#### HTTP Request Configuration:
* **URL:**\
Replace `{{Movie}}` with the variable containing the user input:
```
http://www.omdbapi.com/?t={{Movie}}&apikey=YOUR_API_KEY
```
* **Method:** `GET`
#### Testing the Request:
1. **Set Variable Test Value:**
* Variable: `Movie`
* Test Value: `Indiana Jones`
2. Click **Test the Request** to ensure the API call is functioning correctly.\
Example Response:
```json theme={null}
{
"Title": "Indiana Jones",
"Year": "1981",
"Poster": "https://image.url/indiana-jones.jpg"
}
```
***
### 3. Save API Response to Variables
Map the relevant JSON keys from the API response to variables for use in subsequent steps.
| API Response Key | Variable Name |
| ---------------- | ------------- |
| `data.Title` | `Title` |
| `data.Year` | `Year` |
| `data.Poster` | `Poster` |
#### Example Configuration:
* **Data:** `data.Title`\
**Set Variable:** `Title`
* **Data:** `data.Year`\
**Set Variable:** `Year`
* **Data:** `data.Poster`\
**Set Variable:** `Poster`
***
### 4. Display the Results Dynamically
Create a dialog bubble to display the fetched movie details.
#### Dynamic Content Setup:
* **Agent dialog:**
```
Found: {{Title}} ({{Year}})
```
* **Agent image dialog:**\
Set the image source to `{{Poster}}`.
***
### 5. Optional: Call a Webhook
You can integrate services like Make.com or Zapier for further processing by sending the collected data to a webhook URL.
#### Webhook Configuration:
* **Webhook URL:** Enter the provided URL (e.g., `https://hook.eu1.make.com/...`).
* **Custom Payload Example:**
```json theme={null}
{
"movie": "{{Title}}",
"year": "{{Year}}",
"poster": "{{Poster}}"
}
```
#### Testing the Webhook:
1. Click **Test the Request** to ensure the data is sent successfully.
2. Use tools like [Webhook Tester](https://webhook-test.com/) for debugging.
***
## Validation and Testing
Before deployment, ensure the following:
1. The API key is valid and has sufficient quota.
2. The `Movie` variable captures user input correctly.
3. All variables (`Title`, `Year`, `Poster`) are saved and mapped without errors.
4. Dynamic content displays the movie information properly.
***
## Notes and Tips
> **Note:** Always secure your API key. Avoid exposing it in client-side environments.\
> **Tip:** Use fallback messages for cases where the movie is not found or the API request fails.
***
## Example: Full Flow
1. **User Input:**\
User types "Shawshank Redemption".
2. **API Call:**\
Fetch data from `http://www.omdbapi.com/?t=Shawshank%20Redemption&apikey=YOUR_API_KEY`.
3. **Response Variables:**
* `Title`: "The Shawshank Redemption"
* `Year`: "1994"
* `Poster`: *URL to movie poster*
4. **Dynamic Output:**
```
Found: The Shawshank Redemption (1994)
```
*(Displays the poster image)*
# How to integrate your Agent with Make.com
Source: https://docs.release0.com/editor/elements/integrations/make-com
Learn how to integrate Make.com scenarios into your agent flow for enhanced automation and data handling.
The **Make.com** integration element allows you to trigger a scenario at a specific moment in your flow and return data to enhance automation.
## Prerequisites
* An active account on [Make.com](https://www.make.com).
1. **Access your API Keys**\
Navigate to your **Account Settings** located at the bottom left corner of the dashboard.
2. **Create a new API Key**
* Click the **Create API Key** button.
* A modal will appear where you can input a name for your key (e.g., `Make.com Integration`).
* After naming your key, click **Create API Key** to generate it.
3. **Open Make.com and configure the Release0 module**
* Go to [Make.com](https://www.make.com)
* Create a new scenario or open an existing one.
* Click on the **+** icon to add a new module.
* Search for **Release0** in the module search bar.
* Select the **Release0** app from the list.
* Choose the **Watch Agents** action.
* Click **Create a connection** to begin the setup.
4. **Enter your Release0 API Key in Make**
* In the connection dialog, input:
* **Name**: A name for your connection (e.g., `Release0 Integration`).
* **API Key**: The API key you generated in Release0.
* **Agent ID**: The ID of the agent you want to connect to. You can find this in your agent's settings on Release0.
* **element ID**: The ID of the element where your Make.com integration is located.
5. **Save the connection**\
Click **Save** to finalize the integration.
6. **Test the connection**
### Validation and Testing
Before deploying your Make.com integration, ensure:
* The scenario on Make.com is active and properly configured.
* The Make.com element triggers the scenario as expected.
* Returned data is validated and correctly utilized in your flow.
# How to integrate your Agent with Meta Pixel
Source: https://docs.release0.com/editor/elements/integrations/meta-pixel
Learn how to use the Pixel element to track user interactions and events with Meta Pixel in your chatbot agents.
The **Pixel** Integration element allows you to seamlessly track user interactions and events by embedding a Meta Pixel into your Agent's flow. Here's how it works and how to configure it.
***
## **How the Pixel element Works**
When a **Pixel element** is added to your flow:
1. **Initialization**:\
The Meta Pixel is initialized, and a `PageView` event is automatically tracked as soon as the page loads.
2. **Event Tracking**:\
Specific events, such as a form submission or a button click, are tracked when the element is executed.
## **Configuration Steps**
### 1. **Finding my Meta Pixel ID**
* Go to your [Meta Events Manager](https://www.facebook.com/events_manager/) and select the Pixel you want to use.
* Copy the **Pixel ID** from the settings page.
### 2. **Adding the Pixel ID**
* Enter your **Meta Pixel ID** (e.g., `73627907634`) into the input field in the configuration box.
* This ID connects your Agent flow to your Meta Ads account for event tracking.
### 3. **Event Tracking**
* Toggle the **"Track event"** option to enable event tracking.
* Specify the event name (e.g., `Lead`) in the dropdown or input field.
* Optionally, click **Add parameter** to pass additional data (like user information) with the event.
### 4. **How to check if the Pixel is working**
* Use the [Meta Events Manager](https://www.facebook.com/events_manager/) to verify that your Pixel is firing correctly.
* Select your Pixel and navigate to the **Test Events** tab.
* Check for the `PageView` event in the **Events Received** section for any custom events you have set up.
## **Example Use Case**
### Flow Example:
| Step | Description |
| ----------------- | ------------------------------------------ |
| Hi there! | The Agent greets the user. |
| What's your name? | The Agent asks for the user's name. |
| Collect Name | User inputs their name, which is stored. |
| Track Lead | Tracks the event "Lead" with user details. |
### Event Tracking:
In the example image:
* **Pixel ID**: `73627907634` is used.
* The `Lead` event is tracked whenever the element is executed.
* Optional parameters can include user data (e.g., `Name` or `Email`).
## **Best Practices**
* **Test Your Pixel**: Use the [Meta Events Manager](https://www.facebook.com/events_manager/) to ensure the Pixel is working and events are logged correctly.
* **Unique Event Names**: Use descriptive and unique event names to avoid confusion in tracking.
* **Add Parameters**: Include user data, such as `Name` or `Email`, to make your event tracking more insightful.
# How to integrate your Agent with NocoDB
Source: https://docs.release0.com/editor/elements/integrations/nocodb
Integrate NocoDB with Release0 to create dynamic, data-driven chatbot interactions using structured data management. Learn how to fetch, create, update, and delete records in your agent dialogs.
## Overview
**NocoDB** is an open-source backend that enables structured data management without writing code. When integrated with a **Release0 agent**, it allows for dynamic, data-driven interactions that enhance the functionality and personalization of your automated experiences.
## Advantages of Using NocoDB with Release0 Agent
Connecting NoCodeDB to your Release0 agent allows you to:
* Fetch and display content based on *User Inputs*.
* Create responsive flows with database-driven logic.
* Adapt dialogs in real-time based on database values.
* **Create** new records (e.g., form submissions).
* **Read** data for personalization or decision-making.
* **Update** fields based on conversation outcomes.
* **Delete** entries if needed.
> **Example**: Display product options based on the user’s selected category using `{{user.selected_category}}`.
This guide explains how to use the **NocoDB** element to interact with your NocoDB tables in an Agent Dialog. You can create, update, or retrieve data from your NocoDB tables. This includes identifying the **Table ID** and configuring the **Search Records** action effectively.
## How to Find Your Table ID
To locate your **Table ID** in NocoDB:
1. Navigate to your **NocoDB dashboard**.
2. Locate your desired table in the left-hand sidebar.
3. Click on the **three dots** icon (`...`) next to the table name.
4. Find the **Table ID** in the pop-up menu (as shown in the image). Copy it for use.
## Using the Search Records Action
The **Search Records** action in NocoDB allows you to retrieve specific records from your tables. This action requires:
* **Table ID** (mandatory)
* **View ID** (optional, for filtering specific views)
* Additional configuration such as filters and response mapping.
### Steps to Configure
1. In your Agent Dialog editor, select the **NocoDB element**.
2. Choose the **Search Records** action.
3. Input the following fields:
* **Table ID**: Paste the copied Table ID.
* **View ID**: If you want to filter data by a specific view, add its ID here.
* **Filter**: Set conditions to retrieve `All`, `First`, `Last`, or `Random` records.
* **Response Mapping**: Map retrieved data fields to variables for use in your agent.
### Example Setup
#### Input
```json theme={null}
{
"Table ID": "pl0jailghvv7x",
"View ID": "awyy0nk17stiqr",
"Filter": "First",
"Response Mapping": {
"Name": "VariableName",
"Email": "VariableEmail"
}
}
```
#### Workflow Example
In this simple example we are going to create a work order record for a repair company. To keep the example simple we will only ask for the user name, email, and serial number of the device.
The first step is to create a **Text element** to greet the user and ask for their name, email, and serial number.
We are also creating a **Date** field and a **Order Status** by using variables.
Next we can head to NocoDB site to create a new table. We will create a table called **Orders** with the following fields:
* **Name**: Text
* **Email**: Text
* **Serial**: Text
* **Date**: Text
* **OrderStatus**: Text
Next we can connect the NocoDB element to the **Create Record** action. We will use the **Table ID** from the table configuration and the **Response Mapping** to map the variables we created in the previous step.
Now we can map the variables we created in the previous step to the NocoDB fields. We will map the **Name** variable to the **Name** field, the **Email** variable to the **Email** field, and so on.
Then we complete the records creation with a confirmation message.
We can test this scenario by running the agent and entering the data.
Once we have entered the data we can check the NocoDB table to see if the record was created.
Next scenario is to change the order Name. We can do this by creating a new **Text element** to ask for the Serial Number and change the order name. For this scenario we add a new NocoDB element and select the Update Existing Record action. We will use the **Serial Number** from the table configuration and the **Response Mapping** to map the variables we created in the previous step to look for the record we want to update.
We can check the data before and after the update by running the agent and entering the data.
Before the update:
Update order by running the agent and entering the data.
After the update:
Now we can test the last scenario by **searching a record** by the **Serial Number**.
We can do this by creating a new **Text element** to ask for the Serial Number and display the order.
For this scenario we add a new NocoDB element and select the **I want to search for my request status**. We will use the **Serial Number** from the table configuration.
In the NocoDB configuration element we will enter the search field as the serial field from our NodoDB table and map it to the serial variable we have taken from the input field.
Next we will fill in the **Response Mapping** to map the variables we created in the previous step to look for the record we want to search for.
Now we can check the data by running the agent and entering the data of the serial number to search for the order.
## Validation and Testing
Before deploying, ensure:
* The correct **Table ID** and **View ID** are used.
* Filters return the expected results.
* Mapped variables work correctly within the agent's workflow.
# How to integrate your Agent with Pabbly
Source: https://docs.release0.com/editor/elements/integrations/pabbly-connect
Automate workflows by integrating Pabbly Connect with your chatbot flow using the Pabbly Connect element. Learn how to set up triggers, send data, and enhance your automation capabilities.
The **Pabbly** integration element allows you to trigger a workflow at a specific moment in your flow and send data to Pabbly Connect for further automation.
## Steps to Configure the Pabbly Connect element
1. **Insert the Pabbly element**\
Place the **Pabbly element** at the point in your flow where the workflow should be triggered.
2. **Set Up the Workflow in Pabbly Connect**
* Head over to [Pabbly Connect](https://www.pabbly.com/connect/) to create your workflow.
* Click on **Create Workflow**.
* Name your workflow (e.g., `Release0 Integration`).
* Search for the trigger called Release0.
* Follow the on-screen instructions to generate a **Webhook URL** for the workflow.
3. **Paste the Webhook URL**
* Copy the Webhook URL provided by Pabbly Connect.
* Return to your flow and paste the URL into the configuration field of the **Pabbly element**.
4. **Advanced Configuration (Optional)**\
If needed, enable the **Advanced Configuration** toggle to customize additional settings.
5. **Test the element**
* Ensure the element is correctly configured by triggering the flow and checking the workflow execution on Pabbly Connect.
> **Note**: Double-check the Webhook URL to avoid misconfigurations. Ensure the workflow in Pabbly Connect is active before testing.
***
### Validation and Testing
Before deploying your Pabbly Connect integration, verify:
* The **Webhook URL** is correctly pasted into the element.
* The workflow in Pabbly Connect triggers as expected.
* Data sent to Pabbly Connect is correctly received and processed.
For troubleshooting or additional guidance, consult the [Pabbly Connect Help Center](https://www.pabbly.com/connect/).
***
This ensures the documentation is clear, actionable, and easy to follow for integrating Pabbly Connect.
# How to generate QR codes with Release0
Source: https://docs.release0.com/editor/elements/integrations/qr
Learn how to use the QR Code element to generate scannable codes for sharing links and information in your chatbot agent.
The **QR Code** element generates a Quick Response (QR) code that can be scanned by a mobile device to access a URL, text, or other information. This element is useful for sharing links, contact information, or other data in a visually appealing and interactive way.
In order to generate a **QR code**, you need to provide the following information:
* **Content**: The text or URL that the QR code will represent. This can be a link to a website, a phone number, an email address, or any other text. Then save the data into a variable.
* **Image Output**: The image in which the QR code will be generated. It will use the variable you set in the previous step to display the **QR code image**.
The **QR code** will be generated and displayed in the image output. Users can then scan the QR code with their mobile devices to access the content you provided.
# How to integrate your Agent with Segment
Source: https://docs.release0.com/editor/elements/integrations/segment
Send events to Twilio’s Segment and trigger workflows using your chatbot agent. Learn how to configure the Segment element, find your Write Key, and use actions like Identify, Alias, Event, and Page.
The **Segment** element enables you to send events to **Twilio’s Segment** and trigger workflows. It utilizes the Segment Analytics Node.js library to send server-side events, ensuring compatibility with non-web browser devices.
## How to Find Your Write Key
To locate your **Write Key**, follow these steps:
1. Navigate to your Segment dashboard.
2. Click on the **Sources** tab.
3. Select the desired source and click the **API Keys** button to retrieve the key.
## Actions Overview
### Identify User
Use this action to identify a user in Segment.
#### Required Parameters:
* **User ID**: A unique identifier for the user.
* **Email**: The email address of the user.
#### Optional:
* **Traits**: A set of user-specific traits (e.g., name, location).
### Alias
This action allows you to alias a user in Segment, linking two user identities.
#### Required Parameters:
* **Previous ID**: The old identifier for the user.
* **User ID**: The new identifier for the user.
### Event
Track an event in Segment using this action.bun install
#### Required Parameters:
* **Event Name**: The name of the event (e.g., "Order Completed").
* **User ID**: The identifier of the user triggering the event.
#### Optional:
* **Properties**: A set of event-specific properties (e.g., order ID, amount).
### Page
Send a page view event to Segment using this action.
#### Required Parameters:
* **Agent Name**: The name of the agent or application initiating the event.
#### Optional:
* **Category**: A category name for the page.
* **Properties**: Additional properties related to the page view.
### How to Configure the Segment element
1. **Add the Segment element**:\
Drag and drop the Segment element into your flow.
2. **Configure the element**:
* Click on the Segment element to open the configuration panel.
* Enter your **Write Key** in the designated field.
* Select the desired action (Identify, Alias, Event, or Page).
* Fill in the required parameters and any optional ones as needed.
3. **Test the element**:
* Use the **Test** button to send a test event to Segment.
* Check the Segment dashboard to verify the event was received successfully.
* You can use the [Segment Debugger](https://segment.com/docs/connections/sources/debugger/) to validate the events sent.
In the following example, we will configure the **Track** action to send user information to Segment.
* Create a new element group and collect user data (Name, Username, and Email).
* We can use a random variable to create a random userID.
* Add user input elements to collect user data.
* Add the Segment element and select the **Track** action.
* Fill in the required parameters:
* **User ID**: Use the variable that holds the random user ID.
* **Email**: Use the variable that holds the user’s email address.
Here is an overview of a simple flow that collects user data and sends it to Segment using the **Track** action.
Once configured, the Segment element will send the user information to Segment using the **Identify** action.
When we run the scenario, the Segment element will send the user information to Segment using the **Track** action.
And once we check the Segment dashboard, we can see the event was received successfully.
If we check the source debugger, we can see the event details and the properties sent to Segment.
### Validation and Testing
Before deployment:
* Verify your **Write Key** is correctly configured.
* Test each action with valid parameters to ensure proper functionality.
* Use [Segment’s Debugger](https://segment.com/docs/connections/sources/debugger/) to validate the events sent.
# Send Emails with your Agent
Source: https://docs.release0.com/editor/elements/integrations/send-email
Learn how to configure the Email element to send notifications and recap emails using SMTP providers.
The **Email** element allows you to send email notifications when specific events occur, such as a user completing your agent. You can also use it to send a recap email to the user.
## Configuring the Email element
If you're on the **Hobby plan**, you need to configure your own SMTP account to send emails. This is a precaution against spam and abuse. Several SMTP providers offer free plans with generous limits. Here are some recommended options:
| **SMTP Provider** | **Free Tier Details** |
| --------------------------------------------- | ---------------------------------------------------- |
| [**SendGrid**](https://sendgrid.com/) | Up to 100 emails/day for free. |
| [**Mailgun**](https://www.mailgun.com/) | 5,000 free emails for the first 3 months. |
| [**Amazon SES**](https://aws.amazon.com/ses/) | Free for up to 62,000 emails/month (AWS free tier). |
| [**Resend**](https://resend.com/) | Offers a free tier for testing and low-volume usage. |
If you're on a **Paid plan**, you can send emails directly from `notifications@release0.com` without any additional setup.
## Configuration Steps using Resend as SMTP providers
**Create an Account**: Sign up for a free account on [Resend](https://resend.com/).
**Create an API Key**: After signing up, navigate to the **API Keys** section in your Resend dashboard and click on **Create API key**.
Make sure you copy the API key, as you will need it in the next step.
Make sure your domain is verified in your Resend account. You can do this by going to the **Domains** section in your Resend dashboard and following the instructions to verify your domain. for more information on how to verify your domain, please refer to the [Resend documentation](https://resend.com/docs/dashboard/domains/introduction).
Now head back to your Release0 agent and open the **Email element**. In the element configuration, click on **Add SMTP Account** in the **SMTP Settings** and fill in the Resend provider information:
* **From email**: The email address you want to use as the sender. This should be a verified email address in your Resend account.
* **From name**: The name you want to appear as the sender. This can be your company name or any other name you prefer.
* **SMTP Host**: `smtp.resend.com`
* **SMTP Username**: Type in *Resend*
* **SMTP Password**: Your Resend API key.
* **SMTP Port**: `465` (For encrypted/TLS connections use 2465, 587 or 2587)
### Resend SMTP Configuration Summary
| **Type** | **Port** | **Security** |
| -------- | ------------- | ------------------------------------------------------------------------- |
| SMTPS | 465, 2465 | Implicit SSL/TLS (Immediately connects via SSL/TLS) |
| STARTTLS | 25, 587, 2587 | Explicit SSL/TLS (First connects via plaintext, then upgrades to SSL/TLS) |
> ⚠️ **Important:**
> Make sure you fill in the **From** field for the destination email **before** configuring the SMTP settings. This is the email address where you want to receive notifications. You can use a variable to dynamically set the destination email based on user input.
> If this is not configured before setting up the SMTP settings, the setup process will fail since the test connection email will not be triggered.
When you are done, click on **Create** to save your SMTP settings.
## Default Email Content
By default, the email sent contains a summary of the user's responses. For example:
> **Subject**: New Lead Notification\
> **Body**:\
> Your agent has collected a **new lead**! 🎉
>
> **Name**: Jhon\
> **Email**: [email@Release0.com](mailto:email@Release0.com)\
> **Company**: Release0\
> **Question**: I'm interested in your services. Can I have more info?
>
> [Check Results](#)
You can customize this content to include your own text or HTML for a fully branded email experience.
## Adding Attachments
You can include attachments in your email using the **Attachments** option. Ensure the attachments are linked to a **File Upload input element** in your flow.
## Troubleshooting
If you're not receiving the expected emails:
1. **Check the logs** in your dashboard for errors.
2. Verify that your SMTP credentials are configured correctly
3. Ensure the recipient email address is valid.
4. Make sure you fill in the **From:** of the destiantion email **before** configuring the SMTP settings. Otherwise, you will receive an error message '*Invalid Configuration. We couldn't send the latest email with your configuration*'.
5. Make sure you test your Email element **once you publish your agent**, Otherwise you will receive the error: *Emails are not sent in preview mode*
6. Make sure you have added your domain to the **verified domains** in your SMTP provider. Otherwise, you will receive the error: *Invalid configuration*.
# How to integrate your Agent with Smartsheet
Source: https://docs.release0.com/editor/elements/integrations/smartsheet
Integrate Smartsheet with Release0 to create dynamic, data-driven chatbot interactions to automate workflows. Learn how to fetch, create, update, and delete records in your agent dialogs.
## Overview
Smartsheet is a powerful platform for work management and automation, enabling teams to collaborate, track projects, and streamline workflows. By integrating Smartsheet with your Release0 agent, you can create dynamic, data-driven chatbot interactions that automate tasks on your workflows.
This guide will walk you through the steps to connect your Release0 agent with Smartsheet, allowing you to fetch, create, update, and delete records directly from your chatbot dialogs.
## Prerequisites
Before you begin, ensure you have the following:
* A Smartsheet account with [access to the API](https://help.smartsheet.com/articles/2482389-generate-API-key).
* An API access token from Smartsheet. You can generate one in your Smartsheet account settings under the "[API Access](https://help.smartsheet.com/articles/2482389-generate-API-key)" section.
## Steps to Integrate Smartsheet with Release0
1. **Obtain Smartsheet API Token**:
* Log in to your Smartsheet account.
* On the left Navigation Bar at the bottom, select Account (your profile image), then Personal Settings
* In the new window, navigate to the API Access tab and select Generate new access token.
2. **Add the Smartsheet element to your Agent**:
* In the Release0 editor, navigate to the elements section and select Integrations.
* Find and add the Smartsheet element to your agent's dialog flow.
3. **Configure the Smartsheet element**:
* In the Smartsheet element settings, enter your Smartsheet API token. And give it a name. Then click Create.
* Select the desired action (Create Row, Get Rows, Update Rows, Delete Rows) you want to perform on Smartsheet records.
* Select the Sheet you want to interact with from the dropdown menu, you can also search for it by name.
* Select the Coulmn ID you want to interact with from the dropdown menu, you can also search for it by name.
* Map the required fields from your agent's context or user input to the corresponding Smartsheet fields.
4. **Available Actions**:
* **Create Row**: Add a new row to a specified Smartsheet with data provided by the user or agent context. Save the collected data into the specified columns of the Smartsheet.
* **Get Rows**: Retrieve rows from a specified Smartsheet based on certain filters. Available fileters include:
* **All**: Fetch all rows from the specified Smartsheet.
* **First**: Retrieve the first row from the specified Smartsheet.
* **Last**: Get the last row from the specified Smartsheet.
* **Random**: Select a random row from the specified Smartsheet.
* **Specific Row Number**: Fetch a row based on its specific row number in the Smartsheet.
* **Search Query**: Retrieve rows that match a specific search query or criteria.
* **Save Response**: Store the fetched rows in the agent's context for further processing or use in subsequent dialog steps.
* **Update Rows**: Modify existing rows in a specified Smartsheet with new data. You can choose to update rows based on:
* **Equal to**: Update rows where a specific column matches a given value.
-**Not Equal to**: Update rows where a specific column does not match a given value.
* **Contains**: Update rows where a specific column contains a given substring.
* **Grearter Than**: Update rows where a specific column's value is greater than a given value.
* **Grearter Than or Equal To**: Update rows where a specific column's value is greater than or equal to a given value.
* **Less Than**: Update rows where a specific column's value is less than a given value.
* **Less Than or Equal To**: Update rows where a specific column's value is less than or equal to a given value.
* **Is set**: Update rows where a specific column has any value (is not empty).
* **Is empty**: Update rows where a specific column has no value (is empty).
* **Starts With**: Update rows where a specific column starts with a given substring.
* **Ends With**: Update rows where a specific column ends with a given substring.
* **In**: Update rows where a specific column's value is in a given list of values.
* **Delete Rows**: Remove rows from a specified Smartsheet based on certain criteria.
5. **Test the Integration**:
* Save your changes and test the dialog flow in your agent to ensure that the Smartsheet integration is functioning as expected.
* Verify that records are being created, fetched, updated, or deleted in Smartsheet based on the actions performed by your agent.
* Verify that the data is correctly mapped and stored in the appropriate Smartsheet columns. Make sure your smartsheet data types match the data you are sending from Release0.
# How to integrate your Agent with Supabase
Source: https://docs.release0.com/editor/elements/integrations/supabase
Integrate Supabase with Release0 to create dynamic, data-driven chatbot interactions using PostgreSQL database management. Learn how to fetch, create, update, and delete records in your agent dialogs.
## Overview
**Supabase** is an open-source backend-as-a-service that provides a PostgreSQL database with real-time capabilities, authentication, and APIs. When integrated with a **Release0 agent**, it enables powerful, data-driven interactions that enhance the functionality and personalization of your automated experiences.
## Advantages of Using Supabase with Release0 Agent
Connecting Supabase to your Release0 agent allows you to:
* Store and retrieve user data in a robust PostgreSQL database
* Create responsive flows with real-time database-driven logic
* Adapt dialogs based on stored user preferences and history
* **Create** new records (e.g., user registrations, form submissions)
* **Read** data for personalization and decision-making
* **Update** existing records based on conversation outcomes
* **Delete** entries when necessary
> **Example**: Store user preferences and retrieve them in future conversations using `{{user.preference_id}}`.
This guide explains how to use the **Supabase** element to interact with your PostgreSQL tables in an Agent Dialog. You can perform full CRUD operations (Create, Read, Update, Delete) on your Supabase tables.
## Setting Up Supabase Authentication
To connect Release0 with Supabase, you'll need:
### 1. Supabase Project URL
Your project URL can be found in your Supabase dashboard under **Settings > Data API**. It follows this format:
```
https://your-project-id.supabase.co
```
### 2. Service Role API Key
You'll need the `service_role` key (not the `anon` key) for full database access:
1. Go to your Supabase dashboard
2. Navigate to **Settings > API Keys**
3. Copy the **service\_role** key under "Project API keys"
The service\_role key has full access to your database. Keep it secure and never expose it in client-side code.
## Available Actions
The Supabase element provides four main actions:
### 1. Create Row
Add new records to your database tables.
**Required Fields:**
* **Table Name**: The name of the table to insert into
* **Fields**: Key-value pairs for the data to insert
**Optional Fields:**
* **Schema**: Database schema (defaults to "public")
* **Response Mapping**: Map returned data to variables
### 2. Get Rows
Retrieve records from your database tables with advanced filtering.
**Required Fields:**
* **Table Name**: The name of the table to query
**Optional Fields:**
* **Schema**: Database schema (defaults to "public")
* **Return Type**: Choose "All", "First", "Last", or "Random"
* **Order By Column**: Column to sort results
* **Order Direction**: "asc" (ascending) or "desc" (descending)
* **Filter Conditions**: Add WHERE conditions
* **Select Columns**: Specify which columns to return (defaults to "\*")
* **Limit**: Maximum number of records to return
* **Response Mapping**: Map returned data to variables
### 3. Update Rows
Modify existing records in your database tables.
**Required Fields:**
* **Table Name**: The name of the table to update
* **Filter Conditions**: Conditions to identify which records to update
* **Fields to Update**: Key-value pairs for the data to update
**Optional Fields:**
* **Schema**: Database schema (defaults to "public")
* **Response Mapping**: Map updated data to variables
### 4. Delete Rows
Remove records from your database tables.
**Required Fields:**
* **Table Name**: The name of the table to delete from
* **Filter Conditions**: Conditions to identify which records to delete
**Optional Fields:**
* **Schema**: Database schema (defaults to "public")
* **Response Mapping**: Map deleted data to variables
## Complete Workflow Example
Let's create a customer support ticket system using Supabase integration.
### Step 1: Create a Support Tickets Table
First, create a table in your Supabase database with these columns:
* **id**: Primary key (auto-increment)
* **customer\_name**: Text
* **customer\_email**: Text
* **issue\_type**: Text
* **description**: Text
* **status**: Text (default: "open")
* **created\_at**: Timestamp (default: now())
* **priority**: Text (default: "medium")
### Step 2: Collect Customer Information
Create a **Text element** to collect the customer's information:
```
Hi! I'm here to help you create a support ticket.
Please provide the following information:
- Your name: {{customer_name}}
- Your email: {{customer_email}}
- Issue type: {{issue_type}}
- Description of the problem: {{description}}
- Priority level (low/medium/high): {{priority}}
```
### Step 3: Create the Support Ticket
Add a **Supabase element** with the **Create Row** action:
**Configuration:**
* **Table Name**: `support_tickets`
* **Fields**:
* `customer_name`: `{{customer_name}}`
* `customer_email`: `{{customer_email}}`
* `issue_type`: `{{issue_type}}`
* `description`: `{{description}}`
* `priority`: `{{priority}}`
* `status`: `open`
**Response Mapping:**
* Map "Row Created" to variable `{{ticket_data}}`
* Map "Table Name" to variable `{{table_name}}`
### Step 4: Confirmation Message
Add another **Text element** to confirm ticket creation:
```
✅ Your support ticket has been created successfully!
Ticket Details:
- Ticket ID: {{ticket_data.id}}
- Status: {{ticket_data.status}}
- Priority: {{ticket_data.priority}}
- Created: {{ticket_data.created_at}}
We'll get back to you at {{customer_email}} soon!
```
### Step 5: Ticket Status Lookup
Create a flow for customers to check their ticket status:
**Text element** to collect ticket ID:
```
Please enter your ticket ID to check the status: {{ticket_id}}
```
**Supabase element** with **Get Rows** action:
* **Table Name**: `support_tickets`
* **Filter Conditions**: `id` equals `{{ticket_id}}`
* **Return Type**: "First"
**Response Mapping:**
* Map "Rows Found" to variable `{{ticket_info}}`
**Status Display element**:
```
📋 Ticket Status Report
Ticket ID: {{ticket_info.id}}
Customer: {{ticket_info.customer_name}}
Issue Type: {{ticket_info.issue_type}}
Status: {{ticket_info.status}}
Priority: {{ticket_info.priority}}
Created: {{ticket_info.created_at}}
Description: {{ticket_info.description}}
```
### Step 6: Update Ticket Status (Admin Flow)
For support staff to update ticket status:
**Supabase element** with **Update Rows** action:
* **Table Name**: `support_tickets`
* **Filter Conditions**: `id` equals `{{ticket_id}}`
* **Fields to Update**:
* `status`: `{{new_status}}`
## Best Practices
### Security
* Always use the service\_role key for server-side operations
* Implement Row Level Security (RLS) policies in Supabase
* Validate user inputs before database operations
### Performance
* Use specific column selection instead of `SELECT *` when possible
* Add appropriate indexes for frequently filtered columns
* Use pagination with LIMIT for large datasets
### Error Handling
* Always include filter conditions for UPDATE and DELETE operations
* Test your database operations thoroughly before deployment
* Use Response Mapping to capture and handle operation results
### Data Validation
* Validate required fields before database operations
* Use appropriate data types in your Supabase schema
* Implement constraints and default values in your database
## Filter Conditions
When using filters in Get Rows, Update Rows, or Delete Rows actions, you can use various operators:
* **Equals**: Exact match
* **Not Equals**: Exclude exact matches
* **Greater Than**: Numeric/date comparisons
* **Less Than**: Numeric/date comparisons
* **Contains**: Text search within fields
* **Starts With**: Text prefix matching
* **Ends With**: Text suffix matching
* **Is Empty**: Check for null/empty values
* **Is Not Empty**: Check for non-null values
## Response Mapping Options
Each action provides different response mapping options:
**Create Row:**
* Row Created: The newly created record
* Table Name: Name of the table
**Get Rows:**
* Rows Found: Array of matching records
* Table Name: Name of the table
* Rows Count: Number of records found
**Update Rows:**
* Updated Rows: Array of updated records
* Table Name: Name of the table
* Updated Count: Number of records updated
**Delete Rows:**
* Deleted Rows: Array of deleted records
* Table Name: Name of the table
* Deleted Count: Number of records deleted
## Troubleshooting
### Common Issues
1. **Authentication Errors**: Ensure you're using the service\_role key, not the anon key
2. **Table Not Found**: Verify table names are correct and case-sensitive
3. **Permission Denied**: Check your RLS policies if enabled
4. **Row Level Security (RLS) Policy Violations**: If you get an error like `"new row violates row-level security policy for table"` with a 401 Unauthorized status, you need to either:
* Disable RLS for your table (go to Authentication > Policies in Supabase dashboard)
* Create appropriate RLS policies that allow your service\_role key to perform operations
* For testing purposes, you can temporarily disable RLS by running: `ALTER TABLE your_table_name DISABLE ROW LEVEL SECURITY;`
5. **Filter Errors**: Ensure filter conditions use correct column names and data types
### Debugging Tips
* Use the browser's developer tools to inspect network requests
* Check Supabase logs in your dashboard for detailed error messages
* Test database operations directly in Supabase SQL editor first
* Verify your table schema matches the data you're sending
## Validation and Testing
Before deploying your agent:
1. **Test Each Operation**: Verify Create, Read, Update, and Delete operations work correctly
2. **Validate Filters**: Ensure filter conditions return expected results
3. **Check Response Mapping**: Confirm mapped variables contain the correct data
4. **Test Error Scenarios**: Verify graceful handling of invalid inputs or database errors
5. **Performance Testing**: Test with realistic data volumes
With these configurations, your Release0 agent can perform sophisticated database operations using Supabase, creating dynamic and personalized user experiences.
> 💡 Want to see this in action? Check out our [How to Build Data-Driven Chatbots with Supabase Integration](https://release0.com/blog/how-to-build-data-driven-chatbots-with-supabase-integration) blog post for a real-world example and practical tips.
# How to integrate your Agent with Zapier
Source: https://docs.release0.com/editor/elements/integrations/zapier
Connect your chatbot to 2,000+ web services using Zapier integration with Release0. Automate tasks and build workflows without coding.
The **Zapier** integration with **Release0** lets you connect APP to 2,000+ other web services. Automated connections called Zaps, set up in minutes with no coding, can automate your day-to-day tasks and build workflows between apps that otherwise wouldn't be possible.
Each Zap has one app as the **Trigger**, where your information comes from and which causes one or more **Actions** in other apps, where your data gets sent automatically.
## Getting Started with Zapier
Sign up for a free [Zapier](https://zapier.com/apps/release0/integrations) account, from there you can jump right in. To help you hit the ground running, here are some popular pre-made Zaps.
## How to Use the Zapier element
1. **Insert the Zapier element**\
Place the Zapier element where you want to trigger your Zap.
2. **Create the API Key**
* Click on the back arrow to go to your Workspace.
* Navigate to the API Keys section in the left sidebar on the user menu
* Click on the **Create API Key** button to generate a unique API key for your Zap.
* Copy the API key to your clipboard.
3. **Configure Your Zap on Zapier**
* Click the new **Zap** button on your Zapier dashboard.
* Click on **Trigger** and search for the **Release0** app.
* Click on Sign in to connect your Release0 account.
* Paste the API key you copied earlier into the API Key field.
* Click on **Continue** to proceed.
* Select the **Zapier** element you created in your Release0 workspace.
* Choose the event element you want to trigger in your Zap.
* Click on **Continue** to proceed.
* Test your Zap to ensure it works as expected.
4. **Test Your Zap**
* Go back to your Release0 workspace and trigger the Zapier element.
* Check your Zapier dashboard to see if the Zap was triggered successfully.
* If the test is successful, you can proceed to use the Zap in your workflow.
## Tips for Success
* Ensure your Zap is set to **active** on Zapier after configuration.
* Use clear naming for your Zaps to identify them easily in your workflow.
> 👉 See our [Zapier integration blog guide](https://release0.com/blog/integrate-release0-agent-with-zapier) for real-world use cases and inspiration.
# How to integrate your Agent with Zendesk
Source: https://docs.release0.com/editor/elements/integrations/zendesk
Integrate Zendesk live chat functionality into your chatbot for real-time support and authenticated user interactions.
The **Zendesk element** lets you integrate live chat functionality into your website or mobile app, enabling real-time support for your users.
## Prerequisites
* Admin access to your Zendesk account.
* Familiarity with embedding JavaScript snippets in your website or configuring SDKs in mobile apps.
## 1. Obtaining the Zendesk Signing Key (Key ID and Secret Key)
### What is a Signing Key?
A **signing key** is required for visitor authentication when using the Web Widget or mobile SDK. It consists of:
* **App ID (kid)**: Unique identifier for the signing key.
* **Secret Key**: A shared secret used to generate JSON Web Tokens (JWTs).
### Steps to Obtain the Signing Key
1. Log in to your Zendesk Admin Center.
2. Navigate to **Account > Security > End user authentication**.
3. Under the **Messaging** tab:
* View existing signing keys or create a new one by clicking **Create key**.
* If creating a new key, ensure you copy the **Secret Key** immediately, as it will not be fully visible later.
4. Save both the **App ID** and **Secret Key** securely.
> **Note**: Refer to the [Zendesk documentation](https://developer.zendesk.com/documentation/zendesk-web-widget-sdks/sdks/web/enabling_auth_visitors/#generating-a-signing-key) for more details.
## 2. Finding the Web Widget Key
The **Web Widget Key** is needed to configure the Web Widget for your website. It identifies the specific widget instance.
### Steps to Locate the Web Widget Key
1. In the Admin Center sidebar, go to **Channels > Messaging**.
2. Click on the Web Widget you want to configure.
3. Scroll down to the **Installation** section.
4. In the provided JavaScript snippet, locate the `key` parameter:
```html theme={null}
```
5. Copy the **key** value (`k338c615-1ccb-...` in this example).
## 3. Embedding the Web Widget
### Web Widget Installation
1. Copy the JavaScript snippet provided in the **Installation** section:
```html theme={null}
```
2. Paste the snippet into your website’s HTML, right before the closing `