# Custom

The Xenioo Custom Channel allows any application capable of making simple RESTful https calls to integrate and interact with a [Xenioo](https://www.xenioo.com/) chatbot. This channel is available for live publishing only after adding the [Custom Channel Package](/basic-concepts/your-account/additional-packages.md) to your [premium account](/basic-concepts/your-account.md).

Using the Xenioo Custom Channel you will be controlling the way the conversation will be displayed to the user as well as [being able to change runtime variables](https://www.xenioo.com/changing-conversation-flow/) anytime.

The custom channel allows the creation of both completely custom chat channels (e.g.. a mobile app, a custom voice provider) and the integration of external services into existing services and conversations.

In [this GitHub repository](https://github.com/xenioo/API-Channel) you can find two simple C# examples of chatbot interaction as well as a python implementation of a shell based chatbot. All of the samples connect to a Xenioo demo chatbot that is always online for testing. Inside the C# samples folder you can also find the full current source of Xenioo Custom Channel client library that you can reference to your projects as source or directly as a [Nuget package from Visual Studio](https://www.nuget.org/packages/Xenioo.Channels.API/1.0.1).

## General Channel Settings

### API Key

This is the key that Xenioo has generated for your chatbot. You should use this key [on every global call](/basic-concepts/publishing/channels/customchannel/rest-reference-guide.md#general) you are going to make to your API channel.

### Webhook Url

This is the URL that Xenioo will automatically call for every message that is generated "offline" from your connection. Messages such as Broadcasts and pushed content that may be sent to your chatbot while the user is not connected will be redirected to this hook.\
If not values is specified, all messages will be queued and sent to you on your [next API request.](/basic-concepts/publishing/channels/customchannel/rest-reference-guide.md#chatting)&#x20;

### Include All Channels Conversations

When this flag is enabled your Webhook endpoint will be receiving real-time user and chatbot events from any conversation happening on any chatbot channels.&#x20;

{% hint style="info" %}
Each notification message sent in real-time from another conversation channel will be counted as an additional [action message](/basic-concepts/your-account/messages-count.md#action-messages).
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs10.xenioo.com/basic-concepts/publishing/channels/customchannel.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
