- Integrations /
- Supabase
Connect Supabase to ElevenLabs Conversational AI Voice Agents
Seamless Real-Time Voice AI with Database Power
Let your AI Voice Agents Access Live Data with Supabase
Features
Integrations features
Real-Time Database Access
- Direct API calls to Supabase during live conversations
- Instant data retrieval with sub-second response times
- Support for complex SQL queries and joins
- Built-in caching for frequently accessed dat
Secure Authentication & Authorization
- JWT-based authentication with Supabase Auth
- Row-level security for user-specific data access
- API key management with role-based permissions
- Encrypted data transmission for sensitive information
Edge Function Integration
- Custom serverless logic execution during calls
- Multi-table operations and external API calls
- TypeScript/JavaScript support for complex workflows
- Global deployment for minimal latency
Multilingual Data Support
- Voice interactions in 31+ languages
- Unified database queries regardless of input language
- Real-time translation capabilities
- Cultural context preservation in responses
Real-Time Data Synchronization
- Live database updates during active conversations
- Webhook support for proactive notifications
- Event-driven responses to data changes
- Seamless integration with existing workflows
Installation
Installation guides
Step 1: Prepare Supabase Access
Gather your Supabase project credentials
- Log into your Supabase dashboard at app.supabase.com
- Select your project or create a new one
- Navigate to Settings then API in the left sidebar
- Copy your Project URL which looks like https://your-project.supabase.co
- Copy your Service Role Key for server-side operations
- Note your Anon Key if you need public access
Configure Row Level Security
- Go to Authentication then Policies in Supabase
- Set up appropriate RLS policies for tables your agent will access
- Ensure service role key has necessary permissions
- Test policies with sample queries in SQL Editor
Step 2: Configure ElevenLabs Agent
Store Supabase Credentials Securely
- Navigate to your ElevenLabs Conversational AI dashboard
- Go to Settings then Secrets Manager
- Create new secret named SUPABASE_SERVICE_KEY
- Paste your Supabase service role key as the value
- Create another secret named SUPABASE_URL with your project URL
Access Tools Configuration
- Select your voice agent from the dashboard
- Navigate to Tools section
- Click Add New Tool to create database integrations
Step 3: Define Database Tools
Query Database Tool
- Name: query_database
- Description: Retrieves data from Supabase database
- Method: GET
- URL: Enter your Supabase project URL followed by /rest/v1/table_name
- Add header named apikey and select SUPABASE_SERVICE_KEY from securely stored secrets
- Add Authorization header and select Bearer token option with SUPABASE_SERVICE_KEY
- Add Content-Type header with value application/json
Insert Record Tool
- Name: insert_record
- Description: Creates new records in Supabase database
- Method: POST
- URL: Enter your Supabase project URL followed by /rest/v1/table_name
- Add header named apikey and select SUPABASE_SERVICE_KEY from securely stored secrets
- Add Authorization header and select Bearer token option with SUPABASE_SERVICE_KEY
- Add Content-Type header with value application/json
- Add Prefer header with value return=representation
Update Record Tool
- Name: update_record
- Description: Updates existing records in Supabase
- Method: PATCH
- URL: Enter your Supabase project URL followed by /rest/v1/table_name
- Add header named apikey and select SUPABASE_SERVICE_KEY from securely stored secrets
- Add Authorization header and select Bearer token option with SUPABASE_SERVICE_KEY
- Add Content-Type header with value application/json
- Configure query parameters for record selection
Delete Record Tool
- Name: delete_record
- Description: Removes records from Supabase database
- Method: DELETE
- URL: Enter your Supabase project URL followed by /rest/v1/table_name
- Add header named apikey and select SUPABASE_SERVICE_KEY from securely stored secrets
- Add Authorization header and select Bearer token option with SUPABASE_SERVICE_KEY
- Configure query parameters for record selection
Step 4: Configure Agent Prompts
Update System Prompt
Add database access instructions to your agent's system prompt:
You have access to a Supabase database with the following tools:
- query_database: Use this to retrieve information when users ask about data
- insert_record: Use this to create new entries based on user input
- update_record: Use this to modify existing data when requested
- delete_record: Use this to remove records when authorized
Always confirm data modifications with users before executing insert, update, or delete operations. When retrieving data, present it in a natural, conversational manner.
Configure Tool Descriptions
For each tool, provide clear descriptions that help the agent understand when to use them:
- Query tool: Triggered by questions about existing data, searches, or lookups
- Insert tool: Activated when users want to add new information or create records
- Update tool: Used when users request changes to existing data
- Delete tool: Employed carefully when users need to remove information
Set Up Response Handling
Train your agent to handle database responses appropriately:
- Parse returned data and present it conversationally
- Handle empty results gracefully with helpful messages
- Confirm successful insertions and updates
- Provide error messages in user-friendly language
Troubleshooting