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.
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.
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.
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}}
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!
Authentication Errors: Ensure you’re using the service_role key, not the anon key
Table Not Found: Verify table names are correct and case-sensitive
Permission Denied: Check your RLS policies if enabled
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;
Filter Errors: Ensure filter conditions use correct column names and data types
Check Response Mapping: Confirm mapped variables contain the correct data
Test Error Scenarios: Verify graceful handling of invalid inputs or database errors
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.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Release0","colors":{"primary":"#70A3F3","light":"#70A3F3","dark":"#70A3F3"},"favicon":"favicon.svg","logo":{"light":"https://mintcdn.com/release0-13d037a7/Q5qvhj8Soug3VWoB/logo/light.svg?fit=max\u0026auto=format\u0026n=Q5qvhj8Soug3VWoB\u0026q=85\u0026s=aabfd4dbb780cae9f9d6a9f6ff5c9907","dark":"https://mintcdn.com/release0-13d037a7/Q5qvhj8Soug3VWoB/logo/dark.svg?fit=max\u0026auto=format\u0026n=Q5qvhj8Soug3VWoB\u0026q=85\u0026s=49099b5fde1ff980995d9e704dc47cd3","href":"https://release0.com/home"},"background":{"image":"https://mintlify.s3.us-west-1.amazonaws.com/release0-13d037a7/images/background.png","decoration":null},"footer":{"socials":{"website":"https://release0.com","x":"https://release0.com/x","discord":"https://release0.com/discord","youtube":"https://release0.com/youtube","facebook":"https://release0.com/facebook"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Community","href":"https://release0.com/discord","icon":"discord"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"release0-13d037a7","hasAudioNarration":false,"actualSubdomain":"release0-13d037a7","customDomains":["docs.release0.com"],"gitSource":{"type":"github","owner":"sebastiangravina","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e68233a4518725aaba65","collectionId":"22be39d7-5bbf-479d-8db4-7f190086a731","schemaVersion":"v2"},"entitlements":{},"buildId":"6ae92477ebe6959d239e6de8:success","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"Documentation","count":115},{"language":"default","tag":"Flow","count":63},{"language":"default","tag":"Elements","count":57},{"language":"default","tag":"Integrations","count":18},{"language":"default","tag":"element Integrations","count":17},{"language":"default","tag":"Web","count":15},{"language":"default","tag":"User Inputs","count":14},{"language":"default","tag":"Agent","count":11},{"language":"default","tag":"AI element Integrations","count":11},{"language":"default","tag":"Logic \u0026 Enrichment","count":9}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"editor/elements/integrations/supabase","slug":"/editor/elements/integrations/supabase","pageMetadata":{"sidebarTitle":"Supabase","title":"How to integrate your Agent with Supabase","description":"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.","href":"/editor/elements/integrations/supabase"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"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.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,blockquote:`blockquote`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,OptimizedImage,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`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 `,_jsx(_components.strong,{children:`Release0 agent`}),`, it enables powerful, data-driven interactions that enhance the functionality and personalization of your automated experiences.`]}),`\n`,_jsx(Heading,{level:`2`,id:`advantages-of-using-supabase-with-release0-agent`,children:`Advantages of Using Supabase with Release0 Agent`}),`\n`,_jsx(_components.p,{children:`Connecting Supabase to your Release0 agent allows you to:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Store and retrieve user data in a robust PostgreSQL database`}),`\n`,_jsx(_components.li,{children:`Create responsive flows with real-time database-driven logic`}),`\n`,_jsx(_components.li,{children:`Adapt dialogs based on stored user preferences and history`}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Create`}),` new records (e.g., user registrations, form submissions)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Read`}),` data for personalization and decision-making`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Update`}),` existing records based on conversation outcomes`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Delete`}),` entries when necessary`]}),`\n`]}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Example`}),`: Store user preferences and retrieve them in future conversations using `,_jsx(_components.code,{children:`{{user.preference_id}}`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`This guide explains how to use the `,_jsx(_components.strong,{children:`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.`]}),`\n`,_jsx(Heading,{level:`2`,id:`setting-up-supabase-authentication`,children:`Setting Up Supabase Authentication`}),`\n`,_jsx(_components.p,{children:`To connect Release0 with Supabase, you’ll need:`}),`\n`,_jsx(Heading,{level:`3`,id:`1-supabase-project-url`,children:`1. Supabase Project URL`}),`\n`,_jsxs(_components.p,{children:[`Your project URL can be found in your Supabase dashboard under `,_jsx(_components.strong,{children:`Settings > Data API`}),`. It follows this format:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://your-project-id.supabase.co`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Frame,{style:{maxWidth:`400px`},children:_jsx(OptimizedImage,{src:`https://mintcdn.com/release0-13d037a7/MimUY9m4TiaqqVxh/images/elements/integrations/supabase/supabase-api-settings.jpg?fit=max\u0026auto=format\u0026n=MimUY9m4TiaqqVxh\u0026q=85\u0026s=9656ae706a9174466901084057f81486`,alt:`Release0.com - Supabase Project URL`,\"data-og-width\":`2096`,width:`2096`,\"data-og-height\":`490`,height:`490`,\"data-path\":`images/elements/integrations/supabase/supabase-api-settings.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/release0-13d037a7/MimUY9m4TiaqqVxh/images/elements/integrations/supabase/supabase-api-settings.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=MimUY9m4TiaqqVxh\u0026q=85\u0026s=f25c1a3a559b3c412d619a6dd397ff18 280w, https://mintcdn.com/release0-13d037a7/MimUY9m4TiaqqVxh/images/elements/integrations/supabase/supabase-api-settings.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=MimUY9m4TiaqqVxh\u0026q=85\u0026s=9501daf30b114b0b7b57b734e014bf76 560w, https://mintcdn.com/release0-13d037a7/MimUY9m4TiaqqVxh/images/elements/integrations/supabase/supabase-api-settings.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=MimUY9m4TiaqqVxh\u0026q=85\u0026s=814d5a023288fdd40a14cc24cdce1726 840w, https://mintcdn.com/release0-13d037a7/MimUY9m4TiaqqVxh/images/elements/integrations/supabase/supabase-api-settings.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=MimUY9m4TiaqqVxh\u0026q=85\u0026s=96b6a1c9375fb4d2883c6e663071bf4e 1100w, https://mintcdn.com/release0-13d037a7/MimUY9m4TiaqqVxh/images/elements/integrations/supabase/supabase-api-settings.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=MimUY9m4TiaqqVxh\u0026q=85\u0026s=9b6fb65d798965196517cfdd99edfee1 1650w, https://mintcdn.com/release0-13d037a7/MimUY9m4TiaqqVxh/images/elements/integrations/supabase/supabase-api-settings.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=MimUY9m4TiaqqVxh\u0026q=85\u0026s=b175dcc6d6dc8b04dd5aaa216a8f6473 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`2-service-role-api-key`,children:`2. Service Role API Key`}),`\n`,_jsxs(_components.p,{children:[`You’ll need the `,_jsx(_components.code,{children:`service_role`}),` key (not the `,_jsx(_components.code,{children:`anon`}),` key) for full database access:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Go to your Supabase dashboard`}),`\n`,_jsxs(_components.li,{children:[`Navigate to `,_jsx(_components.strong,{children:`Settings > API Keys`})]}),`\n`,_jsxs(_components.li,{children:[`Copy the `,_jsx(_components.strong,{children:`service_role`}),` key under “Project API keys”`]}),`\n`]}),`\n`,_jsx(Frame,{style:{maxWidth:`400px`},children:_jsx(OptimizedImage,{src:`https://mintcdn.com/release0-13d037a7/MimUY9m4TiaqqVxh/images/elements/integrations/supabase/supabase-api-key.jpg?fit=max\u0026auto=format\u0026n=MimUY9m4TiaqqVxh\u0026q=85\u0026s=e8a27e8a178acd9f24d46af54d8cb487`,alt:`Release0.com - Supabase API Key`,\"data-og-width\":`2118`,width:`2118`,\"data-og-height\":`974`,height:`974`,\"data-path\":`images/elements/integrations/supabase/supabase-api-key.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/release0-13d037a7/MimUY9m4TiaqqVxh/images/elements/integrations/supabase/supabase-api-key.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=MimUY9m4TiaqqVxh\u0026q=85\u0026s=dcac30832ae2a9679a0189b33d1ad239 280w, https://mintcdn.com/release0-13d037a7/MimUY9m4TiaqqVxh/images/elements/integrations/supabase/supabase-api-key.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=MimUY9m4TiaqqVxh\u0026q=85\u0026s=d38298e4c4ab95da0ba8935491f8ce76 560w, https://mintcdn.com/release0-13d037a7/MimUY9m4TiaqqVxh/images/elements/integrations/supabase/supabase-api-key.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=MimUY9m4TiaqqVxh\u0026q=85\u0026s=cfe203b2b56f2908a94f2e3d6c26cae8 840w, https://mintcdn.com/release0-13d037a7/MimUY9m4TiaqqVxh/images/elements/integrations/supabase/supabase-api-key.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=MimUY9m4TiaqqVxh\u0026q=85\u0026s=46696262e727a32c9eb78bfca8e78b69 1100w, https://mintcdn.com/release0-13d037a7/MimUY9m4TiaqqVxh/images/elements/integrations/supabase/supabase-api-key.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=MimUY9m4TiaqqVxh\u0026q=85\u0026s=4364d666e3a51c5388d83df0874ea52e 1650w, https://mintcdn.com/release0-13d037a7/MimUY9m4TiaqqVxh/images/elements/integrations/supabase/supabase-api-key.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=MimUY9m4TiaqqVxh\u0026q=85\u0026s=54e6065c8f907fb3ce0e8492f46f24b8 2500w`})}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The service_role key has full access to your database. Keep it secure and never expose it in client-side code.`})}),`\n`,_jsx(Heading,{level:`2`,id:`available-actions`,children:`Available Actions`}),`\n`,_jsx(_components.p,{children:`The Supabase element provides four main actions:`}),`\n`,_jsx(Heading,{level:`3`,id:`1-create-row`,children:`1. Create Row`}),`\n`,_jsx(_components.p,{children:`Add new records to your database tables.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Required Fields:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Table Name`}),`: The name of the table to insert into`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Fields`}),`: Key-value pairs for the data to insert`]}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Optional Fields:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Schema`}),`: Database schema (defaults to “public”)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Response Mapping`}),`: Map returned data to variables`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`2-get-rows`,children:`2. Get Rows`}),`\n`,_jsx(_components.p,{children:`Retrieve records from your database tables with advanced filtering.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Required Fields:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Table Name`}),`: The name of the table to query`]}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Optional Fields:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Schema`}),`: Database schema (defaults to “public”)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Return Type`}),`: Choose “All”, “First”, “Last”, or “Random”`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Order By Column`}),`: Column to sort results`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Order Direction`}),`: “asc” (ascending) or “desc” (descending)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Filter Conditions`}),`: Add WHERE conditions`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Select Columns`}),`: Specify which columns to return (defaults to ”*”)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Limit`}),`: Maximum number of records to return`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Response Mapping`}),`: Map returned data to variables`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`3-update-rows`,children:`3. Update Rows`}),`\n`,_jsx(_components.p,{children:`Modify existing records in your database tables.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Required Fields:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Table Name`}),`: The name of the table to update`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Filter Conditions`}),`: Conditions to identify which records to update`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Fields to Update`}),`: Key-value pairs for the data to update`]}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Optional Fields:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Schema`}),`: Database schema (defaults to “public”)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Response Mapping`}),`: Map updated data to variables`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`4-delete-rows`,children:`4. Delete Rows`}),`\n`,_jsx(_components.p,{children:`Remove records from your database tables.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Required Fields:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Table Name`}),`: The name of the table to delete from`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Filter Conditions`}),`: Conditions to identify which records to delete`]}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Optional Fields:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Schema`}),`: Database schema (defaults to “public”)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Response Mapping`}),`: Map deleted data to variables`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`complete-workflow-example`,children:`Complete Workflow Example`}),`\n`,_jsx(_components.p,{children:`Let’s create a customer support ticket system using Supabase integration.`}),`\n`,_jsx(Heading,{level:`3`,id:`step-1-create-a-support-tickets-table`,children:`Step 1: Create a Support Tickets Table`}),`\n`,_jsx(_components.p,{children:`First, create a table in your Supabase database with these columns:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`id`}),`: Primary key (auto-increment)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`customer_name`}),`: Text`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`customer_email`}),`: Text`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`issue_type`}),`: Text`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`description`}),`: Text`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`status`}),`: Text (default: “open”)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`created_at`}),`: Timestamp (default: now())`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`priority`}),`: Text (default: “medium”)`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-2-collect-customer-information`,children:`Step 2: Collect Customer Information`}),`\n`,_jsxs(_components.p,{children:[`Create a `,_jsx(_components.strong,{children:`Text element`}),` to collect the customer’s information:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`9`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Hi! I'm here to help you create a support ticket. `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Please provide the following information:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Your name: {{customer_name}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Your email: {{customer_email}} `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Issue type: {{issue_type}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Description of the problem: {{description}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Priority level (low/medium/high): {{priority}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`3`,id:`step-3-create-the-support-ticket`,children:`Step 3: Create the Support Ticket`}),`\n`,_jsxs(_components.p,{children:[`Add a `,_jsx(_components.strong,{children:`Supabase element`}),` with the `,_jsx(_components.strong,{children:`Create Row`}),` action:`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Configuration:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Table Name`}),`: `,_jsx(_components.code,{children:`support_tickets`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Fields`}),`:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`customer_name`}),`: `,_jsx(_components.code,{children:`{{customer_name}}`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`customer_email`}),`: `,_jsx(_components.code,{children:`{{customer_email}}`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`issue_type`}),`: `,_jsx(_components.code,{children:`{{issue_type}}`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`description`}),`: `,_jsx(_components.code,{children:`{{description}}`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`priority`}),`: `,_jsx(_components.code,{children:`{{priority}}`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`status`}),`: `,_jsx(_components.code,{children:`open`})]}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Response Mapping:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Map “Row Created” to variable `,_jsx(_components.code,{children:`{{ticket_data}}`})]}),`\n`,_jsxs(_components.li,{children:[`Map “Table Name” to variable `,_jsx(_components.code,{children:`{{table_name}}`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-4-confirmation-message`,children:`Step 4: Confirmation Message`}),`\n`,_jsxs(_components.p,{children:[`Add another `,_jsx(_components.strong,{children:`Text element`}),` to confirm ticket creation:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`10`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`✅ Your support ticket has been created successfully!`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Ticket Details:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Ticket ID: {{ticket_data.id}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Status: {{ticket_data.status}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Priority: {{ticket_data.priority}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Created: {{ticket_data.created_at}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`We'll get back to you at {{customer_email}} soon!`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`3`,id:`step-5-ticket-status-lookup`,children:`Step 5: Ticket Status Lookup`}),`\n`,_jsx(_components.p,{children:`Create a flow for customers to check their ticket status:`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Text element`}),` to collect ticket ID:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Please enter your ticket ID to check the status: {{ticket_id}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Supabase element`}),` with `,_jsx(_components.strong,{children:`Get Rows`}),` action:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Table Name`}),`: `,_jsx(_components.code,{children:`support_tickets`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Filter Conditions`}),`: `,_jsx(_components.code,{children:`id`}),` equals `,_jsx(_components.code,{children:`{{ticket_id}}`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Return Type`}),`: “First”`]}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Response Mapping:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Map “Rows Found” to variable `,_jsx(_components.code,{children:`{{ticket_info}}`})]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Status Display element`}),`:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`11`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`📋 Ticket Status Report`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Ticket ID: {{ticket_info.id}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Customer: {{ticket_info.customer_name}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Issue Type: {{ticket_info.issue_type}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Status: {{ticket_info.status}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Priority: {{ticket_info.priority}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Created: {{ticket_info.created_at}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Description: {{ticket_info.description}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`3`,id:`step-6-update-ticket-status-admin-flow`,children:`Step 6: Update Ticket Status (Admin Flow)`}),`\n`,_jsx(_components.p,{children:`For support staff to update ticket status:`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Supabase element`}),` with `,_jsx(_components.strong,{children:`Update Rows`}),` action:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Table Name`}),`: `,_jsx(_components.code,{children:`support_tickets`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Filter Conditions`}),`: `,_jsx(_components.code,{children:`id`}),` equals `,_jsx(_components.code,{children:`{{ticket_id}}`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Fields to Update`}),`:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`status`}),`: `,_jsx(_components.code,{children:`{{new_status}}`})]}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`best-practices`,children:`Best Practices`}),`\n`,_jsx(Heading,{level:`3`,id:`security`,children:`Security`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Always use the service_role key for server-side operations`}),`\n`,_jsx(_components.li,{children:`Implement Row Level Security (RLS) policies in Supabase`}),`\n`,_jsx(_components.li,{children:`Validate user inputs before database operations`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`performance`,children:`Performance`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Use specific column selection instead of `,_jsx(_components.code,{children:`SELECT *`}),` when possible`]}),`\n`,_jsx(_components.li,{children:`Add appropriate indexes for frequently filtered columns`}),`\n`,_jsx(_components.li,{children:`Use pagination with LIMIT for large datasets`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`error-handling`,children:`Error Handling`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Always include filter conditions for UPDATE and DELETE operations`}),`\n`,_jsx(_components.li,{children:`Test your database operations thoroughly before deployment`}),`\n`,_jsx(_components.li,{children:`Use Response Mapping to capture and handle operation results`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`data-validation`,children:`Data Validation`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Validate required fields before database operations`}),`\n`,_jsx(_components.li,{children:`Use appropriate data types in your Supabase schema`}),`\n`,_jsx(_components.li,{children:`Implement constraints and default values in your database`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`filter-conditions`,children:`Filter Conditions`}),`\n`,_jsx(_components.p,{children:`When using filters in Get Rows, Update Rows, or Delete Rows actions, you can use various operators:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Equals`}),`: Exact match`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Not Equals`}),`: Exclude exact matches`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Greater Than`}),`: Numeric/date comparisons`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Less Than`}),`: Numeric/date comparisons`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Contains`}),`: Text search within fields`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Starts With`}),`: Text prefix matching`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Ends With`}),`: Text suffix matching`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Is Empty`}),`: Check for null/empty values`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Is Not Empty`}),`: Check for non-null values`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`response-mapping-options`,children:`Response Mapping Options`}),`\n`,_jsx(_components.p,{children:`Each action provides different response mapping options:`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Create Row:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Row Created: The newly created record`}),`\n`,_jsx(_components.li,{children:`Table Name: Name of the table`}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Get Rows:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Rows Found: Array of matching records`}),`\n`,_jsx(_components.li,{children:`Table Name: Name of the table`}),`\n`,_jsx(_components.li,{children:`Rows Count: Number of records found`}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Update Rows:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Updated Rows: Array of updated records`}),`\n`,_jsx(_components.li,{children:`Table Name: Name of the table`}),`\n`,_jsx(_components.li,{children:`Updated Count: Number of records updated`}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Delete Rows:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Deleted Rows: Array of deleted records`}),`\n`,_jsx(_components.li,{children:`Table Name: Name of the table`}),`\n`,_jsx(_components.li,{children:`Deleted Count: Number of records deleted`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsx(Heading,{level:`3`,id:`common-issues`,children:`Common Issues`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Authentication Errors`}),`: Ensure you’re using the service_role key, not the anon key`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Table Not Found`}),`: Verify table names are correct and case-sensitive`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Permission Denied`}),`: Check your RLS policies if enabled`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Row Level Security (RLS) Policy Violations`}),`: If you get an error like `,_jsx(_components.code,{children:`\"new row violates row-level security policy for table\"`}),` with a 401 Unauthorized status, you need to either:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Disable RLS for your table (go to Authentication > Policies in Supabase dashboard)`}),`\n`,_jsx(_components.li,{children:`Create appropriate RLS policies that allow your service_role key to perform operations`}),`\n`,_jsxs(_components.li,{children:[`For testing purposes, you can temporarily disable RLS by running: `,_jsx(_components.code,{children:`ALTER TABLE your_table_name DISABLE ROW LEVEL SECURITY;`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Filter Errors`}),`: Ensure filter conditions use correct column names and data types`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`debugging-tips`,children:`Debugging Tips`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Use the browser’s developer tools to inspect network requests`}),`\n`,_jsx(_components.li,{children:`Check Supabase logs in your dashboard for detailed error messages`}),`\n`,_jsx(_components.li,{children:`Test database operations directly in Supabase SQL editor first`}),`\n`,_jsx(_components.li,{children:`Verify your table schema matches the data you’re sending`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`validation-and-testing`,children:`Validation and Testing`}),`\n`,_jsx(_components.p,{children:`Before deploying your agent:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Test Each Operation`}),`: Verify Create, Read, Update, and Delete operations work correctly`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Validate Filters`}),`: Ensure filter conditions return expected results`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check Response Mapping`}),`: Confirm mapped variables contain the correct data`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Test Error Scenarios`}),`: Verify graceful handling of invalid inputs or database errors`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Performance Testing`}),`: Test with realistic data volumes`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`With these configurations, your Release0 agent can perform sophisticated database operations using Supabase, creating dynamic and personalized user experiences.`}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsxs(_components.p,{children:[`💡 Want to see this in action? Check out our `,_jsx(_components.a,{href:`https://release0.com/blog/how-to-build-data-driven-chatbots-with-supabase-integration`,children:`How to Build Data-Driven Chatbots with Supabase Integration`}),` blog post for a real-world example and practical tips.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"sidebarTitle":"Supabase","title":"How to integrate your Agent with Supabase","description":"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.","href":"/editor/elements/integrations/supabase"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Advantages of Using Supabase with Release0 Agent","slug":"advantages-of-using-supabase-with-release0-agent","depth":2,"children":[]},{"title":"Setting Up Supabase Authentication","slug":"setting-up-supabase-authentication","depth":2,"children":[{"title":"1. Supabase Project URL","slug":"1-supabase-project-url","depth":3,"children":[]},{"title":"2. Service Role API Key","slug":"2-service-role-api-key","depth":3,"children":[]}]},{"title":"Available Actions","slug":"available-actions","depth":2,"children":[{"title":"1. Create Row","slug":"1-create-row","depth":3,"children":[]},{"title":"2. Get Rows","slug":"2-get-rows","depth":3,"children":[]},{"title":"3. Update Rows","slug":"3-update-rows","depth":3,"children":[]},{"title":"4. Delete Rows","slug":"4-delete-rows","depth":3,"children":[]}]},{"title":"Complete Workflow Example","slug":"complete-workflow-example","depth":2,"children":[{"title":"Step 1: Create a Support Tickets Table","slug":"step-1-create-a-support-tickets-table","depth":3,"children":[]},{"title":"Step 2: Collect Customer Information","slug":"step-2-collect-customer-information","depth":3,"children":[]},{"title":"Step 3: Create the Support Ticket","slug":"step-3-create-the-support-ticket","depth":3,"children":[]},{"title":"Step 4: Confirmation Message","slug":"step-4-confirmation-message","depth":3,"children":[]},{"title":"Step 5: Ticket Status Lookup","slug":"step-5-ticket-status-lookup","depth":3,"children":[]},{"title":"Step 6: Update Ticket Status (Admin Flow)","slug":"step-6-update-ticket-status-admin-flow","depth":3,"children":[]}]},{"title":"Best Practices","slug":"best-practices","depth":2,"children":[{"title":"Security","slug":"security","depth":3,"children":[]},{"title":"Performance","slug":"performance","depth":3,"children":[]},{"title":"Error Handling","slug":"error-handling","depth":3,"children":[]},{"title":"Data Validation","slug":"data-validation","depth":3,"children":[]}]},{"title":"Filter Conditions","slug":"filter-conditions","depth":2,"children":[]},{"title":"Response Mapping Options","slug":"response-mapping-options","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[{"title":"Common Issues","slug":"common-issues","depth":3,"children":[]},{"title":"Debugging Tips","slug":"debugging-tips","depth":3,"children":[]}]},{"title":"Validation and Testing","slug":"validation-and-testing","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"release0-13d037a7","siteName":"Release0","title":"How to integrate your Agent with Supabase - Release0","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"originalFileLocation":"editor/elements/integrations/supabase.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"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.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Release0\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/release0-13d037a7/cRbnTYXeeelCIjgO/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/release0-13d037a7/cRbnTYXeeelCIjgO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/release0-13d037a7/cRbnTYXeeelCIjgO/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/release0-13d037a7/cRbnTYXeeelCIjgO/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/release0-13d037a7/cRbnTYXeeelCIjgO/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/release0-13d037a7/cRbnTYXeeelCIjgO/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/release0-13d037a7/cRbnTYXeeelCIjgO/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/release0-13d037a7/cRbnTYXeeelCIjgO/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/release0-13d037a7/cRbnTYXeeelCIjgO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"How to integrate your Agent with Supabase - Release0\">\u003cmeta data-mint-head property=\"og:description\" content=\"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.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Release0\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.release0.com/editor/elements/integrations/supabase\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://release0-13d037a7.mintlify.site/_mintlify/api/og/v2?division=element+Integrations\u0026amp;title=How+to+integrate+your+Agent+with+Supabase\u0026amp;description=Integrate+Supabase+with+Release0+to+create+dynamic%2C+data-driven+chatbot+interactions+using+PostgreSQL+database+management.+Learn+how+to+fetch%2C+create%2C+update%2C+a\u0026amp;theme=5d137285c97db087e7164e36\u0026amp;signature=0d58aaac15e6a7fe19398d2471d86a5f3b3028c9c541f22ca7b7ad531ef32822\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"How to integrate your Agent with Supabase - Release0\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"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.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://release0-13d037a7.mintlify.site/_mintlify/api/og/v2?division=element+Integrations\u0026amp;title=How+to+integrate+your+Agent+with+Supabase\u0026amp;description=Integrate+Supabase+with+Release0+to+create+dynamic%2C+data-driven+chatbot+interactions+using+PostgreSQL+database+management.+Learn+how+to+fetch%2C+create%2C+update%2C+a\u0026amp;theme=5d137285c97db087e7164e36\u0026amp;signature=0d58aaac15e6a7fe19398d2471d86a5f3b3028c9c541f22ca7b7ad531ef32822\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/release0-13d037a7/cRbnTYXeeelCIjgO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Release0\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#70A3F3\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.release0.com/editor/elements/integrations/supabase\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/editor/elements/integrations/supabase.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.release0.com/#organization\",\"name\":\"Release0\",\"url\":\"https://docs.release0.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/release0-13d037a7/Q5qvhj8Soug3VWoB/logo/light.svg?fit=max\u0026auto=format\u0026n=Q5qvhj8Soug3VWoB\u0026q=85\u0026s=aabfd4dbb780cae9f9d6a9f6ff5c9907\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.release0.com#website\",\"name\":\"Release0\",\"url\":\"https://docs.release0.com\",\"publisher\":{\"@id\":\"https://docs.release0.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.release0.com/editor/elements/integrations/supabase#webpage\",\"url\":\"https://docs.release0.com/editor/elements/integrations/supabase\",\"name\":\"How to integrate your Agent with Supabase\",\"description\":\"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.\",\"isPartOf\":{\"@id\":\"https://docs.release0.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.release0.com/editor/elements/integrations/supabase#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.release0.com/editor/elements/integrations/supabase#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Flow\",\"item\":\"https://docs.release0.com/editor/graph\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Elements\",\"item\":\"https://docs.release0.com/editor/elements/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"element Integrations\",\"item\":\"https://docs.release0.com/editor/elements/integrations/google-analytics\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"How to integrate your Agent with Supabase\",\"item\":\"https://docs.release0.com/editor/elements/integrations/supabase\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.release0.com/editor/elements/integrations/supabase#article\",\"headline\":\"How to integrate your Agent with Supabase\",\"name\":\"How to integrate your Agent with Supabase\",\"description\":\"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.\",\"url\":\"https://docs.release0.com/editor/elements/integrations/supabase\",\"mainEntityOfPage\":{\"@id\":\"https://docs.release0.com/editor/elements/integrations/supabase#webpage\"},\"publisher\":{\"@id\":\"https://docs.release0.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.release0.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Release0\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Release0","nav":{"global":{"anchors":[{"anchor":"Community","href":"https://release0.com/discord","icon":"discord"}]},"anchors":[{"anchor":"Documentation","icon":"book-open","groups":[{"group":"Get Started","pages":[{"sidebarTitle":"Introduction","title":"Introduction to Release0 Platform","icon":"flag","href":"/get-started/introduction"},{"sidebarTitle":"Support","title":"Release0 Support","icon":"life-ring","href":"/support"}]},{"group":"Agent","pages":[{"sidebarTitle":"Overview","title":"What is an Agent in Release0?","icon":"list","href":"/editor/agent-settings/overview"},{"sidebarTitle":"Agent Configuration","title":"How to configure your Agent Settings","icon":"robot","href":"/editor/agent-settings/agent-settings"},{"sidebarTitle":"Publish Agent","title":"How to publish an Agent in Release0","icon":"globe","href":"/editor/agent-settings/publish"},{"sidebarTitle":"Agent Expiration","title":"How to set an Expiration for your Agent","icon":"calendar","href":"/editor/agent-settings/agent-expiration"},{"sidebarTitle":"Agent Password","title":"How to secure your Agent with a Password","icon":"lock","href":"/editor/agent-settings/agent-password"},{"sidebarTitle":"Agent Unpublish","title":"How to unpublish your Agent to disable access","icon":"circle-x","href":"/editor/agent-settings/agent-unpublish"},{"sidebarTitle":"Agent Link Preview","title":"How to customize the Agent Link Preview","icon":"link","href":"/editor/agent-settings/agent-link-preview"},{"sidebarTitle":"Agent Favicon","title":"How to customize your Agent Favicon","icon":"bars","href":"/editor/agent-settings/agent-favicon"},{"sidebarTitle":"Agent QR Code","title":"How to generate QR Code for sharing your Agent","icon":"qrcode","href":"/editor/agent-settings/agent-qr-code-generator"},{"sidebarTitle":"Branding Settings","title":"How to customize your Agent Branding Settings","icon":"gem","href":"/editor/agent-settings/agent-branding"},{"sidebarTitle":"Advanced Settings","title":"How to configure Advanced Agent Settings","icon":"sliders","href":"/editor/agent-settings/advanced-settings"}]},{"group":"Flow","pages":[{"sidebarTitle":"Graph","title":"How to use the Graph view in Release0","icon":"game-board","href":"/editor/graph"},{"group":"Elements","icon":"block","pages":[{"sidebarTitle":"Elements","title":"What are elements in Release0?","href":"/editor/elements/overview"},{"group":"Agent Dialog","pages":[{"sidebarTitle":"Text","title":"How to use the Text element to display messages","icon":"font","href":"/editor/elements/agent-dialog/text"},{"sidebarTitle":"Show image","title":"How to use the Show Image element","icon":"image","href":"/editor/elements/agent-dialog/image"},{"sidebarTitle":"Play video","title":"How to use the Play Video element","icon":"video","href":"/editor/elements/agent-dialog/video"},{"sidebarTitle":"Embed content","title":"How to use the Embed Content element","icon":"browser","href":"/editor/elements/agent-dialog/embed"},{"sidebarTitle":"Play Audio","title":"How to use the Play Audio element","icon":"headphones","href":"/editor/elements/agent-dialog/audio"}]},{"group":"User Inputs","pages":[{"sidebarTitle":"Text","title":"How to use the Text Input element","icon":"text","href":"/editor/elements/user-inputs/text"},{"sidebarTitle":"Email","title":"How to use the Email input element","icon":"at","href":"/editor/elements/user-inputs/email"},{"sidebarTitle":"Number","title":"How to use the Number input element","icon":"hashtag","href":"/editor/elements/user-inputs/number"},{"sidebarTitle":"Address","title":"Use Address element to autocomplete location inputs","icon":"map-pin","href":"/editor/elements/user-inputs/address"},{"sidebarTitle":"Autocomplete","title":"Use the Autocomplete element to select from large lists","icon":"wand-sparkles","href":"/editor/elements/user-inputs/autocomplete"},{"sidebarTitle":"Buttons Choice","title":"How to use the Buttons Choice element","icon":"arrow-pointer","href":"/editor/elements/user-inputs/buttons-choice"},{"sidebarTitle":"Picture Choice","title":"How to use the Picture Choice element","icon":"images","href":"/editor/elements/user-inputs/picture-choice"},{"sidebarTitle":"Date","title":"How to use the Date element","icon":"calendar","href":"/editor/elements/user-inputs/date"},{"sidebarTitle":"Phone","title":"How to use the Phone input element","icon":"phone","href":"/editor/elements/user-inputs/phone"},{"sidebarTitle":"Upload File","title":"How to use the Upload File element","icon":"upload","href":"/editor/elements/user-inputs/fileUpload"},{"sidebarTitle":"Rating","title":"How to use the Rating element","icon":"star","href":"/editor/elements/user-inputs/rating"},{"sidebarTitle":"URL","title":"How to use the URL input element","icon":"link","href":"/editor/elements/user-inputs/website"},{"sidebarTitle":"Request Payment","title":"How to use the Request Payment element","icon":"credit-card","href":"/editor/elements/user-inputs/collect-payment"},{"sidebarTitle":"Password","title":"Limit Agents flow access with Password element","icon":"lock","href":"/editor/elements/user-inputs/password"}]},{"group":"Logic \u0026 Enrichment","pages":[{"sidebarTitle":"AB Test","title":"How to use the AB Test element","icon":"vials","href":"/editor/elements/logic/ab-test"},{"sidebarTitle":"Condition","title":"How to use the Condition element","icon":"code-branch","href":"/editor/elements/logic/condition"},{"sidebarTitle":"Delay","title":"How to use the Delay element","icon":"timer","href":"/editor/elements/logic/wait"},{"sidebarTitle":"Jump to agent","title":"How to use the Jump to Agent element","icon":"cube","href":"/editor/elements/logic/link-to-agent"},{"sidebarTitle":"Jump to element","title":"How to use the Jump to element","icon":"forward","href":"/editor/elements/logic/jump"},{"sidebarTitle":"Run Script","title":"How to Use the Run Script element","icon":"code","href":"/editor/elements/logic/script-element"},{"sidebarTitle":"Set Variable","title":"How to use the Set Variable element","icon":"pen","href":"/editor/elements/logic/set-variable"},{"sidebarTitle":"URL Redirect","title":"How to use the URL Redirect element","icon":"arrow-up-right-from-square","href":"/editor/elements/logic/redirect"},{"sidebarTitle":"User Info","title":"How to use the User Information element","icon":"user-gear","href":"/editor/elements/logic/user-info"}]},{"group":"AI element Integrations","pages":[{"sidebarTitle":"Anthropic","title":"How to integrate your agent with Anthropic","href":"/editor/elements/ai-agents/anthropic"},{"sidebarTitle":"ChatNode","title":"How to integrate your Agent with ChatNode","href":"/editor/elements/ai-agents/chatnode"},{"sidebarTitle":"DeepSeek","title":"How to integrate your Agent with DeepSeek","href":"/editor/elements/ai-agents/deepseek"},{"sidebarTitle":"Dify.AI","title":"How to integrate your Agent with Dify.AI","href":"/editor/elements/ai-agents/dify"},{"sidebarTitle":"ElevenLabs","title":"How to integrate your Agent with ElevenLabs","href":"/editor/elements/ai-agents/elevenlabs"},{"sidebarTitle":"Groq","title":"How to integrate your Agent with Groq","href":"/editor/elements/ai-agents/groq"},{"sidebarTitle":"Mistral AI","title":"How to integrate your Agent with Mistral AI","href":"/editor/elements/ai-agents/mistralAI"},{"sidebarTitle":"OpenRouter","title":"How to integrate Release0 with OpenRouter","href":"/editor/elements/ai-agents/openRouter"},{"sidebarTitle":"OpenAI","title":"How to integrate your Agent with OpenAI","href":"/editor/elements/ai-agents/openAi"},{"sidebarTitle":"Perplexity","title":"How to integrate your Agent with Perplexity","href":"/editor/elements/ai-agents/perplexity"},{"sidebarTitle":"Together AI","title":"How to Integrate Your Agent with Together AI","href":"/editor/elements/ai-agents/together"}]},{"group":"element Integrations","pages":[{"sidebarTitle":"Google Analytics","title":"How to integrate your Agent with Google Analytics","href":"/editor/elements/integrations/google-analytics"},{"sidebarTitle":"Cal.com","title":"How to integrate your Agent with Cal.com","href":"/editor/elements/integrations/cal"},{"sidebarTitle":"Chatwoot","title":"How to integrate your Agent with Chatwoot","href":"/editor/elements/integrations/chatwoot"},{"sidebarTitle":"Discord","title":"How to integrate your Agent with Discord","href":"/editor/elements/integrations/discord"},{"sidebarTitle":"Email","title":"Send Emails with your Agent","href":"/editor/elements/integrations/send-email"},{"sidebarTitle":"Google Sheets","title":"How to integrate your Agent with Google Sheets","href":"/editor/elements/integrations/google-sheets"},{"sidebarTitle":"HTTP Request","title":"Using the HTTP Request to connect with APIs","href":"/editor/elements/integrations/http-request"},{"sidebarTitle":"Make.com","title":"How to integrate your Agent with Make.com","href":"/editor/elements/integrations/make-com"},{"sidebarTitle":"NocoDB","title":"How to integrate your Agent with NocoDB","href":"/editor/elements/integrations/nocodb"},{"sidebarTitle":"Pabbly Connect","title":"How to integrate your Agent with Pabbly","href":"/editor/elements/integrations/pabbly-connect"},{"sidebarTitle":"Meta Pixel","title":"How to integrate your Agent with Meta Pixel","href":"/editor/elements/integrations/meta-pixel"},{"sidebarTitle":"QR Code","title":"How to generate QR codes with Release0","href":"/editor/elements/integrations/qr"},{"sidebarTitle":"Segment","title":"How to integrate your Agent with Segment","href":"/editor/elements/integrations/segment"},{"sidebarTitle":"Smartsheet","title":"How to integrate your Agent with Smartsheet","description":"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.","href":"/editor/elements/integrations/smartsheet"},{"sidebarTitle":"Supabase","title":"How to integrate your Agent with Supabase","href":"/editor/elements/integrations/supabase"},{"sidebarTitle":"Zapier","title":"How to integrate your Agent with Zapier","description":"Connect your chatbot to 2,000+ web services using Zapier integration with Release0. Automate tasks and build workflows without coding.","href":"/editor/elements/integrations/zapier"},{"sidebarTitle":"Zendesk","title":"How to integrate your Agent with Zendesk","href":"/editor/elements/integrations/zendesk"}]}]},{"sidebarTitle":"Variables","title":"How to Use Variables in Your Agent","icon":"brackets-curly","href":"/editor/variables"},{"sidebarTitle":"Sticky Note","title":"How to Use Sticky Notes in Your Flow Editor","icon":"note","href":"/editor/sticky-note"},{"sidebarTitle":"Agent Publication","title":"How to publish an Agent in Release0","icon":"globe","href":"/editor/publish"},{"sidebarTitle":"Context Menu","title":"How to use the Context Menu in Release0","icon":"bars","href":"/editor/context-menu"},{"sidebarTitle":"Export / Import","title":"How to export and import Agents","icon":"file-export","href":"/editor/export-import"}]},{"group":"Theme","pages":[{"sidebarTitle":"Overview","title":"Customizing Release0 Agent appearance","icon":"brush","href":"/theme/overview"},{"sidebarTitle":"Font","title":"How to customize the font in Release0","icon":"font","href":"/theme/font"}]},{"group":"Integrations","pages":[{"sidebarTitle":"Overview","title":"Integration options for Release0 Agents","icon":"share","href":"/integrations/overview"},{"group":"Web","icon":"globe","pages":[{"sidebarTitle":"Overview","title":"Overview of embedding Release0 agents","href":"/integrations/web/overview"},{"group":"Libraries","pages":[{"sidebarTitle":"HTML \u0026 Javascript","title":"Using custom HTML and JavaScript with your Agent","href":"/integrations/web/libraries/html-javascript"},{"sidebarTitle":"React","title":"How to integrate Release0 with React","href":"/integrations/web/libraries/react"},{"sidebarTitle":"Next.js","title":"How to integrate Release0 with Next.js","href":"/integrations/web/libraries/next-js"}]},{"sidebarTitle":"WordPress","title":"How to integrate Release0 with WordPress","href":"/integrations/web/wordpress"},{"sidebarTitle":"Shopify","title":"How to integrate Release0 with Shopify","href":"/integrations/web/shopify"},{"sidebarTitle":"Wix","title":"How to integrate Release0 with Wix","href":"/integrations/web/wix"},{"sidebarTitle":"Iframe","title":"How to embed your Agent using an iframe","href":"/integrations/web/iframe"},{"sidebarTitle":"Script Embed Snippet","title":"Embed your Agent using a script snippet","href":"/integrations/web/script"},{"sidebarTitle":"Webflow","title":"How to integrate Release0 with Webflow","href":"/integrations/web/webflow"},{"sidebarTitle":"Notion","title":"How to integrate your Agent with Notion","href":"/integrations/web/notion"},{"sidebarTitle":"FlutterFlow","title":"How to integrate your Agent with FlutterFlow","href":"/integrations/web/flutterflow"},{"sidebarTitle":"Google Tag Manager","title":"Integrate your Agent with Google Tag Manager","href":"/integrations/web/google-tag-manager"},{"sidebarTitle":"Framer","title":"How to integrate your Agent with Framer","href":"/integrations/web/framer"},{"sidebarTitle":"Custom Domain","title":"How to add a custom domain to your Agent","href":"/integrations/web/custom-domain"}]},{"group":"WhatsApp","icon":"whatsapp","pages":[{"sidebarTitle":"WhatsApp Integration (BETA)","title":"How to integrate Release0 with WhatsApp (BETA)","href":"/integrations/whatsapp/overview"},{"sidebarTitle":"How to Create a WhatsApp Meta App","title":"How to create a WhatsApp Meta app","href":"/integrations/whatsapp/create-meta-app"}]}]},{"group":"Submission","pages":[{"sidebarTitle":"Overview","title":"How to handle submissions in Release0","icon":"table","href":"/submission/overview"},{"sidebarTitle":"Analytics","title":"How to use Release0 Analytics","icon":"chart-simple","href":"/submission/analytics"},{"sidebarTitle":"Real-time","title":"How to use Real-Time Analytics","icon":"clock","href":"/submission/realtime"},{"sidebarTitle":"Shared Dashboard","title":"How to use the Shared Dashboard","icon":"share","href":"/submission/shared-dashboard"}]},{"group":"Workspace","pages":[{"sidebarTitle":"General","title":"Overview of Release0 workspaces","icon":"building","href":"/workspace/general"},{"sidebarTitle":"Billing","title":"How to manage billing and subscriptions","icon":"credit-card","href":"/workspace/billing"},{"sidebarTitle":"Custom Domains","title":"How to set up custom domains in Release0","icon":"globe","href":"/workspace/customDomains"},{"sidebarTitle":"Tags","title":"How to use tags in Release0","icon":"tag","href":"/workspace/tags"},{"sidebarTitle":"Members","title":"How to manage team members access","icon":"family","href":"/workspace/add-members-and-guests"}]},{"group":"Account","pages":[{"sidebarTitle":"General","title":"How to manage your account across all workspaces","icon":"user","href":"/account/general"},{"sidebarTitle":"Notifications","title":"How to manage Notifications in Release0 Dashboard","icon":"bell","href":"/account/notifications"},{"sidebarTitle":"Api Keys","title":"How to generate and manage API keys in Release0","icon":"key","href":"/account/apikey"}]},{"group":"Guides","pages":[{"sidebarTitle":"How to Create Your First Agent","title":"How to create your first Agent in Release0","href":"/guides/create-first-agent"},{"sidebarTitle":"How to Get Help?","title":"How to get help with Release0","href":"/guides/how-to-get-help"},{"sidebarTitle":"Add a Subscriber to MailerLite","title":"How to integrate your Agent with MailerLite","href":"/guides/mailer-lite"},{"sidebarTitle":"Enable RTL","title":"How to enable RTL (Right-to-Left) support","href":"/guides/rtl"},{"sidebarTitle":"Forward UTM Parameters to an Agent","title":"How to forward UTM parameters in your Agent","href":"/guides/utm-in-results"}]},{"group":"Misc","pages":[{"sidebarTitle":"FAQ","title":"Frequently asked questions","href":"/faq"},{"sidebarTitle":"Support","title":"Release0 Support","icon":"life-ring","href":"/support"},{"sidebarTitle":"Report Abuse","title":"How to report Agent abuse or misuse","href":"/report-abuse"}]}]}]},"basePath":"","title":"How to integrate your Agent with Supabase - Release0","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-CK6QbnxT.js","DynamicMarkdown-BKiHAm_d.js","zoom-image-lightbox-CLQdF-Ar.js","lightbox-handle-r17bVUz3.js"]}