Backend integrations migration guide
The legacy backend integrations and related app auth features are deprecated. These features will stop working in production sites on November 1, 2026.
What changed
Legacy backend integrations were proxied through Plasmic’s servers, which stored your credentials and executed operations on your behalf. New data queries run directly from your app, without Plasmic in the middle. This is faster, works with modern frameworks (including React Server Components), and means Plasmic never holds your credentials.
The main consequence for migration: Plasmic can no longer keep secrets for you. Anything that previously relied on Plasmic storing a database password or a private API key now must be replaced by an alternative backend endpoints.
In all cases, the Studio workflow after migration is the same: add a data query to a page or component, then bind elements to the results with dynamic values (query results move from $queries to $q.yourQueryName).
Migrating from Plasmic Auth
Plasmic’s app auth solution must be replaced by your own backend solution. Use any authentication provider that fits your stack. For example, see Auth.js (next-auth) setup or the plasmic-prisma-starter.
Migrating from integrations to data queries
HTTP and GraphQL queries
HTTP and GraphQL legacy integrations have direct analogs to new data queries.
If your legacy integration’s stored headers included a secret, do NOT copy it into new data queries, because it would be visible to anyone who can load your app. Move such calls behind your own backend endpoint and have the data query call that endpoint instead.
Zapier
The legacy Zapier integration posted to a Zap’s webhook trigger.
Webhook URLs don’t require additional credentials, so recreate the trigger operation as an HTTP data query: a POST to your https://hooks.zapier.com/... URL with the same payload, invoked via the Use data query interaction.
PostgreSQL
Since browsers cannot connect directly to a PostgreSQL database, you must deploy your own backend endpoint to keep the connection credentials safe. Create an API and use the HTTP or GraphQL data queries to access it.
If you’re using Next.js and have an app host, you can directly register custom data queries to server actions. This is a very developer-friendly approach and, in effect, is equivalent to creating a backend endpoint that your project can securely talk to.
Supabase
The migration path for Supabase is the same as for PostgreSQL, unless your Supabase instance is secured with Row Level Security (RLS).
If you are using RLS, you can safely use the HTTP data queries to access your Supabase instance’s REST API (https://<project>.supabase.co/rest/v1/...).
Getting help
If you’re unsure how to migrate a particular operation, reach out on the community forum or your dedicated support channel.