Skip to main content

Documentation Index

Fetch the complete documentation index at: https://noradocs.solomontsao.com/llms.txt

Use this file to discover all available pages before exploring further.

Channels are the communication endpoints through which your agents send and receive messages. Each channel is attached to a specific agent and backed by an adapter — a typed connector that knows how to deliver messages to that service. When an agent sends a message, Nora routes it through the appropriate adapter. When an external service sends an inbound event, Nora logs it and forwards it to the running agent runtime. Sensitive configuration values (tokens, webhook URLs, passwords) are encrypted with AES-256-GCM before storage and shown as [REDACTED] in API responses.

Supported channel types

TypeLabelRequired credentials
slackSlackWebhook URL (required); bot token (optional)
discordDiscordWebhook URL (required); bot token (optional)
emailEmail (SMTP)SMTP host, port, username, password, from address
webhookWebhookTarget URL (required); HTTP method, custom headers, signing secret (optional)
teamsMicrosoft TeamsIncoming webhook URL
smsSMS (Twilio)Account SID, auth token, from number
whatsappWhatsAppPhone Number ID, access token
telegramTelegramBot token (required); default chat ID (optional)
lineLINEChannel access token (required); channel secret, user/group ID (optional)

Create a channel

1

Open the agent's channels tab

Navigate to the agent’s detail page and select the Channels tab. Any existing channels for this agent are listed here.
2

Click Add Channel

Click Add Channel or the equivalent create button. A form slides in.
3

Choose the channel type

Select the type from the dropdown. The form updates to show the configuration fields specific to that adapter.
4

Enter a name

Give the channel a descriptive name, such as Ops Slack or Customer SMS. This name helps you identify the channel in the list.
5

Fill in the configuration fields

Enter the required credentials and any optional fields. For example, a Slack channel requires a Webhook URL. A Telegram channel requires a Bot Token. Sensitive fields are encrypted before being stored.
6

Save the channel

Click Save or Create. Nora stores the channel and it becomes available immediately.

Test a channel

After creating a channel you can verify it is working before your agent uses it in production:
  1. Find the channel in the Channels tab.
  2. Click Test.
Nora verifies the configuration (for example, checks that required fields are present) and then sends a test message through the adapter. A success response confirms delivery; an error message explains what failed.
Always test a channel after creating it. For Telegram channels, Nora also verifies the bot token by calling getMe against the Telegram API during the test.

View channel messages

To inspect messages that have been sent or received through a channel:
  1. Open the agent’s Channels tab.
  2. Click the channel name or a Messages link.
  3. Nora loads up to 50 recent messages by default, ordered newest first.
Each message record includes the direction (inbound or outbound), the content, and any metadata (such as sender ID or chat ID).

Update a channel

  1. Find the channel in the Channels tab.
  2. Click Edit or the pencil icon.
  3. Update the name, configuration fields, or the enabled/disabled toggle.
  4. Click Save.
Updating the configuration re-encrypts any sensitive fields using the new values you provide.

Delete a channel

  1. Find the channel in the Channels tab.
  2. Click the trash icon and confirm the deletion.
Deleting a channel removes the record and all associated message history.

Receive inbound events via webhook

External services can send events to your agent through a public webhook endpoint. The URL format is:
POST /webhooks/:channelId
Where :channelId is the ID of the channel you want to receive events on. Nora accepts the payload, logs it as an inbound message, and forwards it to the agent runtime if the agent is currently running.
POST /webhooks/ch_abc123
Content-Type: application/json

{
  "text": "Deploy triggered by push to main",
  "sender": "github-actions"
}
This endpoint is public and does not require authentication. Use a signing secret or a verify token in your channel configuration to validate inbound payloads in the agent runtime.
If the agent is not running when the webhook arrives, the message is still logged and will be visible in the channel’s message history.