Skip to main content
Using our API via a dedicated deployment? Just replace api.langdock.com with your deployment’s base URL: <deployment-url>/api/public
The Integrations API lets you programmatically create and manage custom integrations in your Langdock workspace. Build integrations that connect to your internal tools, APIs, and services.

API Key Scopes

The Integrations API requires specific API key scopes:
ScopeEndpoints
ASSISTANT_API or INTEGRATION_APIList integrations (GET /integrations/v1/get)
INTEGRATION_APIAll other integration endpoints
Create an API key with INTEGRATION_API scope in your workspace settings to access the full Integrations API.

Available Endpoints

Integrations

MethodEndpointDescription
GET/integrations/v1/getList all integrations
POST/integrations/v1/createCreate a new integration
GET/integrations/v1/{integrationId}Get integration details
PATCH/integrations/v1/{integrationId}Update an integration
PATCH/integrations/v1/{integrationId}/authUpdate auth configuration

Actions

Actions are capabilities you can add to integrations that agents can execute.
MethodEndpointDescription
POST/integrations/v1/{integrationId}/actions/createCreate an action
PUT/integrations/v1/{integrationId}/actions/{actionId}Update an action
DELETE/integrations/v1/{integrationId}/actions/{actionId}Delete an action

Triggers

Triggers allow integrations to start workflows or agent conversations based on external events.
MethodEndpointDescription
POST/integrations/v1/{integrationId}/triggers/createCreate a trigger
PUT/integrations/v1/{integrationId}/triggers/{triggerId}Update a trigger
DELETE/integrations/v1/{integrationId}/triggers/{triggerId}Delete a trigger

Quick Start

Here’s how to create a simple integration with an action:
const axios = require("axios");

const API_KEY = "YOUR_API_KEY";
const BASE_URL = "https://api.langdock.com";

// 1. Create an integration
const integrationResponse = await axios.post(
  `${BASE_URL}/integrations/v1/create`,
  {
    name: "My Custom Integration",
    description: "Connects to my internal API"
  },
  {
    headers: {
      Authorization: `Bearer ${API_KEY}`,
      "Content-Type": "application/json"
    }
  }
);

const integrationId = integrationResponse.data.integration.id;

// 2. Add an action to the integration
const actionResponse = await axios.post(
  `${BASE_URL}/integrations/v1/${integrationId}/actions/create`,
  {
    name: "Get User Data",
    description: "Retrieves user information from the internal API",
    code: `
      const response = await fetch('https://my-api.example.com/users/' + inputs.userId);
      return await response.json();
    `,
    inputFields: [
      {
        label: "User ID",
        type: "TEXT",
        description: "The ID of the user to retrieve",
        required: true
      }
    ]
  },
  {
    headers: {
      Authorization: `Bearer ${API_KEY}`,
      "Content-Type": "application/json"
    }
  }
);

console.log("Action created:", actionResponse.data.action);

Use Cases

  • Internal Tools Integration: Connect agents to your company’s internal APIs, databases, or services
  • Custom Workflows: Build integrations that trigger workflows based on external events
  • Data Enrichment: Create actions that fetch and enrich data from multiple sources
  • Automated Reporting: Build integrations that generate and distribute reports

Rate Limits

The Integrations API follows standard rate limits. If you exceed the limit, you’ll receive a 429 response. Wait and retry with exponential backoff.
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.