# Nango

> Nango through One

- Skill: `withoneai/nango` (Agent Skill)
- Install (CLI): `npx skillmds@latest add withoneai/nango`
- Raw SKILL.md: https://api.skillmd.com/api/skills/withoneai/nango/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: withoneai (https://skillmd.com/u/withoneai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/withoneai/nango

---


# Nango through One

Nango is a developer integration platform that provides unified APIs, OAuth connection management, and sync infrastructure for third-party SaaS integrations, allowing engineering teams to authenticate users, access external data, and build product integrations without maintaining provider-specific auth and API logic.

One exposes Nango through four MCP tools. The table below carries real action ids from One's knowledge base, so for a common operation you can skip search and go straight to reading the action's parameters.

## How to run an action

1. Find the action in the table below, or call `search_one_platform_actions` with platform `nango` if it is not listed.
2. Call `get_one_action_knowledge` with the action id. Do this every time, including for actions in this table. The table gives you the id, not the parameters.
3. Call `execute_one_action` with parameters copied from that knowledge.

Never guess a parameter name, a body field, or an enum value. The knowledge has the real schema, and a guessed field is either a 400 or a silent write of the wrong thing.

## Before you start

Call `list_one_integrations` once and confirm Nango is connected. If it is missing, the user has not connected it: say so and point them at https://app.withone.ai rather than reaching for raw HTTP.

Each connection carries an `access` field. If it reports `{"policy": "methods", "methods": ["GET"]}` the agent is read-only here, so plan a read-only answer instead of attempting a write that will be refused.

## Before a write

Creates, updates, deletes and sends land on a real Nango account and cannot be recalled. State the action and the specific target in one line before the first write in a task, and let the user stop you. Reads need no confirmation.

## Actions

### Connections

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Connection | GET | `/connections/{{connectionId}}` | `conn_mod_def::GMTdhiVAxUg::TeJHT2DWTzOgqvCY2zN8nw` |
| List Connections | GET | `/connections` | `conn_mod_def::GMTdh8Ncbag::STzj652JT7-dhA-J5pG9fw` |
| List Connections | GET | `/connection` | `conn_mod_def::GMTdiDqZprA::3PX9nE3QT_OVTArSxyoWUA` |
| Delete a Connection | DELETE | `/connection/{{connectionId}}` | `conn_mod_def::GMTdhR0xteg::J_mI7QXxTK-MNYnqQC1Ldg` |
| Delete a Connection | DELETE | `/connections/{{connectionId}}` | `conn_mod_def::GMTdhStnPPA::OAp3qlNrR_i68ttd-3ulXQ` |
| Edit a Connection | PATCH | `/connections/{{connectionId}}` | `conn_mod_def::GMTdhadLRaA::KOCqGkwMQG2khzn6LzXx6g` |
| Edit Connection Metadata | PATCH | `/connections/metadata` | `conn_mod_def::GMTdhhAipIg::5V10MBE8RqCHcCIjUkmEGQ` |
| Set Connection Metadata | POST | `/connections/metadata` | `conn_mod_def::GMTdibM0NEA::Xp4xP3WaRayX2_QLh8s1ug` |
| Upsert a Connection | POST | `/connections` | `conn_mod_def::GMTdiiuLiAg::NYJBd7xbSgiefXseCrPKKA` |

### Integrations

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Function's Source Code for an Integration | GET | `/integrations/{{uniqueKey}}/functions/{{name}}/code` | `conn_mod_def::GMTdhoiixaA::kbTKY5ZOTbGq7gvtSma14Q` |
| Get an Integration | GET | `/integrations/{{uniqueKey}}` | `conn_mod_def::GMTdhpAu6og::gfKxqdkbTAWKLP8imH7Cdg` |
| List Integrations | GET | `/integrations` | `conn_mod_def::GMTdiL13qlA::nRE2jbYaSMa0YqnaKsOsEg` |
| Create a Quickstart Integration | POST | `/integrations/quickstart` | `conn_mod_def::GMTdhKOaDjg::yZH1t4T_RHG7r4rMJiHvCA` |
| Create an Integration | POST | `/integrations` | `conn_mod_def::GMTdhLr7h3g::F7E80gMLQYeUJS3UGWQqIA` |
| Delete a Function for an Integration | DELETE | `/integrations/{{uniqueKey}}/functions/{{name}}` | `conn_mod_def::GMTdhSn0pdg::ntxOH-VBSq-gexz-eGusbg` |
| Delete an Integration | DELETE | `/integrations/{{uniqueKey}}` | `conn_mod_def::GMTdhZOxogA::a4IEkG5kSMOL-lxkHirhhw` |
| Edit an Integration | PATCH | `/integrations/{{uniqueKey}}` | `conn_mod_def::GMTdhha8xGg::tyhWp8lTQJ-hN7J3OJfe0A` |

### Proxy

| Action | Method | Path | Action id |
|---|---|---|---|
| Delete via Proxy | DELETE | `/proxy/{{anyPath}}` | `conn_mod_def::GMTdiMAStAg::wx0NyhbHQOKtyYIS6xxamw` |
| Patch a Proxy Path | PATCH | `/proxy/{{anyPath}}` | `conn_mod_def::GMTdiTyZWaA::gXAK3qtWQQqc0QzNyZ9Y9w` |
| Post to Any Proxy Path | POST | `/proxy/{{anyPath}}` | `conn_mod_def::GMTdiTD6JUg::C_XI6G9PSKmv4SS-zlMvfg` |
| Put to Any Proxy Path | PUT | `/proxy/{{anyPath}}` | `conn_mod_def::GMTdiULmT5g::LnnoOlxyQyCotd9Ndd4b4A` |

### Functions

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Function for an Integration | GET | `/integrations/{{uniqueKey}}/functions/{{name}}` | `conn_mod_def::GMTdhoaarRg::MI-DaKL4Rmu8e-UBC-SbOA` |
| Compile a Function | POST | `/functions/compile` | `conn_mod_def::GMTdhKO15yA::aEPdOX35QgCyxeuCkM0x1w` |
| Dry Runs a Function | POST | `/functions/dryruns` | `conn_mod_def::GMTdhY7Z02A::6aOUjxyCQXOoPVZwGStXOw` |

### Sync

| Action | Method | Path | Action id |
|---|---|---|---|
| Pause a Sync | POST | `/sync/pause` | `conn_mod_def::GMTdiLZ8liA::tE_Yw2IjQ82xxlcYcjsgQQ` |
| Start a Sync | POST | `/sync/start` | `conn_mod_def::GMTdibL_Dsg::2gqWPGazRtKC10566JLfRA` |
| Trigger a Sync | POST | `/sync/trigger` | `conn_mod_def::GMTdicMJbUA::Yvm1V-OdTM-JltMDez6coA` |

### Connection

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Connection Using Connection ID | GET | `/connection/{{connectionId}}` | `conn_mod_def::GMTdhhwZHLg::HVFYk6n7RiWUDzViMT9w9Q` |
| Add a Connection | POST | `/connection` | `conn_mod_def::GMTdhLS6ZNg::Djq9gK7ES3CXsLb4_aI69A` |

### SyncVariants

| Action | Method | Path | Action id |
|---|---|---|---|
| Create a Sync Variant | POST | `/sync/{{name}}/variant/{{variant}}` | `conn_mod_def::GMTdhR0nytg::B3Su1YjkTCOUEki6auHQTg` |
| Delete a Sync Variant | DELETE | `/sync/{{name}}/variant/{{variant}}` | `conn_mod_def::GMTdhZsMEFg::a98LQxmdR6qrtDBJyylG-w` |

### ConnectSessions

| Action | Method | Path | Action id |
|---|---|---|---|
| Create a Connect Session | POST | `/connect/sessions` | `conn_mod_def::GMTdhSRu94A::EoGINuikTvKzVG5ptIZUSw` |
| Reconnect a Connect Session | POST | `/connect/sessions/reconnect` | `conn_mod_def::GMTdiSs0aIA::mOsAJUlgRmGRd91oWsQYsg` |

### ConnectSession

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Connect Session | GET | `/connect/session` | `conn_mod_def::GMTdhwW5aoA::b04KY88YTfKhpIIdxdyf0g` |
| Delete Connect Session | DELETE | `/connect/session` | `conn_mod_def::GMTdhaGDSqA::XuqzMmHaTWyoKsK53CuhkA` |

### ConnectionMetadata

| Action | Method | Path | Action id |
|---|---|---|---|
| Edit Connection Metadata | PATCH | `/connection/metadata` | `conn_mod_def::GMTdhhoLGJA::wAVWsRojTea5JH4KrYmuNA` |
| Set Connection Metadata | POST | `/connection/metadata` | `conn_mod_def::GMTdibM0btg::WHT_nw15SQ2id5hqIcM4RA` |

### Providers

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Provider | GET | `/providers/{{provider}}` | `conn_mod_def::GMTdhoH3HXg::9cmNRdcrRkiUDp98IqjCbg` |
| List All Providers | GET | `/providers` | `conn_mod_def::GMTdh-WbZWg::mbHozBP8QfWYFiCYYUOXRA` |

### Records

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Synced Records | GET | `/records` | `conn_mod_def::GMTdiD-SzHg::ZNPjxoQRQu20Xgb7TUjXFw` |
| Prune Records | PATCH | `/records/prune` | `conn_mod_def::GMTdiSjgBLg::egIBvtykQ1mQZx5jpC9hUg` |

### FunctionDeployments

| Action | Method | Path | Action id |
|---|---|---|---|
| Create a Function Deployment | POST | `/functions/deployments` | `conn_mod_def::GMTdhKN49ZA::tm9XcrfoRHmNDh23MEwgTQ` |

### ProviderTemplates

| Action | Method | Path | Action id |
|---|---|---|---|
| List Provider Templates | GET | `/providers/{{provider}}/templates` | `conn_mod_def::GMTdiK8hovg::4sCML4GYRymxS--ZNuhd9g` |

### ActionResult

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Action Result | GET | `/action/{{actionId}}` | `conn_mod_def::GMTdhoZvauA::enb4xZjNTTGitzppek7vZw` |

### DryRunResults

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Dry Run Results | GET | `/functions/dryruns/{{id}}` | `conn_mod_def::GMTdhuwPKiA::NJLz8meoTiOtNZYqiBDfVw` |

### ScriptsConfiguration

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Scripts Configuration | GET | `/scripts/config` | `conn_mod_def::GMTdhvO2WOg::wdAH0LpXRKOBxgO0S3t1BQ` |

### SyncStatus

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Sync Status | GET | `/sync/status` | `conn_mod_def::GMTdhv21BHA::HktYZ9j-TcKhLp1myEOF_Q` |

### EnvironmentVariables

| Action | Method | Path | Action id |
|---|---|---|---|
| Get Environment Variables | GET | `/environment-variables` | `conn_mod_def::GMTdh1fm6Cg::rYkoRIwXRlKvXZSfu176Ow` |

### IntegrationFunctions

| Action | Method | Path | Action id |
|---|---|---|---|
| List an Integration's Functions | GET | `/integrations/{{uniqueKey}}/functions` | `conn_mod_def::GMTdh8jiXmg::rqaaz7gCQmWFtbMetFaB9w` |

### ProxyResource

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Proxy Resource | GET | `/proxy/{{anyPath}}` | `conn_mod_def::GMTdiLexl5g::kpV9uqKkSSiNWP6STaoaDg` |

### Actions

| Action | Method | Path | Action id |
|---|---|---|---|
| Trigger an Action | POST | `/action/trigger` | `conn_mod_def::GMTdibPWBgg::o-Yfm8CKQgq3FIjbVh3NmA` |

### ConnectionFrequency

| Action | Method | Path | Action id |
|---|---|---|---|
| Update Connection Frequency | PUT | `/sync/update-connection-frequency` | `conn_mod_def::GMTdii3yajA::lBJVXqcWQYWi61FM2iCUkA` |

## When a call fails

The error comes from Nango, not from One. A 400 or 422 means your parameters do not match the schema, so re-read the knowledge and fix the field. A 401 or 403 means the connection needs re-authorizing, which no retry will fix. A 404 means the id is not on this account. A 429 means slow down. Never retry a write more than once: the first attempt may have landed.

Full catalog: https://www.withone.ai/knowledge/nango

Integration knowledge by One (withone.ai), licensed under [One-Knowledge-1.0](https://www.withone.ai/licenses/knowledge). Attribution must be preserved in derivative works.

