ZombyIO
All guides

Docs · Announce and automate

How to build your own automations in Discord with blueprints

A blueprint is one rule: when something happens on your server and your conditions hold, the bot carries out your actions. This guide builds a real one from start to finish, then posts an RSS feed into a channel.

Takes about 8 minutesFree, Premium raises limits

What you will end up with

The blueprint built here removes links posted by accounts younger than three days and tells the member why, while members with your trusted role are left alone. The last step adds a news feed that posts each new article into a channel.

general

Where to find it

Open the dashboard, pick your server and choose Blueprints in the sidebar (on a phone: under Features in the bar at the bottom). That is two clicks from your server list. You can also press Ctrl K anywhere in the dashboard and type the name.

  1. Your servers
  2. Your server
  3. Blueprints
Open the dashboard

Step by step

  1. Step 1: Open Blueprints and start a new one

    In the dashboard, pick your server and choose Blueprints in the sidebar. The feature itself is already switched on for a new server; the switch sits in the coloured banner.

    Under Start a blueprint you find six starting points. Each one except Start from nothing is a finished automation that arrives switched on. For this guide, press Start from nothing: it adds an empty blueprint that is switched off until you are done.

    The free plan runs 3 blueprints and Premium 50.

    Tip

    Nothing you change on this page reaches your server until you press Save in the bar at the bottom.

  2. Step 2: Name it and choose what starts it

    Under This blueprint, give it a Name you will recognise later, such as “Links from new accounts”.

    Then, under When this happens, pick the event. Here that is Somebody writes a message. There are ten events, listed in the settings below. If you change the event later, conditions and actions that do not work with the new event are removed when you save.

  3. Step 3: Add the conditions

    Under And this is true, press Add a condition and add three:

    • Contains a link, left on is.
    • Account age, with at most and 72 in Hours, so it only matches accounts younger than three days.
    • The member has a role, switched to is not, with your trusted role picked. Members with that role are never touched.

    With more than one condition, How the conditions go together appears. Keep All of them, so every condition has to hold.

    Important

    A condition set to is not with nothing picked is always true. Always pick at least one role, channel or phrase.

  4. Step 4: Add the actions

    Under Then do this, press Add an action twice. Actions run from the top down, and the arrows on each action move it:

    • First Delete the message, which removes the member’s message.
    • Then Write a message, with Same channel under Where it goes, and a text such as {user}, links from new accounts are held back for three days. Under Remove it again after, pick 30 seconds so the channel does not fill up.

    The preview under the text shows how the message will look. {user} mentions the member.

    Important

    Deleting messages needs the Manage Messages permission. Kick, ban, timeouts and roles need their own permissions too. See roles and permissions.

    general
  5. Step 5: Decide how often it may run

    Under How often it may run, Wait between runs is 30 seconds for a new blueprint. While that wait runs, the whole blueprint is skipped, including the delete. For a rule that removes messages, choose No wait. The page then shows a “Worth a look” note, which is expected here.

    For blueprints that post or react, a wait is useful. Counted per decides whether it applies to The whole server, Each channel or Each member.

    Tip

    All blueprints on a server share one limit of about 60 actions a minute, with room for a burst of 90. XP and waits do not count towards it. A rule that goes wrong slows down instead of flooding your server.

  6. Step 6: Try it out, switch it on and save

    On the right, Try it out runs the same matcher your server uses. Pick Somebody writes a message, type a message with a link and see which conditions hold. The tester always pretends the member’s account is several years old, so Account age shows as not holding there, which is correct for this rule.

    When the list shows no red Needs work mark, switch on This blueprint is on, check that the banner switch is on, and press Save.

    After it has run, What it did under This blueprint shows the last run and how often it ran today. Runs show up there about a minute after they happen.

  7. Step 7: Example: post an RSS feed into a channel

    Press Announce a feed under Start a blueprint. It creates a switched-on blueprint with the event A feed publishes something and one action that writes **{title}** and {link} into a channel.

    • Paste the RSS or Atom address into Feed address. It has to be the feed itself, usually ending in /feed, /rss or .xml, not the page people read.
    • In the Write a message action, check the channel. The starting point picks the first channel in your server’s list, which is rarely the one you want.
    • Optionally add The message text as a condition, to post only items whose title or summary contains your phrases.

    The first read only notes what is already in the feed, so the archive is not posted. After that, new items are posted, up to 10 per read. An active feed is read about every five minutes; one with nothing new for a while is read less often, down to every 30 minutes.

    Tip

    Under the address, the page shows when the feed was last read, or why the last read failed.

    news

Every setting explained

In the order the page shows them. Names in bold are exactly what the dashboard calls each control.

Your blueprints

Start a blueprint

Answer a question (replies to the word “refund”), Welcome, five minutes later (a direct message 5 minutes after joining), A daily reminder (a message every day at 18:00), Announce a feed, A role at level 10 (you pick the role) and Start from nothing. All but the last arrive switched on. The reminder and feed starting points pick the first channel in your list.

Number of blueprintsFree: 3 · Premium: 50

How many blueprints run, counted from the top of the list. When Premium ends, the ones past the free limit stay saved and editable, marked Paused, and run again with Premium. A save that would add more than your plan allows is refused.

Blueprint on

The checkbox on each row switches that blueprint on or off without opening it.

Move up / Move down

When several blueprints fit the same event, the one higher up runs first. Put specific ones above general ones. The order also decides which blueprints are paused after Premium ends.

Make a copy

Adds a copy at the end of the list, switched off, named “(copy)”. Handy for the same rule with one phrase changed.

Delete this blueprint

Removes the blueprint from the page. It is gone for good once you press Save.

This blueprint

Name

Up to 80 characters. It appears in the list, and in Discord’s audit log next to every delete, timeout, kick and ban the blueprint carries out, so moderators can tell which rule did it.

This blueprint is on

Off keeps the blueprint and stops it running. A new empty blueprint starts off.

Needs fixing / Worth a look

Red notes (“Needs fixing”) mark a blueprint that has no action, an empty message, an empty list in a condition, a missing channel, role or emoji, or a feed without an address. The row then shows Needs work. Grey notes (“Worth a look”) point at shapes that work but are risky, such as a message blueprint with no condition, which runs on every message.

What it did

The last run, runs today (the day starts at midnight UTC), and the last time a run was held back or skipped, with the reason: a permission Discord refused, the per-minute limit, the wait between runs, closed direct messages and a few more. Conditions that did not hold are not recorded here; use the tester for those.

When this happens

One event per blueprint.

Somebody writes a message

A new message on your server. Edits, direct messages to the bot and messages from bots never start it, and neither do messages auto moderation or the anti-bot trap already acted on.

Somebody joins

Once per member, when they join. If the blueprint gives a role and your server makes newcomers accept its rules first, the whole blueprint waits until they accept. The editor says so above the actions.

Somebody leaves

Once per member, whether they left, were kicked or were banned. Their roles are no longer known, and Ban the member is the only moderation action offered.

Somebody adds a reaction

Any emoji on any message. The bot’s own reactions are ignored.

Somebody removes a reaction

A reaction taken off. Discord does not say which roles the member holds here.

Somebody joins voice

Joining a voice channel, or moving to another one. Muting and deafening do not count.

Somebody leaves voice

Leaving voice altogether. Moving between channels does not count.

Somebody reaches a level

A member reaching a new level in Levelling. Only while Levelling is switched on. Losing a level does not start it.

At a set time

On the clock instead of an event. There is no member and no channel, so a message goes to a fixed channel. Set up under At a set time below.

A feed publishes something

Each new item in an RSS or Atom feed. Like a schedule, it has no member, so a message goes to a fixed channel.

At a set time

Shown when the event is At a set time.

How often

Every day (default), Once a week or Every so often. A schedule has no wait between runs; it runs at its own times.

Gap between runs

Only for Every so often: 15 minutes, 1 hour, 6 hours, 1 day, or an exact number of minutes from 15 up to 20,160 (two weeks). Default 1 hour.

Time

For Every day and Once a week. Default 12:00.

Weekday

Only for Once a week: Monday to Sunday.

Time zone

The time zone the time is read in, so a post at 09:00 stays at 09:00 when the clocks change. Use mine takes your browser’s. A blueprint without a zone uses a fixed offset and is an hour off for half the year. Time of day and weekday conditions use the same zone.

Run it now

Runs a saved schedule within the next minute. Only for a blueprint that is saved, unchanged since, switched on and within your plan. It cannot run twice within a minute. A daily or weekly schedule keeps its usual time afterwards; Every so often counts its next gap from this run.

A feed publishes something

Shown when the event is A feed publishes something.

Feed address

The RSS or Atom address, up to 300 characters. Only ordinary public http or https addresses are accepted; addresses inside a private network or on your own computer are refused. https:// is added when you leave it out.

The line under the address

Before the first read: the first check usually happens within a few minutes of saving. After it: the feed’s name and when it was last read. After a failed read: the reason, for example that the address is a web page and not a feed, that the site did not answer, or the error number the site sent.

What gets posted, and how often

The first read posts nothing. After that, each new item is posted once, up to 10 per read (the newest ones), and never an item more than two days old. An active feed is read about every five minutes; with nothing new, the gap grows by five minutes every twelve reads, up to 30 minutes, and the next new item brings it back to five. A site that asks for fewer requests, or that keeps failing, is read less often. Placeholders: {title}, {link}, {summary}, {author}, {date} (shown in each reader’s own time zone) and {feed} (the feed’s name).

And this is true

Up to 8 conditions per blueprint. With none, the blueprint runs every time its event happens.

How the conditions go together

Appears with two or more conditions. All of them (default) needs every condition to hold; Any one of them needs just one.

is / is not

Every condition can be read as is or is not. is not turns it around. A condition the event cannot answer, such as roles when Discord did not send them, holds in neither direction.

The message text

Messages and feed items. Up to 25 phrases of up to 100 characters. Capital letters and accents do not matter. Compare as Whole word (default), At the start, The whole message or Anywhere inside. A single letter or digit only matches with The whole message, and the page marks such a phrase in red. {match} in a message is the phrase that matched.

Message length

Messages and feed items. The length in characters, at least or at most a number.

Attachments

Messages only. How many files or pictures the message carries.

Mentions

Messages only. How many people the message mentions.

Contains a link

Messages only. Holds when the message contains a web address.

Contains an invite

Messages only. Holds when the message contains a Discord invite.

The channel

Up to 25 channels. A thread or forum post counts as its channel. For messages, reactions, voice and level-ups.

The member has a role

Up to 25 roles. With two or more, tick The member must hold every one of them, not just one to require all. Not available when somebody leaves or removes a reaction, because Discord does not send their roles then.

It is a bot

Whether the account is a bot. For joins, departures, added reactions and voice. Not offered for messages, because bot messages never start a blueprint.

Account age

How old the Discord account is, in hours: at most 72 is younger than three days. For every event that has a member.

The level reached

Only for Somebody reaches a level: the level reached, at least or at most.

The emoji

Only for reactions. Up to 20 emoji, including your server’s own.

Time of day

A window in the blueprint’s time zone, such as 22:00 until 06:00. A window may run past midnight. Default the whole day.

Weekday

The days it may run. Default Monday to Friday.

Random chance

A coin toss that holds this often: 5, 25, 50 (default) or 75 percent, or any value from 0 to 100.

Then do this

Up to 8 actions, carried out from the top down. Only the actions that work with the chosen event are offered.

Write a message

Up to 2,000 characters, optionally as an embed with a title (up to 256) and an accent colour. Where it goes: Same channel, As a reply (messages only), A fixed channel, or Direct message (not when somebody leaves). Remove it again after: Keep it (default), 30 seconds, 5 minutes, 1 hour or up to 3,600 seconds. Members and roles written in the text can be pinged; @everyone and @here never are.

React with an emoji

Messages only. Puts one emoji on the message that started the blueprint.

Delete the message

Messages only. Removes the message. Needs Manage Messages.

Give a role

Up to 5 roles per action. The bot’s own role has to sit above them. A role with Administrator is refused, and only the server owner or an administrator can pick a role with moderation rights.

Take a role away

The same rules as giving a role.

Time the member out

5 minutes, 1 hour, 1 day, 7 days or any length from 60 seconds to 28 days. Default 10 minutes. Recorded as a case in Moderation, exactly like a moderator’s.

Kick the member

Recorded as a case. A Reason of up to 200 characters goes into the case history and Discord’s audit log; timeouts and bans have the same field. The member gets a direct message only when Send the member a direct message is on in Moderation.

Ban the member

Recorded as a case. Also works when somebody leaves, by their id.

Give or take XP

From -10,000 to 10,000, default 100. Given XP is added a few seconds later together with chat XP, so level-ups and rewards follow as usual. A negative number takes XP away, at most 30 times a minute per server. XP given by a level-up blueprint does not start level-up blueprints again. While a level reward gives moderation rights, only the server owner or an administrator can add an XP amount here, give or take more, or change when it runs: another event, other conditions, a shorter wait between runs or fewer ignored channels or roles. Giving or taking less, or switching a blueprint off, always works.

Wait

1 minute, 10 minutes, 1 hour, 1 day, or 10 seconds to one day. Default 5 minutes. Everything after it runs later, from the blueprint as it is then: switched off or deleted in the meantime, nothing more runs. A server can have up to 500 waits pending.

How often it may run

Wait between runs

No wait, 30 seconds (default), 5 minutes, 1 hour or up to a day. While it runs, the blueprint is skipped completely. Not shown for schedules and feeds. On a join, departure or level-up blueprint, a wait silently skips everybody who arrives during it.

Counted per

Shown when there is a wait: The whole server (default), Each channel or Each member.

Exceptions

Ignored channels

Up to 25 channels where no blueprint runs; threads and forum posts count as their channel. Schedules and feeds are not affected.

Ignored roles

Up to 25 roles whose members never start a blueprint. They cannot protect anyone who leaves or removes a reaction, because Discord does not send roles then.

Beside the editor

Try it out

Pretend an event happened and see which blueprints would run and which conditions hold. It uses the real matcher, counts random chance as holding, and always pretends the member’s account is several years old and at level 10. Schedules cannot be tested here; use Run it now instead.

What this costs your server

How much work your message blueprints add to every message: Easily handled, Noticeable or Heavy. A phrase condition keeps it low; message blueprints without conditions push it up.

Placeholders

The placeholders the selected blueprint’s event fills: {user} and {user.mention} mention the member, {server} is the server name and {membercount} the member count. Depending on the event also {channel}, {match} and {level}, and for feeds {title}, {link}, {summary}, {author}, {date} and {feed}. Schedules only have {server} and {membercount}.

Free and Premium

Premium costs €6 a month per server and is shared by every admin of that server. It raises limits, it does not unlock the feature.

Free and Premium
WhatFreePremium
Blueprints350

Something not working?

The problems people run into most often, and how to fix each one.

My blueprint never does anything

Check these in order:

  • The banner switch, or the blueprint’s own switch, is off, or the page was not saved.
  • The row says Paused: it is past what your plan runs.
  • The conditions do not hold. Type a real example into Try it out and see which one fails; failed conditions are not recorded anywhere else.
  • It happened in an ignored channel, or the member has an ignored role.
  • For Somebody reaches a level: Levelling is switched off.
  • For a join blueprint that gives a role: it waits until the member accepts your rules screen.
What it did says a run was held back

The reason is shown underneath:

  • Discord refused an action: the bot is missing a permission, a role or member ranks above the bot’s own role, or an emoji no longer exists. See roles and permissions.
  • The limit for this minute was reached: your blueprints together used their 60 actions a minute. The rest of that run was skipped, not queued.
  • The wait between runs was still going. That is what the wait is for.
  • The member has direct messages closed or blocked the bot. Nothing to fix on your side.
My feed blueprint posts nothing
  • The first read only notes what is already there; wait for a new item.
  • Items older than two days are never posted.
  • The line under Feed address shows an error. The most common one is that the address is a web page, not the feed: look on the site for an RSS or Atom link.
  • The Write a message action has no channel, or the bot cannot post there.
New feed items arrive late

A feed is read about every five minutes. When nothing new has appeared for a while, the gap grows to up to 30 minutes, and the next new item brings it back. A site that asks for fewer requests, or that keeps failing, is read less often. If more than 10 items appear at once, only the newest 10 are posted.

My schedule runs at the wrong time or has stopped
  • An hour off: the blueprint has no time zone. Pick one under Time zone, or press Use mine.
  • Stopped: if Discord refused everything in a run, for example because the channel was deleted, the schedule waits longer before each try, up to a day. What it did shows the next try. Fix the channel or the permissions and save; saving puts the schedule back on its clock.
  • After the bot was offline, a missed run happens once when it is back. Missed runs are not repeated.
My join blueprint gives the role late

When your server makes newcomers accept its rules first, a join blueprint that gives a role waits until they accept, because a role would let them skip the rules. Anything that should happen straight away, such as a greeting, belongs in a separate blueprint without the role.

I cannot add another blueprint

The free plan runs 3 blueprints and Premium 50. The starting points are greyed out at the limit. After Premium ends, blueprints past the limit stay saved and are marked Paused; the ones at the top of the list keep running.

Still stuck?

Ask in the ZombyIO support server. Bring your support ID, your server’s support ID and a sentence about what you expected to happen, and someone will look at it with you.

Go to the support server