InTouch Hub · Blue Isle Software

Discord

Send and read Discord messages via incoming webhooks or a bot token.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

chatcommunicationmessagemessagingstatuswebhook

Discord

Send and read Discord messages from InTouch jobs and the AI assistant — either through a channel incoming webhook (no bot, no token) or through a bot token that can post to and read any channel the bot can see.

Grounded in the official Discord REST API (https://discord.com/api/v10). Standard-library Python only — no external dependencies.

Operations

Operation Method + endpoint Auth Required input
webhook.execute POST /webhooks/{id}/{token} webhook URL webhookUrl, content
webhook.get GET /webhooks/{id}/{token} webhook URL webhookUrl
channel.send POST /channels/{channelId}/messages bot token apiKey, channelId, content
channel.messages GET /channels/{channelId}/messages?limit=N bot token apiKey, channelId

webhook.execute is called with ?wait=true, so Discord returns the created message object in result.

Inputs

Outputs

Getting credentials

Webhook URL (simplest, no bot): 1. In Discord, open a channel → Edit Channel → Integrations → Webhooks → New Webhook. 2. Copy the Webhook URL: https://discord.com/api/webhooks/123456789012345678/AbCdEf... 3. Pass it as webhookUrl. No apiKey needed.

Bot token (for reading channels / posting as a bot): 1. Go to https://discord.com/developers/applicationsNew Application. 2. Bot tab → Reset Token → copy the token. Pass it as apiKey. 3. Enable the Message Content Intent (Bot tab) if you need message text. 4. Invite the bot to your server with the Send Messages / Read Message History permissions, then use the channel's ID (Developer Mode → right-click channel → Copy Channel ID) as channelId.

Examples

1. Post an alert to a channel via webhook

operation:  webhook.execute
webhookUrl: https://discord.com/api/webhooks/123.../AbCd...
content:    Build #482 passed ✅
username:   InTouch CI

2. Read the last 20 messages of a channel as a bot

operation: channel.messages
apiKey:    <bot-token>
channelId: 987654321098765432
limit:     20

result will be a JSON array of the most recent messages (newest first).

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.

Input Properties

Every property this tool accepts, from its own tool.iml.

Property Type Required Default Description
apiKey string yes DEPRECATED — bind an API Key credential to the task with credentialName instead. A key pasted here is stored in the workflow definition in clear and appears in every export of it. Still honoured for workflows built before the change.
operation string yes One of: webhook.execute, webhook.get, channel.send, channel.messages
webhookUrl string no Discord webhook URL (https://discord.com/api/webhooks/{id}/{token}). Required for webhook.execute and webhook.get. Create via a channel's Integrations > Webhooks.
channelId string no Discord channel ID (snowflake). Required for channel.send and channel.messages.
content string no Message text (up to 2000 chars). Required for webhook.execute and channel.send.
username string no Optional display name override for webhook.execute.
limit string no 50 Number of messages to fetch for channel.messages (1-100, default 50).