## Overview

The **API** channel is a generic channel for **custom integrations**. Instead of a ready-made channel
(WhatsApp, email, website), you connect **your own system** or a non-native channel: your application
sends messages to the platform and receives replies via **API** and **webhooks**.

It's the ideal foundation to integrate tailor-made channels, bots and external systems, keeping
conversations centralized with history, assignment and automations like any other channel.

## Prerequisites

- An **administrator** profile to create the API inbox.
- Technical knowledge to consume an **HTTP API** and handle **webhooks** in your system.
- A public endpoint on your side to receive webhook events (messages from the platform).
- Your account's API access credentials (see the **API & Developers** category).

## Step by step

1. Under **Settings → Inboxes**, create a new inbox and choose **API**.
2. Enter the channel **name** and, if applicable, your system's **webhook URL**.
3. Finish creating it — the inbox now has its own **identifier**.
4. In your system, use the API to **create/identify the contact** and **send messages** to the inbox.
5. Configure the **webhook** to receive the platform's replies and events in your system.
6. Send a **test message** through the API and confirm it appears as a conversation.

## Settings & options

- **Inbox identifier**: used in API calls to route messages to the right inbox.
- **Webhook URL**: your system's endpoint that receives messages and events from the platform.
- **Contacts and conversations**: created/updated via API, with the same features as other channels.
- **Automation and assignment**: apply rules just like on any other channel.

## Use cases

- Connect a proprietary channel or a legacy system with no native integration.
- Build a custom bot that talks to contacts through the platform.
- Integrate an internal app to log and reply to conversations automatically.

## Tips, limits & best practices

- Handle the **webhook idempotently** to avoid duplicate conversations or messages.
- Protect your **API credentials**: keep them on the server, never exposed on the client.
- Implement **retries** on sending to cope with temporary network failures.

## Troubleshooting

- **Messages don't come in**: check the inbox identifier and the credentials used in the API.
- **I don't receive events in my system**: validate the webhook URL and that your endpoint responds
  successfully.
- **Duplicate conversations**: ensure idempotent webhook handling on your side.

## See also

- [Website channel with live chat widget](/hc/ajuda/articles/inboxes-channels-canal-site-widget-en)
- [Email channel: forwarding and IMAP/SMTP](/hc/ajuda/articles/inboxes-channels-canal-email-en)
- [Inbox settings](/hc/ajuda/articles/inboxes-channels-configuracoes-de-inbox-en)
- [Overview of inboxes and channels](/hc/ajuda/articles/inboxes-channels-overview-en)