Connector · Messaging and email
Discord, in every client’s workflows.
Post a message, edit a message, with the client’s own Discord account.
- Triggers
- 0start a workflow
- Actions
- 2steps in a workflow
Do it in Discord
A step with its own fields: values from the run go in by name, and what Discord answers is there for the next step.
- Post a messagePost to the channel the webhook belongs to.
- Edit a messageChange a message this webhook posted, in place. Its name and picture stay as they were.
Connect the client’s Discord
On the client’s page in Thrum: Add credential, type Discord webhook URL.
In the client’s Discord server: Server Settings → Integrations → Webhooks → New Webhook → pick the channel → Copy Webhook URL.
The key is stored encrypted and bound to that client: another client’s workflow cannot use it, and no template or pack copies it.
Via HTTP
Or by web request: post a message to a channel
For clients who run their team, or their community, in a Discord server. The web request step, filled in: paste it, swap in the client’s ids, add their key.
01
Add the client’s credential
On the client’s page in Thrum: Add credential, type Webhook URL. In the client’s server: Server Settings → Integrations → Webhooks → New Webhook → pick the channel → Copy Webhook URL.
{ "url": "https://discord.com/api/webhooks/…/…" }02
Add a web request step
Name it “Post to Discord”, set it as here, and pick the credential. Values in double braces are read from the run: here, the lead the form brought in.
{ "method": "POST", "url": "{{ credential.url }}?wait=true", "body": { "content": "New lead: {{ lead.name }}, {{ lead.phone }}. {{ lead.summary }}", "username": "Leads" } }03
What goes out, and what comes back
`?wait=true` makes Discord answer with the message it posted; without it the answer is an empty 204.
POST https://discord.com/api/webhooks/1234567890/abcDEF_ghi-123?wait=true content-type: application/json { "content": "New lead: Nadia Karim, +447700900222. Quote for a new bathroom, two basins and a shower", "username": "Leads" }200 { "id": "1290000000000000001", "type": 0, "channel_id": "1280000000000000001", "content": "New lead: Nadia Karim, +447700900222. Quote for a new bathroom, two basins and a shower", "webhook_id": "1234567890" }
Watched like everything else
When Discord stops answering or refuses the client’s key, you hear about it, and your client does not.
- A failing request
- Tried 3 times, 5 seconds apart and doubling, only for errors a retry can fix
- A service that asks for a pause
- Given it, up to an hour
- Requests at once, per account
- 2, per worker; the rest wait their turn
- Timeout
- 15 seconds, unless the step sets its own
- Private and internal addresses
- Refused, on every redirect too
- The client’s key
- Encrypted, bound to the client, and kept out of every run record
- A step that keeps failing
- Marks the workflow Degraded and alerts you, not the client
More in Messaging and email
Microsoft TeamsPost a message to a channel1 actionVia HTTP
Send an email, send a template email, or start when an email bounces2 actions · 2 triggers
Email from the client’s own domain, with files from the run attached1 actionBuilt-in
Send an email, send a template email, or start when an email bounces2 actions · 2 triggers
Discord and its logo are trademarks of their owner, used here only to say what Thrum works with; no endorsement is implied.
Thrum is cooking.
Get early access and you’ll be among the first in. Early members get a launch perk.