Documentation Index
Fetch the complete documentation index at: https://support.affinity.co/llms.txt
Use this file to discover all available pages before exploring further.
Reference — lookup information.
App-level scopes
| Slack scope | Description | Request reason |
|---|---|---|
| channels:join | Join public channels in a workspace | When an Affinity user configures Affinity field updates to be forwarded to a Slack channel, our Slack bot joins the selected channel so that it can send messages to it. |
| channels:read | View basic information about public channels in a workspace | Our configuration UI checks public channel privacy details to determine if the user viewing the Slack automation is allowed to view the recipient. |
| chat:write | Send messages as @Affinity | Our Slack bot needs this permission to send messages to your Slack workspace. |
| chat:write.public | Send messages to channels @Affinity isn’t a member of | This scope allows our integration to keep working in public channels even when our Slack bot is mistakenly removed from them. |
| commands | Add shortcuts and/or slash commands that people can use | This scope allows our integration to create shortcuts and message actions to create notes. |
| groups:read | View basic information about private channels that Affinity has been added to | Our configuration UI checks private channel privacy details to determine if the user viewing the Slack automation is allowed to view the recipient. |
| team:read | View the name, email domain, and icon for workspaces Affinity is connected to | Enables us to display the domain of the Slack workspace we will send a message to when a field update happens. |
| users:read | View people in a workspace | When an Affinity user configures these notifications in our app settings, we use this scope to remember basic information about their corresponding Slack user. This is necessary so that we can remember who configured each notification, and render the rest of the configuration UI from their corresponding Slack user’s perspective. |
| users:read.email | View email addresses of people in a workspace | See above. We use email address as an identifier for the “corresponding Slack user.” |
User-level scopes
| Slack scope | Description | Request reason |
|---|---|---|
| channels:read | View basic information about public channels in a workspace | Our configuration UI includes dropdowns allowing an Affinity user to choose the destination for their field update notifications in Slack. We use this scope to load the list of public channels that the user is a member of in Slack. |
| channels:write.invites | Invite members to public channels | When an Affinity user chooses to forward field update notifications to one of their public channels, we use this scope to add our Slack bot to that channel. |
| groups:read | View basic information about a user’s private channels | Our configuration UI includes dropdowns allowing an Affinity user to choose the destination for their field update notifications in Slack. We use this scope to load the list of private channels that the user is a member of in Slack. |
| groups:write.invites | Invite members to private channels | When an Affinity user chooses to forward field update notifications to one of their private channels, we use this scope to add our Slack bot to that channel. |
| users:read | View people in a workspace | Our configuration UI includes dropdowns allowing an Affinity user to choose the destination for their field update notifications in Slack. Along with public and private channels, Affinity users can elect to send notifications to individual users as DMs. We use this scope to load the list of users in the configuring user’s Slack workspace. |