Star
6k

Developer infrastructure for product integrations

Integrate your product & AI agents with 500+ APIs.

Integrate your product with 500+ APIs.
Full control, in code.

Code-first integrations.

Native to your stack.
import { createSync } from 'nango';

export default createSync({
   description: `Sync Google Calendar events from main calendar`,
   frequency: 'every 10 minutes',
   models: { CalendarEvent: z.object({ id: z.string(), ... }) },

   exec: async (nango) => {
       const requestConfig = {
   method: 'GET',
   endpoint: `calendar/v3/calendars/primary/events`,
   retries: 10 // Retry request up to 10 times
};

// Paginate results & save changed events
for await (const eventPage of nango.paginate(requestConfig)) {               
           const mappedEvents = eventPage.map(toEvent);
           await nango.batchSave(mappedEvents, 'CalendarEvent');
       }

       // Delete events that don't exist anymore
       await nango.deleteRecordsFromPreviousExecutions('CalendarEvent');
   },
});
~ $ claude --allowed-tools "nango" \
Build a custom Nango SYNC for Google Calendar called “calendar-events”.

The sync should fetch all events from the primary calendar of the connected user.    

It should run every 10min and output the events in the following schema:
[....]

Use `nango dryrun calendar-events test-user-1` to test.
~ $ npm i -g nango
~ $ nango create --sync google-calendar calendar-events
Sync scaffold "calendar-events" created for "Google Calendar" integration           

~ $ nango dev # watch & auto compile
~ $ open google-calendar/syncs/calendar-events.ts

~ $ nango dryrun calendar-events test-234 # test locally

~ $ git commit -a -m "Google Calendar events sync"
~ $ nango deploy dev                                                                 
Typechecking
Building 3 file(s)
Exporting definitions
Compiled
Packaging
Acquiring remote state

Nango will perform this plan:

[Syncs +1 -1]
⁣⁣ + google-calendar → calendar-events (1 impacted connections)
⁣⁣ - slack → users                     (2 impacted connections)         

[Actions +1 -1]
+ google-calendar → create-calendar-event
- slack → send-message

Summary
⁣⁣↳ Syncs           to create [ 1 ]    to update [ 0 ]    to delete [ 1 ]
↳ Actions         to create [ 1 ]    to update [ 0 ]    to delete [ 1 ]
↳ OnEvents        to create [ 0 ]    to update [ 0 ]    to delete [ 0 ]            

Are you sure you want to continue y/n? y
⠧ Deploying 4 functions                                                          

Built for scale

Enterprise-grade infrastructure that scales automatically with your workloads.

Lightning-fast infra

Sub 100ms from Function schedule
to run

Elastic by default

Auto scales on traffic spikes, webhook floods, or massive accounts

Tenant isolation

Secure & fair execution of each customer’s integrations

Flexible, Powerful, Complete.

Everything you need to build best-in-class product integrations

API Auth for 500+ APIs

Integrate with any API your customers need. 
Contribute APIs & never get blocked.

2-way syncs

Read & write any data from the external API with full platform support.

Webhooks

Listen to webhooks from any API with a universal interface.

LLM tool calling

Easily expose your integrations to AI agents.

Observability

Detailed real-time logs & metrics, with OpenTelemetry integration.

Cover advanced use-cases

Unified APIs, per-customer config, real-time syncs, 
custom data validation, built-in MCP server, etc.

Integrations infrastructure you can trust.

99.9% uptime
We take being core infrastructure  seriously.
Scaled
Processing billions of API requests per month
Open-source
Contribute new APIs or explore our GitHub repo
Secure
Sensitive data encrypted at rest and in transit.
Ready to get started?

Ship the integrations your customers need with 500+ APIs.
Code-first, fully customizable & low maintenance