title | sidebarTitle | description |
---|---|---|
What is Nango? |
What is Nango? |
Nango is the most powerful product integrations platform for developers. |
Nango is the most powerful product integrations platform designed for developers at B2B SaaS companies.
Nango helps you build, manage, and scale integrations with third-party APIs, through a single interface. It is as flexible as building integrations in-house, while taking care of API-specific complexities for you, so you can focus on making integrations your best product feature.
With Nango you get:
Hundreds of pre-built integrations - Ready-to-use integration templates for 250+ APIs
Developer tooling pre-configured for each API - Authorization: OAuth, API key, basic, custom - Rate-limit handling, pagination and retries - Two-way sync infrastructure - End-to-end type safety and runtime data validation - Real-time webhook infrastructure - Observability and alerting: HTTP requests, customer-level reporting, etc - Per-customer integration configuration: field mappings, toggle features, etc - Tooling to develop, test, deploy, and migrate custom integrations (git-based) - API unification with your own schemas - UI components to embed in your app
Comprehensive API documentation - Hundreds of API quirks, gotchas, helpful links, and hard-earned learnings
Access to API experts - Experts for enterprise APIs (Netsuite, Workday, Salesforce, SAP, etc.) - Sandbox accounts - Service to build your custom integrations
Nango is built to replace building integrations in-house—offering the same flexibility and control, but faster and with less maintenance overhead. It is strictly developer-first, designed to support any API and empower developers to create exactly the integrations their customers need.
Unified APIs and embedded iPaaS tools take a more rigid approach, focusing on pre-built use cases that limit what you can build. Embedded iPaaS lack key abstractions developers rely on, like end-to-end type safety and API unification. Unified APIs, meanwhile, are locked into predefined schemas and use cases, making them a point solution at best.
Nango is built with a different mindset: to unleash integration creativity. By providing best-in-class developer tooling tailored to each API, Nango removes limitations and empowers developers to create integrations that stand out—whether through deep customization, polished experiences, or handling the unique quirks of external APIs.
For a full comparison, read How is Nango different from embedded iPaaS and Unified APIs?
Use the Nango frontend SDK to get the user's permission to access their external data.Nango guides the user through the auth flow in a popup window.
Store the `connectionId` in your database to retrieve the user's data later.
```ts Frontend: Trigger the OAuth flow.
const nango = new Nango({ connectSessionToken });
// Shows authorization popup to the user.
await nango.openConnectUI({
onEvent: (event) {
if (event.type === 'connect') {
// The auth flow succeeded. The user is connected!
saveToDatabase(connectionId, integrationId);
}
}
});
```
<Tip>
When a new user connects your integration, Nango automatically starts fetching their data (e.g. issues, contacts, files, etc.) in the background.
</Tip>
```json Backend: Webhook payload with new data
{
"connectionId": "user123",
"providerConfigKey": "zendesk",
"model": "ticket",
"responseResults": { "added": 2, "updated": 6, "deleted": 0 },
"modifiedAfter": "2023-05-31T11:46:13.390Z"
}
```
Nango returns the data in the schema of your choice, which can be standardized across different APIs.
You can directly save this data to your database, or process it further, as needed.
```ts Backend: Fetch & save new records.
const records = await nango.listRecords<Ticket>({
providerConfigKey: 'zendesk',
connectionId: 'user123',
model: 'ticket',
modifiedAfter: modifiedAfter
});
saveToDatabase(records);
```
- **Synchronous:** Have your changes immediately reflected.
- **Unified:** Benefit from standardized schemas across different APIs.
- **Customizable:** Support intricate workflows and composed API calls.
```ts Backend: Write back to external APIs.
const result = await nango.triggerAction({
providerConfigKey: 'zendesk',
connectionId: 'user123',
action: 'create-ticket',
input: { "title": "...", "content": "..." }
});
```
Your custom integration code is deployed and run by Nango, similarly to lambda functions.
<Tip>
**Questions, problems, feedback?** Please reach out in the [Slack community](https://nango.dev/slack).
</Tip>