Permissions & limits
OAuth scopes Pinguin requests and product limits to be aware of.
Bot OAuth scopes
Pinguin requests the following scopes during installation:
| Scope | Purpose |
|---|---|
| channels:read | List and read public channels |
| groups:read | List and read private channels |
| channels:join | Auto-join public channels for broadcasts and prefix matching |
| channels:history | Read thread replies for analytics and engagement log |
| groups:history | Same for private channels |
| chat:write | Post and update messages |
| chat:write.customize | Send as yourself or a custom Profile (username + icon) |
| users:read | Resolve user names for DMs, analytics, and join/leave alerts |
| files:read | Download CSV uploads for audience list import |
| files:write | Send CSV exports via DM |
| reactions:read | Reaction analytics and engagement log |
| commands | /broadcast and /sendmessage slash commands |
| im:write | Direct messages to users |
Bot events
Pinguin subscribes to these events:
- app_home_opened — render the Home tab
- reaction_added — engagement tracking
- message.channels / message.groups — thread reply tracking
- member_joined_channel / member_left_channel — join & leave alerts
Product limits
| Limit | Value |
|---|---|
| Internal broadcast name | 80 characters |
| CTA buttons per message | 5 (1 primary max) |
| Audience list size | 500 channels or people |
| Edit broadcast in place | 100 channels or fewer |
| Full inline analytics | 20 channels or fewer |
| Inline reactions-only analytics | 50 channels or fewer |