| Developers Guide

| Developers Guide

  • Docs
  • API
  • Help
  • Blog

›Pro Edition

Notes on Versions Released

  • Migrating & Updating
  • Updating to New Releases

Getting Started

  • Introduction
  • Installation
  • Quick Start

Main Concepts

  • Overview
  • Glossary
  • CMS
  • Dialog Engine
  • Actions & Hooks
  • Memory
  • Modules
  • NLU
  • Emulator

Advanced Guides

  • Debug
  • Configuration
  • Authentication Methods
  • Custom Module
  • Performances
  • Hosting
  • Version Control
  • Development Pipelines
  • Clustering

Channels

  • Website Embedding
  • Facebook Messenger
  • Telegram
  • Microsoft Teams
  • Converse API
  • Slack
  • Smooch (Sunshine Conversations)
  • FAQ

Tutorials

  • Deploying a cluster on Digital Ocean
  • How to act on an intent
  • Acting Proactively
  • Using Carousel Postback
  • How to use Slot Skill
  • How to use Call API Skill
  • Calling an API in a Custom Action
  • Shortlinks
  • Connecting your bot with your existing backend
  • Supported databases
  • Timeouts
  • Human in the loop
  • Jump To
  • Inter-bot Communication / Delegation
  • Contextual FAQ
  • Authenticate a user against a 3rd Party OAuth
  • Listening for file changes
  • Using a 3rd party NLU
  • Using the UiPath integration for Botpress

Pro Edition

  • About
  • Licensing
  • Configuring RBAC
  • Monitoring & Alerting
  • Bot Pipelines
  • Internationalization

Configuring RBAC

Note: This is a Botpress Pro feature

RBAC (Role-Based Access Control) allows you to control what collaborators have access to.

By default, Botpress ships with three roles (administrator, developer and content editor), but you can change those and create new ones.

Assigning a role to a collaborator

From the Administration dashboard, navigate to the "Collaborators" tab and click the Action button on any collaborator to change its role to an existing role.

RBAC

Adding a new role

In the <data>/global/workspaces.json file, you'll find the roles property, which is an array of all the roles you can assign to the collaborators on your workspace. You can add, remove and edit roles by modifying this array directly.

Rules

Rules are executed sequentially from first to last, and the permission is checked at the end of applying all the rules.

For example the following rules:

  1. +r-w on *
  2. +w on bot.content
  3. -r on bot.flows

Means the user will see everything but the flows, and won't be able to change anything but content.

Operations (op)

opdescription
+rGrant read
-rRevoke read
+wGrant write
-wRevoke write

Available Resources (res)

resdescription
__
bot.*All bots inside the workspace
bot.logsThe runtime logs
bot.notificationsNotifications
bot.skillsThe flow skills
bot.mediaFile uploads (via the CMS)
bot.contentThe CMS elements (what the bot says)
bot.flowsThe flow editor
bot.informationInformation about the bot
__
admin.*The admin dashboard (/admin)
admin.usersAdmin collaborators
admin.rolesAssigning roles ro collaborators
admin.botsCreating bots and changing their information
__
module.*Global access to all modules
module.MODULE_ID

For now, modules only support a single top-level resource and one operation (write). The resource path is defined as module.MODULE_ID, for example module.hitl or module.code-editor.

Example

{
  "id": "hitl",
  "name": "Human in the Loop",
  "description": "Can view and respond to users by using the HITL module",
  "rules": [
    {
      "res": "*",
      "op": "+r"
    },
    {
      "res": "module.hitl",
      "op": "+r+w"
    }
  ]
}
← LicensingMonitoring & Alerting →
  • Assigning a role to a collaborator
  • Adding a new role
    • Rules
    • Operations (op)
    • Available Resources (res)
    • Example
| Developers Guide
Docs
Getting Started (or other categories)Guides (or other categories)API Reference (or other categories)
Community
User ShowcaseStack OverflowProject ChatTwitter
More
BlogGitHubStar
Facebook Open Source
Copyright © 2021 Botpress Inc.