Skip to main content
* * Recoloring the span has been unreliable (Tailwind utility CSS * specificity quirks, deploy lag), so we just remove the overlay * entirely with display:none. The anchor's own background then * becomes the visible color, which is exactly what we want. The * mobile variant has no overlay span, so display:none on the * span is a no-op there and the anchor bg wins by default. */ #navbar a[href="https://app.nango.dev/signup"] { background-color: #29abe3 !important; background-image: none !important; border: 1px solid #29abe3 !important; color: #ffffff !important; } #navbar a[href="https://app.nango.dev/signup"] > span:first-child, #navbar a[href="https://app.nango.dev/signup"] span.absolute, #navbar a[href="https://app.nango.dev/signup"] span[class*="bg-primary"] { display: none !important; } #navbar a[href="https://app.nango.dev/signup"]:hover { background-color: #217ea6 !important; border-color: #217ea6 !important; color: #ffffff !important; } /* ══ HIDE BOTTOM CHAT ASSISTANT INPUT ════════════════════════════ */ /* * Mintlify pins an "Ask a question..." chat-assistant input at the * bottom of every doc page. The navbar already has a separate Ask AI * button, so this bottom input is redundant. Mintlify doesn't expose * a docs.json toggle for it. * * Two layers needed: * 1. The floating input bar itself (.chat-assistant-floating-input). * 2. Its rounded-2xl wrapper div — which also appears identically * inside the Ask AI sidebar panel, so the rule must be scoped to * #content-area to avoid hiding the panel's own input container. * * Do NOT use [class*="chat-assistant"] (hides the panel) or * #chat-assistant-textarea (that ID is duplicated on the panel * textarea and would hide it too). */ .chat-assistant-floating-input, #content-area div.rounded-2xl.pointer-events-auto[class*="bg-background-light"] { display: none !important; }

AI-assisted quickstart

Copy this prompt into Claude, Cursor, or another coding agent to get guided through signup, API key setup, connection authorization, and your first function call.
For skills, the docs MCP server, and other agent setup options, see Coding agent setup.

Manual quickstart

The steps below show the flow end to end. This quickstart uses the GitHub API as an example, but you can choose any of the 800+ APIs.
1

Create an integration

Sign up for free. This quickstart uses GitHub (User OAuth), which is pre-created with integration ID github-getting-started.If you want to test another API, go to the Integrations tab > Set up new integration > pick an API.
2

Authorize the API

Go to the Connections tab > Add Test Connection > pick your integration, and complete the auth flow. For the GitHub example, pick github-getting-started.Copy the connection ID and your Nango API key from the Environment settings tab > API Keys. For the GitHub example, the integration ID is github-getting-started. You will use these values in the next steps.
3

Enable an integration function

The fastest way to enable a function is to use a template.Go to the Integrations tab > open the github-getting-started integration > Functions sub-tab. In the functions table, turn on the toggle in the Enable column for get-repository.This is a Nango Function: it runs provider-specific code with the connected account’s credentials, without exposing those credentials to your app or agent.
You can also build a custom function in your codebase, or use the Functions API to let an agent turn text-defined behavior into deployed function code.
4

Call the function

Trigger the function from your backend:
Install the SDK with npm i @nangohq/node, then run:
import { Nango } from '@nangohq/node';

const nango = new Nango({ secretKey: process.env.NANGO_API_KEY! });

const result = await nango.triggerAction(
    'github-getting-started',
    '<CONNECTION-ID>',
    'get-repository',
    {
        owner: 'NangoHQ',
        repo: 'nango'
    }
);

console.log(result);
You should receive GitHub repository details such as the repository ID, full name, visibility, default branch, and owner.
5

Inspect the run

Open the Logs tab to inspect the function execution, provider request, response, and any errors.🎉 You connected an API and ran your first integration function.
6

Next steps

Embed auth in your app

Let users connect external APIs from your product.

Build custom functions

Generate, test, customize, and deploy integration code.

Sync external data

Keep external API data fresh for your product or RAG pipeline.

Expose tools to agents

Use action functions through tool calling and MCP.
Questions, problems, feedback? Please reach out in the Slack community.