# Nango

Nango provides a unified API to integrate with over 250 external APIs, offering pre-built and customizable integrations for various categories such as CRM, HR, and accounting systems.

- **Category:** developer tools
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 24
- **Triggers:** 0
- **Slug:** `NANGO`
- **Version:** 20260316_00

## Tools

### Trigger Nango Action

**Slug:** `NANGO_ACTION_TRIGGER_POST`

Trigger a Nango action to execute a workflow or operation. Use this to run pre-defined actions in your Nango integrations, such as creating issues, sending messages, or fetching data from external APIs. All three of `connection_id`, `provider_config_key`, and `action_name` must simultaneously match a pre-configured integration and connection in Nango — a valid `connection_id` alone is insufficient if the other two don't correspond to an existing setup. Actions may have real upstream side effects (e.g., creating records, sending messages); confirm intent before triggering non-read-only operations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `input` | object | No | Optional input payload for the action's exec function. The structure depends on the specific action being triggered. |
| `action_name` | string | Yes | The name of the action to trigger as defined in your Nango integration. |
| `connection_id` | string | Yes | The connection identifier used when creating the connection in Nango. |
| `provider_config_key` | string | Yes | The integration's unique key (provider config key) in Nango. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Connection

**Slug:** `NANGO_ADD_CONNECTION`

Tool to add a connection with existing credentials to Nango. Use when you want to bulk import existing access tokens into Nango.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | object | No | Connection tags as key/value string pairs. Keys are normalized to lowercase. Values max length is 255 chars. |
| `end_user` | object | No | End user information (deprecated, use tags instead). |
| `metadata` | object | No | Metadata to be attached to the connection (required for some OAuth APIs). |
| `credentials` | string | Yes | The credentials object with type-specific fields. Type field determines which credential schema to use. |
| `connection_id` | string | No | The connection ID to use for this connection. If not provided, Nango will generate one. |
| `connection_config` | object | No | Additional configuration to be attached to the connection (required for some OAuth APIs). |
| `provider_config_key` | string | Yes | The integration ID that you created on Nango (also called provider config key). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Connections

**Slug:** `NANGO_CONNECTION_GET`

List all Nango connections without credentials. Use this to discover available connections, check connection status, and find connection IDs. Omitting all filters returns every connection across all integrations; use `connection_id`, `end_user_id`, or `end_user_organization_id` to narrow results. To retrieve credentials for a specific connection, use the 'Get Connection Details' action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for paginated results. |
| `limit` | integer | No | Maximum number of connections to return. |
| `search` | string | No | Search connections. Will partially match connection IDs or end user profiles. |
| `end_user_id` | string | No | Filter by exact end user ID. |
| `connection_id` | string | No | Filter by exact connection ID. Can return multiple connections with the same ID across integrations. |
| `end_user_organization_id` | string | No | Filter by exact end user organization ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Connect Session

**Slug:** `NANGO_CREATE_CONNECT_SESSION`

Tool to create a new connect session with a 30-minute lifespan for enabling connection creation via Connect UI. Use when you need to generate a session token for users to authorize integrations through Nango's Connect interface.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | object | No | Connection tags as key/value pairs. Keys are normalized to lowercase. Maximum value length is 255 characters. |
| `end_user` | object | Yes | End user information object. The 'id' field is required. |
| `overrides` | object | No | Override settings for integrations, keyed by integration unique name. |
| `organization` | object | No | Organization information for the connect session. |
| `allowed_integrations` | array | No | List of integration IDs to filter which integrations the end user can interact with in the Connect UI. |
| `integrations_config_defaults` | object | No | Default configuration settings for integrations, keyed by integration unique name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Integration

**Slug:** `NANGO_CREATE_INTEGRATION`

Tool to create a new integration in Nango. Use when setting up a new provider connection configuration. Creates an integration with specified credentials (OAuth2, App-based, or Hybrid authentication). The unique_key will be used to reference this integration in subsequent API calls. Returns the created integration details including timestamps and provider information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `provider` | string | Yes | The provider unique name (e.g., github, slack, salesforce). Use List Providers to get valid provider names. |
| `unique_key` | string | Yes | A unique integration ID, which you will use in other API calls to reference this integration. Must be unique across your Nango account. |
| `credentials` | string | No | Integration credentials for authentication. Schema varies by credential type: OAUTH2 requires client_id and client_secret; APP requires app_id, app_link, and private_key; HYBRID requires all fields. |
| `display_name` | string | No | Human-readable display name for the integration. If not provided, defaults to the provider name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Connection

**Slug:** `NANGO_DELETE_CONNECTION`

Tool to delete a specific Nango connection. Use when you need to remove an existing connection permanently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `connection_id` | string | Yes | The connection ID used to create the connection. |
| `provider_config_key` | string | Yes | The integration ID used to create the connection (aka Unique Key). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Integration

**Slug:** `NANGO_DELETE_INTEGRATION`

Tool to delete a specific integration by its unique key. Use when you need to remove an integration configuration from Nango.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uniqueKey` | string | Yes | The integration ID (unique_key) that you created in Nango. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Edit Connection

**Slug:** `NANGO_EDIT_CONNECTION`

Tool to edit a connection's tags and metadata. Use when you need to update connection attributes like environment tags, team assignments, or end user information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | object | No | Connection tags (key/value strings). Keys are normalized to lowercase. Max value length: 255 characters. |
| `end_user` | object | No | End user information to update on the connection. Deprecated - use tags instead for new implementations. |
| `connection_id` | string | Yes | The connection ID used to create the connection |
| `provider_config_key` | string | Yes | The integration ID used to create the connection (aka Unique Key) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Connection with Credentials

**Slug:** `NANGO_GET_CONNECTION`

Retrieve a specific connection with its credentials. Automatically checks if the access token has expired and refreshes it if needed. Use this action when you need to access the authentication credentials for a connection to make API calls to the provider. The credentials returned depend on the auth type (OAuth2, API Key, Basic Auth, etc.). Returns 404 if the connection does not exist, 424 if token refresh is exhausted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `connection_id` | string | Yes | The connection ID used to create the connection. This identifies the specific connection to retrieve. |
| `force_refresh` | boolean | No | If true, Nango will attempt to refresh the access token regardless of its expiration status. Default is false. |
| `refresh_token` | boolean | No | If true, return the refresh token as part of the response. Default is false. |
| `provider_config_key` | string | Yes | The integration ID (Unique Key) used to create the connection. Required to identify which integration this connection belongs to. |
| `refresh_github_app_jwt_token` | boolean | No | If true, this will refresh the JWT token for GitHub App / GitHub App OAuth connections. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Environment Variables

**Slug:** `NANGO_GET_ENVIRONMENT_VARIABLES`

Tool to retrieve environment variables from the Nango dashboard. Use when you need to access or list environment variables configured in Nango.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Integration

**Slug:** `NANGO_GET_INTEGRATION`

Retrieve detailed configuration for a specific Nango integration by its unique key. Returns integration details including provider, display name, creation/update timestamps, and optionally sensitive data like credentials or webhook URLs if requested via the 'include' parameter. Use this to inspect integration configuration, verify setup, or retrieve credentials for a specific integration. Returns 404 error if the integration unique key does not exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `include` | array | No | Optional list of additional sensitive data to include in the response (e.g., credentials, webhook_url). |
| `unique_key` | string | Yes | The integration ID (unique_key) that you created in Nango. This is the identifier for your integration configuration. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Proxy GET Request

**Slug:** `NANGO_GET_PROXY`

Tool to make a GET request with Nango's Proxy to forward requests to external APIs while managing authentication. Use when you need to make authenticated API calls to external services through Nango's proxy infrastructure.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `retries` | integer | No | The number of retries in case of failure (with exponential back-off). Optional, default 0. |
| `any_path` | string | Yes | The path to the external API endpoint to proxy the request to (e.g., 'users', 'repos/owner/repo', 'api/v2/tasks'). Do not include leading slash. |
| `retry_on` | string | No | Comma separated status codes to explicitly retry on in addition to the default 5xx and 429. |
| `decompress` | boolean | No | Override the decompress option when making requests. Optional, defaults to false. |
| `query_params` | object | No | Optional query parameters to pass to the external API endpoint. |
| `connection_id` | string | Yes | The connection ID used to create the connection in Nango. |
| `custom_headers` | object | No | Additional custom headers to pass to the external API. These will be prefixed with 'nango-proxy-' automatically. |
| `base_url_override` | string | No | Provide an API base URL when the base API is not listed in the providers.yaml or it needs to be overridden. |
| `provider_config_key` | string | Yes | The integration ID used to create the connection (aka Unique Key). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Sync Status

**Slug:** `NANGO_GET_SYNC_STATUS`

Tool to get the status of specified sync(s) for a connection or all connections. Use when you need to monitor sync execution state, check completion times, or view sync frequency.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `syncs` | string | Yes | The name of the syncs you want to fetch a status for, as a comma-separated list. Pass in "*" to return all syncs for the integration. For variants, use the format "syncName::variantName". |
| `connection_id` | string | No | The ID of the connection. If omitted, all connections will be surfaced. |
| `provider_config_key` | string | Yes | The ID of the integration you established within Nango. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Connections

**Slug:** `NANGO_LIST_CONNECTIONS`

Tool to list all connections without credentials. Use when you need to retrieve connection metadata across your account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for paginated results. |
| `tags` | object | No | Filter the list of connections based on connection tags. All provided tags must match. |
| `limit` | integer | No | Limit the number of connections returned. |
| `search` | string | No | Will partially match connection IDs or end user profiles. |
| `endUserId` | string | No | Deprecated. Prefer filtering connections by tag (e.g. tags[end_user_id]=...). |
| `connectionId` | string | No | Will exactly match a given connectionId. Can return multiple connections with the same ID across integrations. |
| `endUserOrganizationId` | string | No | Deprecated. Prefer filtering connections by tag (e.g. tags[organization_id]=...). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Integrations

**Slug:** `NANGO_LIST_INTEGRATIONS`

Tool to retrieve a list of all configured integrations. Use when you need to display or iterate through integrations in your account.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Provider Details

**Slug:** `NANGO_PROVIDERS_GET_GET`

Retrieve detailed configuration for a specific Nango provider by its unique key. Returns provider authentication details (auth_mode, OAuth URLs), proxy configuration, required credentials schema, and connection configuration requirements. Use this to understand how to set up a connection with a specific provider or to get its documentation links. Provider keys can be obtained from the List Providers action. Returns 404 error if provider key does not exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `provider` | string | Yes | The unique provider key/slug (lowercase with hyphens). Use the 'name' field from List Providers to get valid keys. Examples: 'github', 'salesforce', 'active-campaign', 'hubspot'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Providers

**Slug:** `NANGO_PROVIDERS_LIST_GET`

Tool to retrieve a list of all available providers. Use when you need to display or iterate through every provider before creating connections. The provider_config_key values returned must be used verbatim when referencing providers in other actions; any mismatch will cause those actions to fail.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Proxy PUT Request

**Slug:** `NANGO_PUT_PROXY`

Tool to make a PUT request with the Nango Proxy to forward requests to external APIs while managing authentication. Use when you need to update resources via external APIs through Nango's proxy.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | The request body to send to the external API. All body parameters are passed through to the external API. |
| `retries` | string | No | The number of retries in case of failure (with exponential back-off). Default is 0. |
| `any_path` | string | Yes | The API path to send the PUT request to (e.g., '/users/123', '/items/update'). This path will be appended to the base URL of the external API. |
| `decompress` | string | No | Override the decompress option when making requests. Defaults to false. |
| `connection_id` | string | Yes | The connection ID used to create the connection. |
| `base_url_override` | string | No | Provide an API base URL when the base API is not listed in the providers.yaml or it needs to be overridden. |
| `additional_headers` | object | No | Additional headers to pass on to the external API. These will be prefixed with 'nango-proxy-' automatically. |
| `provider_config_key` | string | Yes | The integration ID used to create the connection (aka Unique Key). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reconnect Session

**Slug:** `NANGO_RECONNECT_SESSION_POST`

Create a new connect session to reconnect to a specific integration. Use this when a user needs to input new credentials or to manually refresh a token. Only connections created with a connect session are compatible with this endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | object | No | Connection tags (key/value strings). Keys are normalized to lowercase. |
| `end_user` | object | No | End user information for the connection. |
| `overrides` | object | No | Override configuration for integrations by integration name |
| `organization` | object | No | Organization information for the end user (deprecated, use tags instead). |
| `connection_id` | string | Yes | The connection ID to reconnect. Only connections created with a connect session are compatible with this endpoint. |
| `integration_id` | string | Yes | The integration ID (provider config key) for the connection |
| `integrations_config_defaults` | object | No | Default configuration for integrations by integration name |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Integration Functions Configuration

**Slug:** `NANGO_SCRIPTS_CONFIG_GET`

Retrieve all integration functions configuration from Nango. Returns the configuration for all integrations including their sync scripts, action scripts, and event handlers. Use this to discover available integrations and their capabilities before triggering syncs or actions.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Connection Metadata

**Slug:** `NANGO_SET_CONNECTION_METADATA`

Tool to set custom metadata for one or more Nango connections. Use when you need to attach custom data (tags, labels, context) to connections for filtering, organization, or application-specific purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `metadata` | object | Yes | Custom metadata object to set for the connection(s). Can contain string, number, boolean, or null values. |
| `connection_id` | string | Yes | The connection ID or array of connection IDs to update. Pass a single string to update one connection, or an array of strings to update multiple connections. |
| `provider_config_key` | string | Yes | The integration's unique key (provider config key) used to create the connection. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Trigger Sync

**Slug:** `NANGO_SYNC_TRIGGER_POST`

Tool to trigger sync process(es) manually. Use after establishing a connection and defining syncs. This triggers an additional, one-off execution of the specified sync(s) for a given connection or all applicable connections. Useful when you changed metadata for a connection and want to re-import data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `syncs` | array | Yes | List of sync names to trigger. Use an empty list [] to trigger all syncs for the integration. |
| `sync_mode` | string ("incremental" | "full_refresh" | "full_refresh_and_clear_cache") | No | Execution mode for the sync trigger. |
| `connection_id` | string | No | The ID of the specific connection. If omitted, the syncs will be triggered for all relevant connections under the integration. |
| `provider_config_key` | string | Yes | The ID of the integration (provider configuration) established within Nango. This is required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Connection Metadata

**Slug:** `NANGO_UPDATE_CONNECTION_METADATA`

Tool to edit custom metadata for one or multiple connections. Use when you need to update specific metadata properties without overwriting the entire metadata object.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `metadata` | object | Yes | The metadata properties to update. Only specified properties will be overridden; existing properties not included will remain unchanged. |
| `connection_id` | string | Yes | The connection ID or array of connection IDs to update. Use a single string for one connection or a list of strings for multiple connections. |
| `provider_config_key` | string | Yes | The integration ID (unique key) used to create the connection. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Integration

**Slug:** `NANGO_UPDATE_INTEGRATION`

Tool to update an existing integration's configuration. Use when you need to modify an integration's display name, unique key, or credentials.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `unique_key` | string | Yes | The integration ID (unique_key) that you created in Nango |
| `credentials` | string | No | Integration credentials schema for different authentication types. Provide one of: OAuth2Credentials, AppCredentials, or HybridAppCredentials |
| `display_name` | string | No | The integration display name |
| `new_unique_key` | string | No | New unique integration ID if you want to rename the integration key |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
