What you’ll build
By the end of this guide your automation will:- Detect when a new member joins your Discord server
- Send a personalized welcome message that mentions them in a channel
- (Optional) Automatically assign a Member role
- (Optional) Send a private DM to the new member
You need a connected Discord bot in your Studio workspace before building this automation. Head to Settings → Bot to link or invite your bot if you haven’t already.
Part 1: Basic welcome message
This section builds the core automation — trigger on member join, read their user ID, and send a channel message that mentions them.1
Create a new automation
Open erlc.dev Studio and click New Automation in the left sidebar. Give it a name like
Welcome New Members and press Create.2
Add the Discord member-join trigger
Drag an
erlc_when_discord_event block onto the canvas. In the EVENT dropdown on the block, select discord_member_join. This block fires once every time a new user joins your Discord server.3
Read the new member's Discord user ID
Attach an
erlc_discord_event_value block below the trigger. Set its FIELD to DiscordUserId. This block outputs the raw snowflake ID of the member who just joined — you’ll use it to mention them in the message.4
Build a mention string
Attach an
erlc_discord_mention_user block and connect the output of your erlc_discord_event_value block into its USER_ID input slot. This converts the raw ID into a Discord mention (<@123456789>).5
Send the welcome message
Attach an
erlc_bot_send_message block. Set CHANNEL_ID to your welcome channel’s ID (replace <resource-id> with the real value) and wire the mention block into the MESSAGE input. You can combine additional text with an erlc_join_values block — for example: "Welcome to the server, " + mention + "! 🎉".Basic welcome — block JSON
The JSON below represents the complete basic automation. Paste it into File → Import Blocks in Studio, then replace<resource-id> with your actual welcome channel ID.
Part 2: Auto-assign a Member role (optional)
After the welcome message is sent, you can chain anerlc_bot_add_role block to automatically give the new member a role.
1
Add the role block
Attach an
erlc_bot_add_role block directly after your erlc_bot_send_message block in the chain.2
Set the user and role
- Wire a second
erlc_discord_event_valueblock (FIELD:DiscordUserId) into the USER_ID input. - Set ROLE_ID to the ID of your “Member” role (replace
<resource-id>with the real role ID).
Part 3: Send a welcome DM (optional)
A private DM is a great place to share server rules, a getting-started guide, or a link to your ERLC community resources.1
Add the DM block
Attach an
erlc_bot_dm_user block after the role block (or after the send-message block if you skipped Part 2).2
Configure the DM
- Wire an
erlc_discord_event_value(FIELD:DiscordUserId) into the USER_ID input. - Connect an
erlc_text_valueblock into the MESSAGE input with your DM text, for example:"Hey! 👋 Welcome to the server. Check out #rules and #getting-started to get oriented."
DMs can fail if the new member has Allow direct messages from server members turned off in their Discord Privacy Settings. This will not crash your automation — the block simply skips silently.
Full automation overview
Once all three parts are wired together, your block chain looks like this:Moderation Automation
Auto-timeout high-wanted players and log mod actions.
Slash Commands
Build custom slash commands like /serverinfo and /kick.