Skip to main content
A role in Xobito is a named bundle of permissions. Every staff member has one role. There is no built-in hierarchy — two roles can’t “inherit” from each other. You build each role independently by ticking the permissions it should include.
The workspace owner (the user with the is_admin flag) bypasses the role system entirely — they have every permission, always. Roles only matter for other staff.

How roles work

1

Create a role

Name it, tick the permissions, save.
2

Assign staff to it

Open a staff member’s profile and pick the role.
3

Edit it any time

Ticking or unticking a permission applies immediately to everyone with that role.

The default role

Workspaces ship with exactly one auto-created role:
RolePermissions
Agenttenant.chat.view only
That’s the minimum — an Agent can open the Live Chat inbox. Anything else needs to be added by ticking more permissions, or by creating additional roles.
There is no pre-seeded “Admin” role. To give someone admin-like access, create a role and tick every permission. Don’t use the is_admin flag on regular staff — that flag is reserved for the workspace owner.

Create a role

Go to Team → Roles and click Create Role.
Roles list page
1

Name it

For example “Sales Manager” or “Read-only Auditor”.
2

Tick permissions

Tick each permission you want this role to have. The full list is below.
3

Save

The role is immediately available when inviting or editing staff.

Edit or delete a role

  • Edit — ticking or unticking any permission applies immediately to every staff member with the role.
  • Delete — only possible if no staff member currently has that role. Reassign those staff first.
Revoking a permission takes effect on the affected user’s next page load. If they’re mid-task when you change the role, that specific action may fail partway through. Communicate major changes.

Super-admin bypass

Xobito has one special behaviour to keep in mind. Any user with the is_admin flag on their account (by default, just the workspace owner) passes every permission check, no matter which role they hold.
  • You do not need to build an “Everything” role for the workspace owner — they already have access.
  • Do not set is_admin on regular staff. It’s the equivalent of giving them root access.

Permission reference

There are 77 tenant-scoped permissions in total, grouped by resource. Tick the ones a role should have.
Permission names use the format tenant.{resource}.{action}. All of them apply to the current workspace only — a permission granted here never leaks to any other workspace.

Connect Account (3)

PermissionAllows
tenant.connect_account.viewView the WhatsApp connection page
tenant.connect_account.connectStart the Meta Business connection flow
tenant.connect_account.disconnectDisconnect the WhatsApp Business Account

Contacts (6)

PermissionAllows
tenant.contact.viewSee every contact in the workspace
tenant.contact.view_ownSee only contacts assigned to this user
tenant.contact.createAdd new contacts manually
tenant.contact.editEdit any contact’s fields
tenant.contact.deletePermanently delete a contact
tenant.contact.bulk_importImport contacts from a CSV

Templates (5)

PermissionAllows
tenant.template.viewSee the template list
tenant.template.load_templateLoad an existing template into the editor for use
tenant.template.createSubmit a new template to Meta for approval
tenant.template.editEdit a template before submission
tenant.template.deleteDelete a template from the workspace

Campaigns (6)

PermissionAllows
tenant.campaigns.viewSee the campaign list
tenant.campaigns.createCreate new campaigns
tenant.campaigns.editEdit an existing campaign
tenant.campaigns.deleteDelete a campaign
tenant.campaigns.show_campaignSee detailed results for a campaign
tenant.bulk_campaigns.sendTrigger the bulk send for a campaign

Template Bots (5)

PermissionAllows
tenant.template_bot.viewSee the Template Bot list
tenant.template_bot.createCreate new Template Bots
tenant.template_bot.editEdit existing Template Bots
tenant.template_bot.deleteDelete Template Bots
tenant.template_bot.cloneClone an existing Template Bot

Message Bots (5)

PermissionAllows
tenant.message_bot.viewSee the Message Bot list
tenant.message_bot.createCreate new Message Bots
tenant.message_bot.editEdit existing Message Bots
tenant.message_bot.deleteDelete Message Bots
tenant.message_bot.cloneClone an existing Message Bot

Bot Flows (4)

PermissionAllows
tenant.bot_flow.viewSee the Bot Flow list and open flows read-only
tenant.bot_flow.createCreate new flows
tenant.bot_flow.editEdit flows and toggle active state
tenant.bot_flow.deleteDelete flows

Sources (4)

PermissionAllows
tenant.source.viewView the list of lead sources
tenant.source.createCreate new sources
tenant.source.editEdit existing sources
tenant.source.deleteDelete sources

Statuses (4)

PermissionAllows
tenant.status.viewView the list of lead statuses
tenant.status.createCreate new statuses
tenant.status.editEdit existing statuses
tenant.status.deleteDelete statuses

Groups (4)

PermissionAllows
tenant.group.viewView contact groups
tenant.group.createCreate new groups
tenant.group.editEdit existing groups
tenant.group.deleteDelete groups

Custom Fields (4)

PermissionAllows
tenant.custom_fields.viewView the custom field list
tenant.custom_fields.createCreate new custom fields
tenant.custom_fields.editEdit existing custom fields
tenant.custom_fields.deleteDelete custom fields

AI Prompts (4)

PermissionAllows
tenant.ai_prompt.viewSee the AI prompt list
tenant.ai_prompt.createCreate new AI prompts
tenant.ai_prompt.editEdit existing AI prompts
tenant.ai_prompt.deleteDelete AI prompts

Canned Replies (4)

PermissionAllows
tenant.canned_reply.viewSee the canned reply list
tenant.canned_reply.createCreate new canned replies
tenant.canned_reply.editEdit existing canned replies
tenant.canned_reply.deleteDelete canned replies

Chat (3)

PermissionAllows
tenant.chat.viewOpen the Live Chat inbox
tenant.chat.read_onlyRead conversations without being able to send
tenant.chat.deleteDelete conversations

Activity Log (2)

PermissionAllows
tenant.activity_log.viewRead the Activity Log
tenant.activity_log.deletePurge Activity Log entries

WhatsApp Settings (2)

PermissionAllows
tenant.whatsmark_settings.viewView WhatsApp-specific settings
tenant.whatsmark_settings.editChange WhatsApp-specific settings

System Settings (2)

PermissionAllows
tenant.system_settings.viewView workspace-wide system settings
tenant.system_settings.editEdit workspace-wide system settings

Staff (4)

PermissionAllows
tenant.staff.viewSee the staff list
tenant.staff.createInvite new staff members
tenant.staff.editEdit existing staff members
tenant.staff.deleteRemove staff members

Roles (4)

PermissionAllows
tenant.role.viewSee the role list
tenant.role.createCreate new roles
tenant.role.editEdit existing roles
tenant.role.deleteDelete roles

Email Templates (2)

PermissionAllows
tenant.email_template.viewView the list of outgoing email templates
tenant.email_template.editEdit outgoing email templates

Sensible role presets

Xobito doesn’t ship any of these — they’re just patterns you can build yourself.
Just tenant.chat.view. Lets the teammate answer conversations and nothing else.
Agent, plus tenant.contact.view, tenant.contact.edit, tenant.canned_reply.view, tenant.template.view. Can look up a contact, use canned replies, and see templates.
Contact view/create/edit/bulk_import, templates view/create/edit/load_template, campaigns view/create/edit/show_campaign/bulk_campaigns.send, groups all four, statuses/sources all four, custom fields view.
Everything except: tenant.staff.delete, tenant.role.delete, tenant.whatsmark_settings.edit, tenant.system_settings.edit, tenant.connect_account.disconnect, tenant.activity_log.delete. Keeps the dangerous things for the workspace owner.
Every *.view permission, plus tenant.activity_log.view. Can see everything, can’t change anything.

Permissions that need extra thought

A handful of permissions are essentially “keys to the kingdom” because they let the holder grant themselves more access. Give them only to your most trusted teammates:
  • tenant.role.create, tenant.role.edit — can invent a role with any permission set
  • tenant.staff.create, tenant.staff.edit — can reassign roles for any user
  • tenant.connect_account.disconnect — can sever your Meta Business connection
  • tenant.whatsmark_settings.edit, tenant.system_settings.edit — can change core workspace behaviour
  • tenant.activity_log.delete — can erase the audit trail

Staff Members

Invite, edit, and remove staff; assign roles.

Activity Log

Audit trail of actions taken in your workspace.