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 |
| Staff Roles | Permission-based roles |
| 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.
Setting Up Notifications¶
- Go to Settings > Discord > Notifications
- Click Add Notification
- Configure the notification:
| 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 |
| LOA Approved | Leave request approved |
| LOA Started | Member goes on leave |
| LOA Ended | Member returns from leave |
| Disciplinary Action | Discipline issued |
| Disciplinary Appeal | Member submits an appeal for a disciplinary action |
| Department Transfer | Member transferred between departments |
| Transfer Requested | Member requests a department transfer |
| Transfer Source Approved | Source department approves transfer request |
| Transfer Denied | Transfer request denied by source or target department |
| Commendation | Award given |
| Certification Awarded | Certification granted |
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:
Available Commands¶
| Command | Description |
|---|---|
/roster |
View department roster |
/lookup @user |
View member profile |
/activity |
Check activity status |
/loa |
Check LOA status |
/promote |
Promote member (with permissions) |
Command Permissions¶
Bot commands respect PulseRoster permissions:
- Only users with appropriate roles can use admin commands
- Promotion commands require department command staff
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.