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 |
| 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
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.