I just run nango migrate-to-zero-yaml
, can I change the folder structure?
Yes, you can change the folder structure. You can move files, zod definitions, types, rename files, folders, etc.
The results of the migration is just an example of how you can structure your project.
I’m getting ZodXX is missing the following properties
errors
If you are getting Zod errors, it’s most likely because you are using a different version of Zod than the one we use in our CLI. We currently require zod 4.0.5
.
If you have an overrides in your package.json or something that is changing the version of Zod, you will need to remove that.
NB: nango compile
will automatically update your dependencies to the version we use in our CLI.
Token refresh error from the external API
Indications of the error:- Nango logs may show:
- Or in
Token refresh
log operations:
The
error
and error_description
fields may differ by API, but typically include invalid_grant
and mention the token being expired or revoked.How to debug
- This error means the external API (e.g., Google, Salesforce) rejected the refresh token as expired or revoked. Nango retries several times, but if the error persists, the credentials are considered permanently broken.
- The only solution is to ask the user to re-authenticate. See: How to trigger a re-authentication flow in Nango
- We recommend enabling Nango’s revoked token webhooks for real-time notifications.
- Google: All tokens are revoked after 7 days if your OAuth app is in test mode (detailed guide). To go to production, read our guide for Google’s OAuth app review.
- Salesforce: See Salesforce refresh token issues.
Connection not found (unknown_connection / 404)
Indications of the error:- Request failed with status code
404
- code
unknown_connection
- error message: “No connection matching the provided params of ‘connection_id’ and ‘provider_config_key‘“
How to debug
-
Confirm the environment and secret key
- The
secretKey
in the API or SDK is specific to the environment. Make sure you pass the key that corresponds to the environment you are using (e.g., dev vs prod). - Open Environment Settings and verify the key matches.
- The
-
Verify the Integration ID (aka
providerConfigKey
)- Go to Integrations, open the integration, and copy the
Integration ID
exactly. - Ensure the value you send as
providerConfigKey
matches this ID.
- Go to Integrations, open the integration, and copy the
-
Verify the Connection ID
- Go to Connections, find the connection, and copy its
Connection ID
. - Ensure the value you send as
connectionId
(headerConnection-Id
when using HTTP, orconnectionId
in the SDK) matches exactly.
- Go to Connections, find the connection, and copy its