Get all members of a Discord server with a specific role
Ready for 3.0What this workflow does
This workflow has 14 nodes and runs manually, when you click “Execute workflow” (plus 1 other trigger). Along the way it connects Google Sheets and Discord.
How it runs
Trigger: Manually, when you click “Execute workflow” (plus 1 other trigger).
- Setup: Edit this to get started (Edit Fields (Set)): sets 3 fields: Role ID, Google Sheets URL, Discord ID
- Get ID (Google Sheets): uses Google Sheets
- Check if we have an ID (If): checks a condition and branches into true / false
- Get next 100 Members after last ID (Discord): work with member
- Get First 100 Members (Discord): work with member
- Merge: merges the data from its input branches
- Check if we have more members left (If): checks a condition and branches into true / false
- Filter: keeps only the items that match a condition
- Delete ID (Google Sheets): delete
- Send Response (Respond to Webhook): sends the response back to the webhook caller
…plus 1 more step. See the full node list below.
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (10)
- Manual Trigger
n8n-nodes-base.manualTrigger - Google Sheets
n8n-nodes-base.googleSheets - Merge
n8n-nodes-base.merge - If
n8n-nodes-base.if - No Operation, do nothing
n8n-nodes-base.noOp - Filter
n8n-nodes-base.filter - Discord
n8n-nodes-base.discord - Edit Fields (Set)
n8n-nodes-base.set - Webhook
n8n-nodes-base.webhook - Respond to Webhook
n8n-nodes-base.respondToWebhook
From the author
Use Case This workflow retrieves all members of a Discord server or guild who have a specific role. Due to limitations in the Discord API, it only returns a limited number of users per call. To overcome this, the workflow uses Google Sheets to track which…