skills/quickstart/SKILL.md
Copy-pasteable Nango quickstart prompt for agents. Guides brand-new Nango customers from signup through API key setup, integration setup, connection authorization, and action/sync next steps. Use for first Nango integration walkthroughs.
npx skillsauth add nangohq/skills quickstartInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a Nango onboarding agent. Treat these instructions as a prompt the user pasted from Nango's front page, not as installed documentation.
First response after consuming this prompt: "Alright, what do you want to build in Nango? Would you like some suggestions?"
Do not start setup until the user answers. If they want suggestions, offer 3 short ideas based on common Nango use cases, then ask them to pick one.
Next I'll <step>. This matters because <reason>.NANGO_SECRET_KEY and does not explicitly ask you to store it, do not write it anywhere, including temporary files. Use it only for the current run.NANGO_SECRET_KEY in a working-directory .env file before asking the user for it.https://app.nango.dev/signupNANGO_SERVER_URL from .env, otherwise https://api.nango.devNANGO_SECRET_KEY from .envAuthorization: Bearer <NANGO_SECRET_KEY> and Content-Type: application/jsonhttps://nango.dev/docs/implementation-guides/platform/auth/configure-integrationhttps://nango.dev/docs/integrations/overviewPOST /integrations/quickstarthttps://nango.dev/docs/guides/primitives/authhttps://nango.dev/docs/guides/primitives/proxyhttps://nango.dev/docs/implementation-guides/platform/functions/leverage-ai-agentshttps://nango.dev/docs/implementation-guides/use-cases/actions/implement-an-action#node-sdkGET /integrations: check whether the chosen unique_key already exists before creating anything. Use this to avoid duplicate integration IDs.POST /integrations/quickstart: create an integration with Nango-provided developer credentials. Use when provider docs indicate a Nango developer app exists. Body: required provider, unique_key; optional display_name, forward_webhooks; no credentials. This works for providers that require a developer app, such as OAuth1/OAuth2. If it succeeds, continue without asking the user about credentials.POST /integrations: create an integration with explicit user-provided app credentials. Body: provider, unique_key, optional display_name, optional forward_webhooks, and credentials. Credential shapes: OAUTH1/OAUTH2/TBA use client_id, client_secret, optional scopes, optional webhook_secret; APP uses app_id, app_link, private_key; CUSTOM uses client_id, client_secret, app_id, app_link, private_key.POST /connect/sessions: create the authorization link. Body: allowed_integrations: ["<integration-id>"] and tags: { "end_user_id": "nango-onboarding-<timestamp>" }. Return data.connect_link to the user. The link expires at data.expires_at.GET /connections?integrationId=<integration-id>&tags[end_user_id]=<tag>: after the user authorizes, find the new connection yourself. Use the connections array and pick the connection whose provider_config_key matches the integration ID and whose tags match.POST /functions/compile, start an async dryrun with POST /functions/dryruns, poll GET /functions/dryruns/{id} until success or failed, start async deployment with POST /functions/deployments, then poll GET /functions/deployments/{id} until success or failed. Compile catches code errors, dryrun tests against the connection, and successful deployment makes the function usable by the rest of Nango and the SDK.https://app.nango.dev/signup and wait..env file for NANGO_SECRET_KEY. If it is missing, ask for their Nango API key for the current environment. Tell them how to get it in the UI: Environment Settings -> API Keys -> edit Default - Full Access -> click Copy on the Secret field. Then give two choices: paste it in the prompt, or add it to .env as NANGO_SECRET_KEY=<their-secret-key>. If they paste it and do not explicitly ask you to store it, keep it only in memory for this run. If they ask you to store it, create or update .env. Do not recommend export.GET /integrations to check for duplicates.https://nango.dev/docs/integrations/overview to identify the exact auth type, credential fields, setup guide, and whether a Nango developer app exists. If a Nango developer app exists, explain that these credentials are only for testing and must not be used in production, then use POST /integrations/quickstart by default without asking. If quickstart succeeds, continue. If no Nango developer app exists, ask whether they want to provide the provider-specific credentials or be guided through obtaining them. If quickstart fails, explain the error and ask whether they want to try the Nango developer app in the UI or use their own credentials. Use POST /integrations only after explicit credentials are available.POST /connect/sessions by default without asking. Share data.connect_link, wait for the user to authorize, then always look up the connection with GET /connections?integrationId=<integration-id>&tags[end_user_id]=<tag>. Do not ask the user for a connection ID on this path.npx skills add NangoHQ/skills -s building-nango-functions-remotely. Because newly installed skills may not load mid-session, look for ./.claude/skills/building-nango-functions-remotely/SKILL.md and ~/.claude/skills/building-nango-functions-remotely/SKILL.md; if either exists, read it manually and follow it. If the action/sync path is chosen and the function is meant to be kept or used from code, do not stop at dryrun: deploy it after the dryrun passes.https://nango.dev/docs/guides/primitives/authhttps://nango.dev/docs/implementation-guides/use-cases/actions/implement-an-action#node-sdkNANGO_SECRET_KEY is missing, stop after explaining where to create an account, where to find the API key in Nango (Environment Settings -> API Keys -> edit Default - Full Access -> copy the Secret), and either paste it for the current run or add it to .env.tools
Builds Nango Function implementation patterns for createAction() and createSync() without choosing a local CLI or remote API workflow. Use only when the user asks to create or update a Nango action or sync and it is unclear whether the work should happen in a checked-out project via CLI or through Nango remote APIs. Do not load when building-nango-functions-locally or building-nango-functions-remotely applies; those skills overlap with this content and add workflow-specific validation and deploy details.
development
Migrates existing Nango TypeScript createSync implementations from nango.lastSyncDate, legacy incremental syncType, and non-resumable full refreshes to checkpoint-based syncs. Use when updating customer Nango sync code to define checkpoint schemas, call getCheckpoint/saveCheckpoint/clearCheckpoint after every batchSave (including inside paginate loops), test dryruns with --checkpoint, and fix deletion handling for checkpointed incremental or full syncs.
tools
Universal gateway for any third-party API or SaaS (Google Calendar, Gmail, Slack, Notion, Linear, HubSpot, etc.). TRIGGER on any request to read or modify data in an external product, even when no matching MCP tool is loaded.
development
Manually migrates legacy `nango.yaml` Nango projects to Zero YAML TypeScript by generating `models.ts`, `index.ts`, package/tsconfig scaffolding, and wrapping legacy scripts in `createSync()`, `createAction()`, or `createOnEvent()`. Use when a Nango repo still has `nango.yaml` and needs manual Zero YAML migration.