Automations

Triggers & Actions

Complete reference for all trigger types and action types. Learn how to configure each type and understand their options.

Trigger Types Reference

Triggers are the events that start an automation. Choose the event you want to respond to, configure its options, and your automation will execute when that event occurs.

Member Join Trigger

Fires when a new member joins your Discord server. Perfect for welcome workflows, role assignment, and introduction requirements.

Trigger Event:
member_join

Available Conditions

  • • Account age (minimum days old to trigger)
  • • User role at join time (if they have invite links)
  • • Invite source (which invite link used)
  • • Is bot account (true/false)

Typical Actions

  • • Send welcome message to #general
  • • Send DM with server rules
  • • Assign starter roles
  • • Create private intro channel

Message Create Trigger

Fires when a message is sent matching your criteria. Useful for auto-responses, content filtering, keyword detection, and message-based workflows.

Trigger Event:
message_create

Configuration Options

  • • Channel(s) to monitor (specific channels or all)
  • • Keywords to match (exact or partial)
  • • Regex pattern matching for complex detection
  • • Minimum message length
  • • Match author role requirements
  • • Exclude bot messages (true/false)
  • • Must contain attachments (true/false)
  • • Must contain mentions (true/false)

Examples

Monitor #support channel for messages containing "help" → send assistance message

Detect profanity matching regex pattern → delete message and warn user

Watch for job postings in #jobs → repost to #jobs-archive

Reaction Add Trigger

Fires when a specific emoji is reacted to a message. Ideal for verification, polls, ticket creation, or reaction-based commands.

Trigger Event:
reaction_add

Configuration Options

  • • Emoji to watch for (any emoji or specific)
  • • Channel(s) to monitor
  • • Specific message ID (or any message in channel)
  • • Author of reacting user (any user or specific)
  • • User role requirements

Use Cases

React with ✅ to verify → grant member role

React with 🎫 to rules message → create support ticket

React with custom emoji → assign corresponding role

Scheduled (Cron) Trigger

Fires at specific times using cron expressions. Run daily reports, send timed reminders, execute maintenance tasks, or post announcements.

Trigger Event:
scheduled

Configuration

Enter a cron expression. Format: minute hour day month day-of-week

Timezone: Automations use server timezone for scheduling

Cron Examples

0 9 * * * — Every day at 9:00 AM
0 0 * * 1 — Every Monday at midnight
*/30 * * * * — Every 30 minutes
0 18 * * 1-5 — 6 PM weekdays only
0 0 1 * * — First day of every month

Role Changed Trigger

Fires when a user is granted or loses a specific role. Perfect for cascading permission updates, perk assignment, or status notifications.

Trigger Event:
role_changed

Configuration

  • • Role to watch for
  • • Action type: granted, removed, or both
  • • User role requirements (only trigger for users with X role)

Examples

User granted "Premium" role → unlock premium channels, send welcome message

User loses "Moderator" role → remove mod-only channel access

Webhook Trigger

Fires when external systems send data to your automation webhook URL. Integrate with third-party services, GitHub, payment processors, or custom apps.

Trigger Event:
webhook

Configuration

  • • Optional: Validate webhook signatures (for security)
  • • Optional: Match payload fields (e.g., event type = "payment")
  • • Webhook URL is generated and provided to you

Webhook Payload Access

Actions can access webhook data using dynamic variables: {payload.field_name}

Action Types Reference

Actions are what execute when a trigger fires. An automation can have multiple actions that run in sequence. Configure each action's target and content.

Send Message Action

Send a message to a channel. Supports embeds, mentions, and dynamic content populated from trigger data.

Configuration Options

  • • Target channel
  • • Message content (supports markdown)
  • • Embed (optional title, description, color, fields, image, footer)
  • • Mention roles/users (optional)
  • • Dynamic variables: {user.name}, {user.id}, {message.content}, etc.
Message: Welcome {user.name} to our server!
Mention: @Member (role tag)

Add/Remove Role Actions

Automatically grant or revoke roles from users. Configure role assignment workflows and permission cascades.

Add Role Configuration

  • • Target user (triggering user or specific user)
  • • Role to add
  • • Optional: Notify user via DM

Remove Role Configuration

  • • Target user
  • • Role to remove
  • • Optional: Reason/explanation

Send Direct Message Action

Send a private message to a user. Perfect for confirmations, personalized instructions, or welcome messages.

Configuration

  • • Target user (triggering user or specific user)
  • • Message content
  • • Optional: Embed styling
  • • Supports dynamic variables like Send Message

Create Channel Action

Dynamically create text or voice channels. Useful for ticket systems, team channels, or event channels.

Configuration Options

  • • Channel name (supports dynamic variables)
  • • Channel type (text or voice)
  • • Category (optional parent category)
  • • Channel topic/description
  • • Permission overrides (public, private, specific roles only)

Call Webhook Action

Send HTTP requests to external services. Integrate with logging systems, notification services, or custom applications.

Configuration

  • • Webhook URL (external HTTP endpoint)
  • • HTTP method (GET, POST, PUT, DELETE)
  • • Headers (optional authorization, content-type)
  • • Payload data (supports dynamic variables)
  • • Timeout (default 30 seconds)

Delay Action

Pause execution before running the next action. Create timed sequences or stagger messages.

Configuration

  • • Duration (5 seconds to 24 hours)
  • • Unit (seconds, minutes, hours)
Example workflow:
1. Send welcome message
2. Delay 5 minutes
3. Send follow-up rules message

Chaining Actions

Combine multiple actions into sequences. Actions execute in order from top to bottom. Each action can reference data from previous actions or the trigger event.

Example: New Member Welcome Flow

Trigger: member_join
Action 1: Send DM with server rules
Action 2: Post welcome in #general mentioning new member
Action 3: Delay 2 minutes
Action 4: Assign "Member" role
Action 5: Create private welcome channel
Action 6: Post intro prompt in welcome channel

Conditional Logic

Make automations smart with if/then conditions. Control whether actions execute based on trigger context or user properties.

Condition Types

  • • User has role X (for actions affecting that user)
  • • User in channel X
  • • Message contains keyword X
  • • Message matches regex pattern
  • • Time is between X and Y (for scheduled automations)
  • • Account age is older than X days

Conditional Branching

Skip or execute individual actions based on conditions. Example:

Action 1: Send message (always)

Action 2: Add role (IF user account age > 7 days)

Action 3: Send warning (IF user account age < 7 days)

Tips for Effective Triggers & Actions

  • • Use specific conditions to prevent unintended triggers
  • • Test actions in dry-run mode before enabling
  • • Add delays between related actions for better UX
  • • Use dynamic variables to personalize messages
  • • Document complex action sequences in automation description
  • • Monitor webhook calls to external services for failures
  • • Keep action sequences under 20 items for performance