← Back to challenges
GitHub Issue to Discord
3 intermediate
GitHub Discord Webhooks API
Create a workflow that monitors GitHub issues and forwards them to Discord with rich formatting. Practice webhook handling, data transformation, and API integration.
Your Challenge
Core Functionality
Your workflow must:
- Set up a Webhook Trigger node to receive GitHub issue events
- Extract issue details: title, description, labels, author, issue number
- Create a Discord embed message with proper formatting
- Send the embed to a specified Discord channel using a webhook
- Include a clickable link back to the original GitHub issue
- Display issue labels with appropriate visual formatting
Error Handling
Your workflow should:
- Validate incoming webhook payload structure
- Handle missing or optional fields gracefully (e.g., issues without labels)
- Catch and log Discord API errors (rate limits, invalid webhook)
- Return appropriate HTTP status codes to GitHub (200 for success, 500 for errors)
Edge Cases
Your workflow should handle:
- Handle issue descriptions longer than Discord's character limits (truncate appropriately)
- Process issues with no description
- Deal with special characters and markdown in issue text
- Handle issues with many labels (prevent Discord embed overflow)
Bonus Challenges (Optional)
Take it further by:
- Filter issues by specific labels before forwarding (e.g., only "bug" or "help wanted")
- Add different embed colors based on issue priority or label
- Include issue assignee information if available
- Support multiple GitHub repositories routing to different Discord channels
- Add reaction buttons or Discord interactions for issue triage
Tips & Hints
- GitHub webhooks send JSON payloads - you'll need to parse them
- Discord embeds support rich formatting with colors and fields
- Consider filtering issues by label or repository
- Use the Set node to restructure data before sending to Discord
- Test with GitHub's webhook delivery history to replay events