Channels

Discord

How an agent posts to a Discord channel through uplika: a webhook you make for one text channel, mentions that notify nobody by default, and what a webhook cannot do.

Quick reference

NameTypeDescription
characterstext2,000
imagesmediaup to 10 per post; more than that and the first 10 go out with a warning
carouselmedia2-10 items, images and video can be mixed
videomedia10 per post
text alonemediaallowed
posts / 24hlimit28,800
deletes / 24hlimitDiscord only deletes messages this webhook sent, with no documented daily cap
statusstatelive

These numbers come from the same file the server validates against. A message holds 2,000 characters, counted as Unicode code points so an emoji counts as one, and up to 10 attachments of 20 MB each.

Why didn't @everyone notify anyone?

uplika sends every Discord message with mentions turned off unless you ask. @everyone, @here, role and user mentions show as text and ping no one, so an agent can never wake a whole server by accident. Set options.discord.mentions to users to notify the people you mention, or to all to include roles, @everyone and @here.

How do I publish my first post?

Call publish with text, attachments or both. Discord renders its own Markdown, so bold, lists and links work as written.

curl -X POST https://api.uplika.com/v1/posts \
  -H "Authorization: Bearer $UPLIKA_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Release notes are up. **v2.4** ships today.",
    "accountIds": ["conn_..."],
    "options": { "discord": { "silent": true } }
  }'

What options.discord takes

NameTypeDescription
usernamestringThe sender name shown on this one message, 1-80 characters. Leave it out to use the webhook's own name. Discord rejects names that contain "discord" or "clyde".
silentbooleanPost without sending a push or desktop notification (Discord's @silent).
suppressEmbedsbooleanDo not show link previews for URLs in the text.
mentionsnone | users | allWho a mention in the text actually notifies. none (default): nobody, so @everyone, @here and role or user mentions show as text but ping no one. users: mentioned people only. all: people, roles, @everyone and @here. Only choose all when the person asked to notify the whole server.
contentstringText for this channel only. When set it replaces the shared content for this channel, and the length and media checks use it. Leave it out to use the shared content.

All optional. Like every channel it also takes content, a different text for this channel alone.

What is not available?

Replies, comments and listing the channel's messages: a webhook can post but cannot read the channel, so list_replies, reply and list_channel_posts answer that they cannot. Editing changes the text only; attachments stay as they were. Deleting works only for messages this webhook sent. The only metric is the total number of reactions.

Frequently asked

Does uplika see my Discord account or server?

No. It holds the webhook URL you made, encrypted, and posts through it. The webhook can only post into its one channel; it cannot read messages or members.

What happens if I delete the webhook in Discord?

The next post fails and the connection is marked expired. Create a new webhook and reconnect with its URL. Disconnecting in uplika does not delete the webhook in Discord; delete it there if you no longer need it.

Why was my forum channel refused?

Every post in a forum or media channel has to open a new thread, and uplika does not create threads. Make the webhook for a regular text channel instead.