Skip to content
Open
3 changes: 2 additions & 1 deletion docs/api-catalog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

> Compact provider slug catalog for agents. Use the slug to reconstruct provider-specific docs URLs only when needed.

Provider count: 874
Provider count: 875

URL patterns:
- Main provider page: https://nango.dev/docs/integrations/all/{slug}.md or https://nango.dev/docs/api-integrations/{slug}.md
Expand Down Expand Up @@ -36,6 +36,7 @@ URL patterns:
| `adyntel` | Adyntel | API_KEY | [docs](https://nango.dev/docs/api-integrations/adyntel.md) | [connect](https://nango.dev/docs/api-integrations/adyntel/connect.md) | | marketing |
| `affinity` | Affinity (v1) | BASIC | [docs](https://nango.dev/docs/integrations/all/affinity.md) | [connect](https://nango.dev/docs/integrations/all/affinity/connect.md) | | crm |
| `affinity-v2` | Affinity (v2) | API_KEY | [docs](https://nango.dev/docs/integrations/all/affinity-v2.md) | [connect](https://nango.dev/docs/integrations/all/affinity-v2/connect.md) | | crm |
| `agentline` | AgentLine | API_KEY | [docs](https://nango.dev/docs/api-integrations/agentline.md) | [connect](https://nango.dev/docs/api-integrations/agentline/connect.md) | | communication |
| `agiloft` | Agiloft | OAUTH2 | [docs](https://nango.dev/docs/api-integrations/agiloft.md) | [connect](https://nango.dev/docs/api-integrations/agiloft/connect.md) | [setup](https://nango.dev/docs/api-integrations/agiloft/how-to-register-your-own-agiloft-api-oauth-app.md) | productivity |
| `agiloft-cc` | Agiloft (Client Credentials) | OAUTH2_CC | [docs](https://nango.dev/docs/api-integrations/agiloft-cc.md) | [connect](https://nango.dev/docs/api-integrations/agiloft-cc/connect.md) | | productivity |
| `ahrefs` | Ahrefs | OAUTH2 | [docs](https://nango.dev/docs/api-integrations/ahrefs.md) | | [setup](https://nango.dev/docs/api-integrations/ahrefs/how-to-register-your-own-ahrefs-api-oauth-app.md) | marketing, analytics |
Expand Down
71 changes: 71 additions & 0 deletions docs/api-integrations/agentline.mdx

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to this, we should keep the same style and structure to ensure consistency with the rest of our Nango docs.

Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
title: 'AgentLine'
sidebarTitle: 'AgentLine'
description: 'Integrate your application with the AgentLine API'
---

AgentLine is the voice infrastructure for AI agents — phone numbers, calls, and SMS through a single API.

## 🚀 Quickstart

Connect to AgentLine with Nango and see data flow in 2 minutes.

<Steps>
<Step title="Create the integration">
In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> _Configure New Integration_ -> _AgentLine_.
</Step>
<Step title="Connect AgentLine">
Go to [Connections](https://app.nango.dev/dev/connections) -> _Add Test Connection_ -> _AgentLine_ -> enter your API key and click _Authorize_. See the [connect guide](/api-integrations/agentline/connect) for how to obtain a key.
</Step>
<Step title="Call the AgentLine API">
Let's make your first request to the AgentLine API. Replace the placeholders below with your [secret key](https://app.nango.dev/dev/environment-settings), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):
<Tabs>
<Tab title="cURL">

```bash
curl "https://api.nango.dev/proxy/v1/agents" \
-H "Authorization: Bearer <NANGO-SECRET-KEY>" \
-H "Provider-Config-Key: <INTEGRATION-ID>" \
-H "Connection-Id: <CONNECTION-ID>"
```

</Tab>

<Tab title="Node">

Install Nango's backend SDK with `npm i @nangohq/node`. Then run:

```typescript
import { Nango } from '@nangohq/node';

const nango = new Nango({ secretKey: '<NANGO-SECRET-KEY>' });

const res = await nango.get({
endpoint: '/v1/agents',
providerConfigKey: '<INTEGRATION-ID>',
connectionId: '<CONNECTION-ID>'
});

console.log(res.data);
```

</Tab>
</Tabs>
Or fetch credentials with the [Node SDK](/reference/sdks/node#get-a-connection-with-credentials) or [API](/reference/api/connection/get).

✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.
</Step>

<Step title="Implement Nango in your app">
Follow our [Auth implementation guide](/guides/primitives/auth) to integrate Nango in your app.
</Step>
</Steps>

## 📚 AgentLine Integration Guides

- [Connect to AgentLine](/api-integrations/agentline/connect)
Obtain your AgentLine API key and connect it to Nango.

Official docs: [AgentLine API](https://docs.agentline.cloud)

---
Comment on lines +64 to +79

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same with this, this should contain the ## 🧩 Pre-built syncs section.

Binary file added docs/api-integrations/agentline/account.png

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be a valid svg file.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 35 additions & 0 deletions docs/api-integrations/agentline/connect.mdx

@hassan254-prog hassan254-prog Jul 7, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this page, I would recommend using the same style as the other docs pages, including the correct sections, structure and Nango form screenshot for consistency.

Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
title: AgentLine - How do I link my account?
sidebarTitle: AgentLine
---


# Overview

To authenticate with AgentLine, you need an **API key** — a Bearer token that grants access to your AgentLine account (phone numbers, calls, and SMS).

This guide will walk you through finding your API key within AgentLine and connecting it to Nango.

### Prerequisites:

- You must have an **AgentLine account**. Sign up at [agentline.cloud](https://agentline.cloud).

#### Step 1: Finding your API key

1. Sign up or log in at [agentline.cloud](https://agentline.cloud).
2. Go to your dashboard and copy your API key (starts with `sk_live_`).

<img src="/api-integrations/agentline/account.png" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The image here is still incorrect.


<Tip>Keep your API key secret — it grants full access to your AgentLine account.</Tip>

#### Step 2: Enter your API key in Nango

Once you have your **API key**:
1. In Nango, go to [Connections](https://app.nango.dev/dev/connections) -> _Add Test Connection_ -> select _AgentLine_.
2. Enter your **API key** in the designated field.
3. Submit the form, and you should be successfully authenticated.

You are now connected to AgentLine.

<Note>Contribute improvements to the setup guide by [editing this page](https://github.com/nangohq/nango/tree/master/docs/api-integrations/agentline/connect.mdx)</Note>

@hassan254-prog hassan254-prog Jul 9, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use the same format for this section as compared to the other connect ui docs, and also add the form screenshot, to match the other docs.

1 change: 1 addition & 0 deletions docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -933,6 +933,7 @@
"api-integrations/ahrefs",
"integrations/all/affinity",
"integrations/all/affinity-v2",
"api-integrations/agentline",
"api-integrations/agiloft",
"api-integrations/agiloft-cc",
"integrations/all/aimfox",
Comment on lines 942 to 944
Expand Down
40 changes: 40 additions & 0 deletions docs/snippets/generated/agentline/PreBuiltTooling.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
## Pre-built tooling
<AccordionGroup>
<Accordion title="✅ Authorization">
| Tools | Status |
| - | - |
| Pre-built authorization (API Key) ||
| Pre-built authorization UI ||
| Custom authorization UI ||
| End-user authorization guide ||
| Expired credentials detection ||
</Accordion>
<Accordion title="✅ Read & write data">
| Tools | Status |
| - | - |
| Pre-built integrations | 🚫 (time to contribute: &lt;48h) |
| API unification ||
| 2-way sync ||
| Webhooks from Nango on data modifications ||
| Real-time webhooks from 3rd-party API | 🚫 (time to contribute: &lt;48h) |
| Proxy requests ||
</Accordion>
<Accordion title="✅ Observability & data quality">
| Tools | Status |
| - | - |
| HTTP request logging ||
| End-to-end type safety ||
| Data runtime validation ||
| OpenTelemetry export ||
| Slack alerts on errors ||
| Integration status API ||
</Accordion>
<Accordion title="✅ Customization">
| Tools | Status |
| - | - |
| Create or customize use-cases ||
| Pre-configured pagination | 🚫 (time to contribute: &lt;48h) |
| Pre-configured rate-limit handling | 🚫 (time to contribute: &lt;48h) |
| Per-customer configurations ||
</Accordion>
</AccordionGroup>
3 changes: 3 additions & 0 deletions docs/snippets/generated/agentline/PreBuiltUseCases.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
_No pre-built syncs or actions available yet._

<Tip>Not seeing the integration you need? [Build your own](/guides/functions/functions-guide) independently.</Tip>
23 changes: 23 additions & 0 deletions packages/providers/providers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -763,6 +763,29 @@ affinity-v2:
example: 'nrlW2KR5m-qUCA-rTqKb_EUK1swERlenqn70KNMMrTM'
doc_section: '#step-1-generating-your-api-key'

agentline:
display_name: AgentLine
categories:
- communication
auth_mode: API_KEY
proxy:
base_url: https://api.agentline.cloud

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Unverified provider may proxy user API keys to an externally-controlled domain with no independent presence

This PR adds a new "AgentLine" provider whose proxy base_url (https://api.agentline.cloud) receives every configured user's API key as a Bearer token. Independent web searches for the company return no results outside its own recently-launched site, which lists no verifiable company history, team, or physical address, and uses an auto-generated-looking social handle. The PR originates from a freshly created fork (AgentLineHQ/nango) by a contributor with no prior presence in the repo, and the API key pattern ^sk_live_[a-zA-Z0-9_]+$ mirrors Stripe's well-known live-key format. If merged and later adopted, Nango would relay users' credentials to a domain whose operator is not independently established.

Require independent verification of AgentLine's legitimacy (business registration, team identity, industry presence, and a live, documented API at api.agentline.cloud) before merging this provider. Treat the provider config and any logo/branding as untrusted until vetted, and confirm the sk_live_ key format is genuinely AgentLine's and not borrowed from another service.

AI prompt
Check if this security scanner issue is valid. If so, understand the root cause and fix it. If appropriate, update or add tests. Keep the change focused and preserve intended behavior.

<file name="packages/providers/providers.yaml">
<violation number="1" location="packages/providers/providers.yaml:772">
<priority>P1</priority>
<title>Unverified provider may proxy user API keys to an externally-controlled domain with no independent presence</title>
<evidence>This PR adds a new "AgentLine" provider whose proxy base_url (https://api.agentline.cloud) receives every configured user's API key as a Bearer token (authorization: Bearer ${apiKey}). Independent web searches for the company return no results outside its own recently-launched site, which lists no verifiable company history, team, or physical address and uses an auto-generated-looking social handle. The PR originates from a freshly created fork (AgentLineHQ/nango) by a contributor with no prior presence in the repo, and the API key pattern '^sk_live_[a-zA-Z0-9_]+$' mirrors Stripe's well-known live-key format. If merged and later adopted, Nango would relay users' credentials to a domain whose operator is not independently established.</evidence>
<recommendation>Require independent verification of AgentLine's legitimacy (business registration, team identity, industry presence, and a live documented API at api.agentline.cloud) before merging this provider. Treat the provider config and any logo/branding as untrusted until vetted, and confirm the sk_live_ key format is genuinely AgentLine's and not borrowed from another service.</recommendation>
</violation>
</file>

headers:
authorization: Bearer ${apiKey}
verification:
method: GET
endpoints:
- /v1/agents
docs: https://nango.dev/docs/api-integrations/agentline
docs_connect: https://nango.dev/docs/api-integrations/agentline/connect
Comment on lines +779 to +780
credentials:
apiKey:
type: string
title: API Key
description: Your AgentLine API key.
pattern: '^sk_live_[a-zA-Z0-9_]+$'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible for the API key to have a separate format for other environments, such as staging, since this appears to be for live accounts only?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Api is for live accounts only, not possible to have other formats.

doc_section: '#step-1-finding-your-api-key'

agiloft:
display_name: Agiloft
categories:
Expand Down
Loading