Skip to main content

Permissions

Atomic gives fine grained control of the permissions assigned to team members, so you can configure them to match your organization’s roles.

Permissions overview

Workbench team members can be assigned to one or more groups. Each group has access to roles. Each Role gives access to specific resources. We’ll cover what each of these different levels of access are in detail below, so you can configure your account to best suit your organization.

By default a new Atomic organization comes with three roles (Owner, Admin, and Editor), each with default permission levels outlined in the Permissions for default roles table.

Resource

There are many different resource types in the Atomic Workbench which Workbench members can interact with.

Each resource type has up to three permissions, which specify the actions that can be taken by the member for that resource:

  1. View
  2. Edit
  3. Admin

Some resources only offer a limited set of actions, for example 'Activity log' can only be viewed.

See the Permissions resources section for a description of each different resource and the access available.

Role

A role is a collection of one or more permissions. For example, a custom role called "Card editor" could have the permission to edit the card templates resource as well as the permission to view the theme resource.

Create a role

  1. In the Workbench Members area, select the ‘Role’ tab, select ‘Create new role’
  2. Give the new role a name and description
  3. Select each resources and its corresponding permission level
  4. Select ‘Create role’

Update a role

  1. Select the role from the Workbench Members area.
  2. Make the required changes (add or remove permissions to a resource, and/or add additional resources)
  3. Click Update role button in top right corner.
  4. Refresh the page when you're making changes to permissions for your own logged in workbench user for the changes to take effect.

Groups

A group is a collection of roles, based on particular job functions. Groups can be scoped to all or only specific environments. By default a group is assigned the role for all environments in the organization. For example, a “Card creator” role and a “Theme viewer” role.

Create a new group:

  1. In the Workbench Members area, select the ‘Groups’ tab, then ‘Create new group’
  2. Give the new group a name and description
  3. Select the Role(s) the group will have access to
  4. (optional) Select the specific environments. See the comment below about resources being scoped to the environment or organization level.
  5. Select ‘Create group’
Resources are scoped to the environment or the organization level

Some permissions can not be limited to an environment level, because their corresponding resource has an organization-wide scope.
Read more in the Scoping of resources section to understand what this means for your setup.

Configure permissions for your team

Team members

Workbench members can be given memberships to one or more groups. Based on those groups they’ll be granted permission to access the specified resources and environments.

workbench user group assignment permission required

Only workbench members with permissions to the ‘Workbench user group assignment’ resource can add or remove workbench members from groups.

Invite a new workbench member

  1. Click the 'manage' button in the bottom left corner and select Workbench members.
  2. Click ‘invite new member’.
  3. Add their first and last name, email address, then select the Group(s) they will have access to.
  4. Select ‘Invite’ to send them an invite via email.

Disable a workbench member

  1. Click your avatar in the bottom left corner > Workbench members
  2. Select the overflow menu for the team member you wish to disable, and select ‘Disable’.

Scoping of resources

Some resources can be limited to one or more environments, other resources have permissions that are set on an organization level. The list of permissions that can only be applied to the whole organization are listed in the Organization-scoped workbench resources section of the Permissions resources guide.

To limit access of permissions to certain environments only, you need to explicitly select the environment names the group does have access to. If no environment has been selected, the group has access to all environments.

Any groups that are limited to specific environments will not have access to any of the resources that are controlled by organization-level permissions. To grant workbench members access to an organization-level resource, make them part of a role and a group that has explicit access to (one or more of these) organization-level permissions, ensure the group is scoped to allow access to all environments.

Example of an environment and organization scoped permission group

A group "analysts" needs:

  • access to the analytics exporter for 1 (test) environment
  • access to the audit log (an organization level resource)

The way to achieve this, is by creating 2 roles and assigning them to 2 groups. It's good practice to use the same name for a role and its corresponding group.

  • the "analytics - test" role has view permission to the analytics exporter resource. The "analytics - test" group is scoped to only allow access to the "test" environment within the organization
  • the "audit log" role has access to the audit log and the "audit log" group has access to all environments

Permissions resources

This document contains a list of each unique resource type, with a description of each, and the permissions available for that resource.

Each resource type has up to three permissions available, which specify the actions that can be taken by the member for that resource. The acronym CRUD in the table below stands for Create, Read, Update and Delete permissions. Edit permissions include view permissions, and admin permissions include edit permissions.

Workbench resources

ResourceDescriptionView PermissionEdit PermissionAdmin Permission
API authentication controlsUsed to authenticate your requests to the Atomic APIList credentialsCRUDn/a
Analytics exporterAccess to view real-time analytics and download batched analytics setsDownload & view analyticsn/an/a
Audit logLog of workbench members’ actions within your organization
(org scoped)
View own audit log entriesn/aView others' audit log entries
Card instanceAn instance of a card template sent to a customerView log and analyticsSend cards from workbenchCancel sent cards (preview feature)
Card templateUsed to view, send, edit and publish card templatesView card templates and media, send test cardsEdit draft card templates and mediaPublish and archive card templates
ConnectorsConfiguration for incoming webhook connectorsViewCRUDn/a
ContainerConfigures card streams within your appViewCRUDn/a
CustomerA user of your web and mobile applicationsn/an/aCRUD
EnvironmentEach environment within an organization is a separate space, with separate configurationView environment nameCreate and edit nameDeactivate and edit custom fields
NotificationsPush notification configuration details for each SDK platformView config detailsCRUDn/a
OrganizationAtomic customers are typically given one organization. Each organization contains multiple environments
(org scoped)
View name and preferencesEdit name and preferencesn/a
Override card approvalEnables a member to approve on behalf of any approval groupn/an/aApprove on behalf of any approval group
Request debuggerLog of the last 100 failed client API requests
(org scoped)
View logn/an/a
RoleAn identity with specific permissions. A role can be assigned to 1 or more groups, giving a set of permissions to all members of that group
(org scoped)
View all roles and their permissionsCreate and edit rolesn/a
SDK API keyNeeded for SDK integrations, and to configure allowed JWT issuersView API keyCRUDn/a
SegmentSubset of customers with common characteristicsView which filters are appliedCreate and edit segmentsn/a
StreamA collection of cards which can be assigned to 1 or more stream containers in your appsViewCRUDn/a
TagTags are available when filtering customersViewCRUD (inc user tags)n/a
ThemeTheming configuration for stream containersViewCRUDn/a
Webhook credentialsAuthentication credentials for webhook requestsViewCRUDn/a
Webhook request logStatus and metadata for outgoing webhook requestsView metadatan/an/a
Webhook subscriptionRequests made from Atomic to external servicesViewCRUDn/a
Workbench memberA member of the workbench
(org scoped)
ViewCRUDn/a
Workbench member groupControls workbench member groups and their associated roles
(org scoped)
ViewCRUDn/a
Workbench member group assignmentControls assignment of workbench members to groups
(org scoped)
ViewCRUDn/a

Example permission sets

Card approval

People who only need to approve cards can be given a view permission on the card template resource - no other permissions are needed.

Insights dashboard

People who need access to the insights dashboard need view permissions on the card instance as well as the card template resources.

Organization-scoped workbench resources

Some resources are scoped to the organization level as opposed to the environment level. This means that permissions to these resources can't be limited to an environment.

These resources are:

  • audit log
  • organization
  • request debugger
  • role
  • workbench member
  • workbench member group
  • workbench member group assignment

See the Scoping of resources section for a further explanation and a worked example of how to create a group with environment-level scoped resource permissions as well as organization-level scoped resource permissions.

Permissions for default roles

By default your Atomic account comes with three groups: Owner, Admin, and Editor.

This table describes the default permissions each of these roles has:

ResourceOwnerAdminEditor
API authentication controlsEditEdit
Analytics exporterViewView
Card instanceEditEditView
Card templateAdminAdminAdmin
ContainerEditEditView
CustomerAdminAdmin
EnvironmentAdminAdminView
NotificationsEditEdit
OrganizationEditEditView
Override card approvalAdminAdminn/a
Request debuggerEditEdit
RoleEditEdit
SDK API keyEditEdit
SegmentEditEdit
StreamEditEditView
TagEditEditView
ThemeEditEdit
Webhook credentialEditEdit
Webhook request logViewView
Webhook subscriptionEditEdit
Workbench memberEditEdit
Workbench member groupEditEdit
Workbench member group assignmentEditEdit