> ## Documentation Index
> Fetch the complete documentation index at: https://docs.langdock.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Integration

> Create a new custom integration in your workspace

<Info>
  **Using our API via a dedicated deployment?** Just replace `api.langdock.com` with your deployment's base URL: **`<deployment-url>/api/public`**
</Info>

Creates a new custom integration in your workspace. After creation, you can add actions and triggers to the integration.

## Required Scopes

This endpoint requires the `INTEGRATION_API` scope.

## Request Parameters

| Parameter     | Type   | Required | Description                                 |
| ------------- | ------ | -------- | ------------------------------------------- |
| `name`        | string | Yes      | Integration name (max 40 characters)        |
| `description` | string | No       | Integration description (max 90 characters) |

## Example

```javascript theme={null}
const axios = require("axios");

async function createIntegration() {
  const response = await axios.post(
    "https://api.langdock.com/integrations/v1/create",
    {
      name: "My Custom Integration",
      description: "Connects to my internal company API for data retrieval"
    },
    {
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
      }
    }
  );

  console.log("Created integration:", response.data.integration);
  return response.data.integration.id;
}

createIntegration();
```

## Response Format

### Success Response (201 Created)

```typescript theme={null}
{
  integration: {
    id: string;          // UUID of the created integration
    name: string;        // Integration name
    description: string; // Integration description
    createdAt: string;   // ISO 8601 timestamp
  };
}
```

## Example Response

```json theme={null}
{
  "integration": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "My Custom Integration",
    "description": "Connects to my internal company API for data retrieval",
    "createdAt": "2025-02-18T10:30:00.000Z"
  }
}
```

## Error Handling

| Status Code | Description                                              |
| ----------- | -------------------------------------------------------- |
| 400         | Invalid request body (name too long, invalid characters) |
| 401         | Invalid or missing API key                               |
| 429         | Rate limit exceeded                                      |
| 500         | Internal server error                                    |

## Next Steps

After creating an integration, you'll typically want to:

1. [Add actions](/en/developer/integrations-api/create-action) that agents can execute
2. [Add triggers](/en/developer/integrations-api/create-trigger) that start workflows or conversations
3. [Configure authentication](/en/developer/integrations-api/update-auth) if your integration requires it

<Info>
  Langdock intentionally blocks browser-origin requests to protect your API key and ensure your applications remain secure. For more information, please see our guide on [API Key Best Practices](/en/admin/ai-adoption-and-rollout/best-practices/api-key-best-practices).
</Info>
