---
title: "Create an AI connection"
locale: en
url: https://tlg.builera.app/en/docs/reference/rest/connections.create
verified: 2026-10-24
app_version: "2.0"
generated: true
---

# Create an AI connection

Create another connection — never with more role, scopes or accounts than yours. API keys are shown once.

Create another connection — never with more role, scopes or accounts than yours. API keys are shown once.

## Overview

| Name | Value |
| --- | --- |
| Code | `connections.create` |
| Scope needed | `integrations.manage` |
| Risk | Dangerous |
| May need confirmation | Yes |
| Runs as | Answers right away |
| Needs `Idempotency-Key` | No |
| Member roles allowed | `owner`, `manager` |
| In the app | Settings → AI connections → Create |

## Input fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | `text` | Yes |   |
| `role` | `"manager" \| "agent" \| "viewer"` | Yes |   |
| `scopes` | `"accounts.read" \| "accounts.settings" \| "accounts.manage" \| "messages.read" \| "messages.send" \| "messages.manage" \| "chats.manage" \| "contacts.write" \| "groups.join" \| "groups.admin" \| "groups.scan" \| "profile.write" \| "crm.read" \| "crm.write" \| "crm.export" \| "crm.erase" \| "campaigns.write" \| "campaigns.run" \| "nurture.write" \| "discovery.write" \| "automation.write" \| "stats.read" \| "audit.read" \| "infra.manage" \| "members.manage" \| "integrations.manage" \| "webhooks.read" \| "webhooks.manage" \| "bots.manage"[]` | Yes |   |
| `profile` | `"realtime" \| "setup" \| "prospecting" \| "reports" \| "admin" \| "full"` | No |   |
| `accountMode` | `"all" \| "list"` | Yes |   |
| `accountIds` | `uuid[]` | No |   |
| `riskPolicy` | `object` | No |   |
| `budgets` | `object` | No |   |
| `ratePerMin` | `integer` | No |   |
| `expiresAt` | `timestamp` | No |   |
| `loopAutoPause` | `true/false` | No |   |
| `locale` | `"vi" \| "en"` | No |   |
| `kind` | `"mcp" \| "api" \| "both"` | Yes |   |

## Example request

```bash
curl -X POST https://tlg.builera.app/api/public/v2/ops/connections.create \
  -H "Authorization: Bearer $TELEGRAM_AUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"…","role":"manager","scopes":[],"accountMode":"all","kind":"mcp"}'
```

## Output fields (`data`)

| Field | Type | Required |
| --- | --- | --- |
| `ok` | `true` | Yes |
| `id` | `text` | Yes |
| `apiKey` | `null \| text` | Yes |

## Example answer

```json
{
  "data": {
    "ok": true,
    "id": "00000000-0000-4000-8000-000000000000",
    "apiKey": "text"
  }
}
```

## Using it over MCP

Not listed on any profile: call `tools_describe` then `tools_run` with `code: "connections.create"`. Tool name when listed: `connections_create`.
