Discord Integration¶
Connecting PulseRoster to Your Discord Server¶
PulseRoster integrates with Discord for authentication, role synchronization, and bot commands.
Linking Discord Server¶
Setup Steps¶
- Go to Settings > Discord
- Enter your Discord Guild ID
- Add the PulseRoster bot to your server
- Configure role mappings
Finding Your Guild ID¶
- Enable Developer Mode in Discord (Settings > Advanced)
- Right-click your server name
- Click Copy Server ID
Adding the Bot¶
- Click the Add Bot link in settings
- Select your Discord server
- Grant required permissions
- Complete authorization
Required Bot Permissions¶
| Permission | Purpose |
|---|---|
| Manage Roles | Add/remove roles from members |
| View Channels | Access server information |
| Read Messages | Process commands |
| Send Messages | Respond to commands |
Role Mapping¶
Map PulseRoster entities to Discord roles.
Mappable Entities¶
| Entity Type | Description |
|---|---|
| Ranks | Department ranks |
| Subdivisions | Specialized units |
| Certifications | Member qualifications |
| Community Roles | Title/badge roles |
Setting Up Mappings¶
- Go to Settings > Discord
- Under each entity type, click Add Mapping
- Select the PulseRoster entity
- Select the Discord role
- Save
Example Mappings¶
| PulseRoster | Discord Role |
|---|---|
| Sergeant (Rank) | @LSPD Sergeant |
| SWAT (Subdivision) | @SWAT Unit |
| FTO (Certification) | @Field Training Officer |
Automatic Sync¶
When enabled, PulseRoster automatically syncs roles.
Sync Triggers¶
| Event | Action |
|---|---|
| Promotion | Add new rank role, remove old |
| Demotion | Add new rank role, remove old |
| Department Transfer | Remove old department roles, add new ones |
| Termination | Remove all mapped roles |
| Certification awarded | Add certification role |
| Certification revoked | Remove certification role |
| Subdivision joined | Add subdivision role |
| Subdivision left | Remove subdivision role |
Enabling Auto-Sync¶
- Go to Settings > Discord
- Enable Automatic Role Sync
- Save
Discord Notifications¶
Send automatic notifications to Discord channels when events occur in PulseRoster.
Tier limits
Discord notifications require a paid plan: Standard can configure up to 5 event types; Professional can configure all event types. Free-tier communities have no event notifications.
Setting Up Notifications¶
- Go to Settings > Notifications
- Click Sync Channels to load your Discord channels
- Configure events individually, or use a category's Apply to All to set one channel for every event in that category:
| Setting | Description |
|---|---|
| Event Type | What triggers the notification |
| Channel | Discord channel to send to |
| Role Mention | Optional role to ping |
| Department Filter | Limit to specific departments |
Available Events¶
| Event | Description |
|---|---|
| Member Joined | New member added to community |
| Member Left | Member removed or terminated |
| Promotion | Member rank increased |
| Demotion | Member rank decreased |
| Department Transfer | Member transferred between departments |
| LOA Requested | Member submits an LOA request |
| LOA Approved | LOA request approved (leave begins) |
| LOA Denied | LOA request denied |
| LOA Returned | Member returns from leave |
| Disciplinary Issued | Disciplinary action issued |
| Disciplinary Appeal | Member submits an appeal |
| Disciplinary Resolved | Disciplinary action resolved/closed |
| Certification Awarded | Certification granted |
| Certification Revoked | Certification revoked |
| Commendation | Award given |
| Transfer Requested | Member requests a department transfer |
| Transfer Source Approved | Source department approves the request |
| Transfer Denied | Transfer request denied |
Notification Format¶
Notifications are sent as rich embeds with:
- Member name and avatar
- Event details
- Timestamp
- Link to view in PulseRoster
Manual Sync¶
Force a complete role synchronization.
Full Sync¶
- Go to Settings > Discord
- Click Sync All Roles
- Wait for completion
This will:
- Check all members
- Add missing roles
- Remove incorrect roles
- Report any errors
Individual Sync¶
Sync a single member:
- Go to member profile
- Click Sync Discord Roles
- Roles update immediately
Discord Bot Commands¶
If your community uses the PulseRoster Discord bot, members can run these slash commands. Each command responds with a link to the relevant page in the web app:
Available Commands¶
| Command | Description |
|---|---|
/roster |
Link to a department roster |
/lookup |
Link to a member's profile |
/activity |
Link to activity / time logs |
/loa |
Link to submit or view an LOA |
Troubleshooting¶
Roles Not Syncing¶
- Verify bot is in server: Check server member list
- Check bot permissions: Needs "Manage Roles"
- Check role hierarchy: Bot role must be above roles it manages
- Try manual sync: Use the sync button in settings
Common Issues¶
| Issue | Solution |
|---|---|
| "Missing Permissions" | Move bot role higher in hierarchy |
| "Role not found" | Verify role still exists in Discord |
| "User not found" | Member may have left Discord server |
| "Rate limited" | Wait a few minutes and try again |
Bot Role Hierarchy¶
The PulseRoster bot can only manage roles below its own role. Ensure:
- Go to Discord Server Settings > Roles
- Drag the PulseRoster bot role above all roles it needs to manage
- Save changes
Multiple Discord Mappings¶
You can map multiple PulseRoster entities to the same Discord role.
Example¶
Map both "Sergeant" and "Senior Officer" ranks to the same "@Senior" Discord role.
Behavior¶
- Role added when member has any mapped entity
- Role removed only when member has no mapped entities
Quick Reference¶
Discord URLs¶
| Page | URL |
|---|---|
| Discord Settings | /c/[slug]/settings/discord |
Required Permissions¶
| Action | Permission |
|---|---|
| Configure Discord | community.settings |
| Manual sync | community.settings |
Need help? Join our Discord Community for support.