Embed a chat
Target Audience: Non technical users & Developers
Goal
Configure and embed a self-service chat experience into your application, allowing users to explore data using natural language.
Prerequisites
A Toucan AI account and active organization.
Credentials for a supported SQL database (e.g., PostgreSQL).
A code editor or environment for testing HTML/web components (e.g., Codepen).
Steps
1: Create an API Key
Navigate to your Account settings page by clicking on your profile icon in the bottom left corner, then go to the API Keys section.
Create a new API Key. Copy it and store it securely.
This key will be used on your backend server to securely generate authentication tokens for your embedded application.

Security Alert: This is a secret key. Never expose it in client-side code (HTML, JavaScript). Use it only on your secure backend server.
2: Implement a user attribute model
(Optional) Define the attributes that will contextually personalize the experience for your users.
The user model will define user access to data (see "Define Row-Level Security (RLS)").
Register User Attributes
Navigate to Settings > Embed & access.
In the Token Attributes section, click Add an attribute.
Define the traits you need (e.g., name:
region, type:String). These must match the keys you will send in your user tokens.

3: Connect to a database
Navigate to the Database tab from the Home Page.
Click Add a Database and select a connector.
Input connection details including Host, Username, Password, and Database name.
Click Test Connection, then click Connect.
Example: Connect to your HR database containing employee data, including a location column with values like Tokyo, Paris, etc.
How-To: Add a database

4: Complete Metadata Information
Review existing table and column descriptions for accuracy.
(Optional): Click the Analyze button to trigger an AI scan of the database.
The AI generates descriptions for tables and columns based on the scanned data.
AI identifies specific column types, such as location data, to prepare them for visualization.
Review and modify the AI-generated descriptions to ensure they provide correct context for the dashboard.
Ensure all critical columns are described plainly to improve future AI prompt results.
How-To: Analyze your database with AI

5: Define Row-Level Security (RLS)
Secure your data so users only see what they are authorized to access.
Go to the Database tab and select a table.
In the Access rules section, map a User Attribute to a specific dataset field (a column of the table).
Example: Map the
user.regionattribute to thesales_regioncolumn.
This ensures that the AI automatically applies a filter (e.g., WHERE sales_region = "North") based on the user attribute.
How-To: Apply RLS to your database
6: Configure a chat
In the menu, go to the chat page, and click "Embed the AI chat" in the top right corner, then copy the snippet provided.
As you can see, there is a placeholder for the auth token in this snippet (auth-token="your-auth-token").

7: Get an auth token
You can customize the way the AI assistant will behave thanks to "AI context clues" within the token, where you can define the tone of voice, company context, etc.
For testing and configuration, you can generate a temporary token directly from the Toucan AI interface.
Navigate to Settings > Embed & access.
Scroll down to the Token Generation Sandbox section.
Paste your API Key.
Under User Attributes, configure the values for any custom attributes as well as the
aiContextCluesfor this token.Click Generate Token and copy the resulting string.

Production Note: For a live application, your backend server would generate these tokens dynamically via the API to securely authenticate your users and apply the correct security filters.
8: Configure CORS and embed the chat
Before your embed can render, you must authorize the domain where it will be hosted.
In the Embed & access settings, locate the Authorized Origins section.
Add the URL of your application or development environment (e.g.,
https://codepen.io) and click Save.Go to your application's code and paste the snippet you retrieved in Step 6.
Replace
your-auth-tokenwith the token you generated in the previous step.
Example result in codepen:

Conclusion
You have successfully configured and embedded a self-service chat. Your users can now ask questions and receive data-driven answers secured by your RLS and CLS policies.
Last updated
Was this helpful?
