👋
Member joins
guildMemberAddGUILD_MEMBER_ADDTriggerFires when a new member joins any server the bot is in.
When to use this
- →Welcome messages
- →Default role assignment
- →Logging joins to the Vault
On the canvas
This is what the trigger looks like in your bot's Triggers tab. The sparks listed are available in every node inside the linked flow.
👋Trigger
Member joins
guildMemberAddSparks in this flow
{{input.guild.id}}Your Discord server's unique ID{{input.guild.name}}Your server's name{{input.guild.memberCount}}How many members are in the server{{member.id}}The new member's Discord ID{{member.username}}Their Discord username{{member.displayName}}Their nickname in this server, or username if none{{member.name}}Their username (alias for member.username){{member.joinedAt}}When they joined (ISO timestamp)Available sparks
Use these in any piece config field inside flows triggered by this event.
| Spark | Type | Description |
|---|---|---|
{{input.guild.id}} | string | Your Discord server's unique ID |
{{input.guild.name}} | string | Your server's name |
{{input.guild.memberCount}} | string | How many members are in the server |
{{member.id}} | string | The new member's Discord ID |
{{member.username}} | string | Their Discord username |
{{member.displayName}} | string | Their nickname in this server, or username if none |
{{member.name}} | string | Their username (alias for member.username) |
{{member.joinedAt}} | string | When they joined (ISO timestamp) |
📐
In TypeScript, this would be…
Not something you need to write — Kitcord registers these listeners automatically from your Kit.
TypeScript
client.on("guildMemberAdd", (member) => {
// {{member.id}}, {{member.username}}, {{input.guild.id}}
});