Standard connector vs. app user connector
Both are app connectors and both route through the gateway. The difference is whose account the app uses.How it works
An app user connector has two parts: a client you configure once, and the individual sign-ins your end users complete when they use the app.1. You configure the client once
You set up a client for the connector once for your workspace. Depending on the provider, this means registering an OAuth application with that provider and adding its details to the client. Examples are a Salesforce External Client App, a Databricks OAuth app, or a Snowflake OAuth security integration. This configuration is stored securely and reused for every user who connects. It never contains any individual user’s data.2. Each user connects their own account
The first time one of your users needs the integration, your published app sends them through the provider’s standard OAuth consent screen. The user signs in with their own account and approves the requested permissions (scopes). Lovable exchanges the authorization for tokens and stores them encrypted in the connector gateway, linked to that individual user.3. Your app calls the provider through the gateway
When your app makes a request, it goes to the connector gateway rather than directly to the provider. The gateway:- Finds the connection for the request and checks that it belongs to this workspace, project, and user.
- Refreshes expired tokens automatically. When the provider rejects a request because the access token has expired, the gateway refreshes it with the refresh token and returns the response to your original request. If the refresh token is no longer valid, the gateway answers with a 401 error whose
typeiscredential_refresh_token_expired, and the code Lovable generates asks the user to reconnect. - Injects the credentials and forwards the request to the provider. The third-party tokens never touch your app code.
- Stores each user’s credentials separately. How your app picks the right user depends on how users sign in:
- For apps published to your workspace that use workspace identity reuse (Business and Enterprise plans, newer apps), your app exchanges the signed-in member’s identity token for a short-lived access token and sends it to the gateway. The gateway verifies the token and finds that member’s connection.
- When your app manages sign-in itself, for example with built-in authentication, each user’s sign-in gives your app an opaque connection key for that user. Your app sends that key together with its
LOVABLE_API_KEYon every request for the user, including background operations. The gateway uses the pair to find the connection and stores only a hash of the key.
Available app user connectors
The following providers are available as app user connectors. For Google and Microsoft, each product is its own connector but shares the same sign-in. The OAuth app setup column links to each provider’s own documentation for creating the OAuth application you configure the client with.Set up an app user connector
Setup happens in two steps: configure the client in your workspace, then add the connect experience to your app.Register and approve your OAuth app with the provider
Before you can configure the client, you (or your organization’s admin) register an OAuth application on the provider’s side and get it approved for use. This process differs from provider to provider, and each has its own requirements. For example, you might create a Salesforce External Client App, a Databricks OAuth app, a Snowflake security integration, a Google OAuth consent screen, or a Microsoft app registration. Approval can also involve extra steps, such as admin consent for a tenant, app verification for sensitive scopes, or installation approval in a workspace. Because the exact steps and any review process are owned by the provider, the authoritative instructions are in that provider’s own documentation. The OAuth app setup links in Available app user connectors point you to each provider’s guide.lovable.dev, see I can’t verify the callback domain.Configure the client
Open the connector
Add a client
Choose who can use the client
Link the client
Let Lovable use your account while building
Builder access lets Lovable use your own provider account while it works on a project. This helps Lovable inspect live schemas, test queries, and validate provider calls before it writes the integration. Builder access is available on all plans.Ask Lovable to inspect your provider data
Connect your account
Revoke access when you no longer need it
Offline access
Offline access controls whether your app receives a connection key for each user who connects.- When it is enabled, your app receives an opaque connection key per user and can act for that user later, including when they are not signed in, for example in background operations.
- When it is disabled, no key is issued. Your app can only act while the member is signed in through workspace identity reuse. Apps published outside the workspace need it enabled.
Add the connect experience to your app
When the client is configured and linked, tell Lovable what you want, and it builds the connect experience in your app. For example:Managing clients
Two actions remove access:- Users can disconnect their own account when your app offers a disconnect control. Disconnecting revokes the stored tokens for that user, so keep that control in your app.
- Deleting the client removes access for every user of that connector in the linked projects.
Troubleshooting
I can't verify the callback domain
I can't verify the callback domain
lovable.dev, because you do not own it. Registering the connector gateway callback URL does not depend on domain verification.A provider can require domain verification before it verifies your app. Google does this during brand verification. Your Google app can stay unverified. People who connect a Google account can see an unverified app screen.Register the connector gateway callback URL from the connector setup screen as the redirect URI. Lovable sends the connector gateway callback URL when a user starts sign-in and again when Lovable exchanges the authorization code. The provider rejects any other redirect URI with redirect_uri_mismatch.The callback domain belongs to Lovable. A page on your own domain cannot take its place.FAQ
What is an app user connector?
What is an app user connector?
Can a user only see their own data?
Can a user only see their own data?
Do I need authentication in my app to use this?
Do I need authentication in my app to use this?
Are the user's tokens ever exposed to me or my app?
Are the user's tokens ever exposed to me or my app?