Overview
A bot is a dummy project user with 'Developer' role permissions used for running services on the platform, including DDOE application or user scripts. It functions as a regular user with all associated permissions and is recorded as the annotation creator if a service function creates an annotation.
Organization Bot (Org Bot)
The Org Bot is a system-managed bot that is automatically created when an organization is created.
Creation
When an organization is created, the platform automatically creates:
{Organization Name} System Bot
The Org Bot is:
Added to the System Project by default
Automatically added as a member of every project within the organization
Purpose
The Org Bot is used for:
Running organization-level services
Executing applications and automation scripts
Accessing resources across multiple projects (when permissions allow)
Permissions
Typically has Developer permissions.
Must be a member of projects whose resources it needs to access.
Must belong to the organization associated with the application.
Bot Attributes
Has a
projectIdattribute.The
projectIdis set to the organization's System Project ID.Exposed as a read-only field through the API.
Restrictions
The following actions are not allowed:
Remove the Org Bot
Change the Org Bot's organization role
Add the Org Bot to groups
Delete the Org Bot
System Project Bot
The System Project Bot is the project bot automatically generated for the System Project.
Creation
Created automatically when the System Project is created.
Purpose
Used to:
Execute applications and services configured within the System Project
Run pipelines, models, and other automated processes
Permissions
Typically has Developer permissions within the System Project.
Functions like any other project bot.
Bot Attributes
Has a
projectIdattribute.projectIdis set to the System Project's ID.Shares the same
projectIdvalue as the Org Bot.
Restrictions
The following actions are not allowed:
Remove the System Project Bot from the project
Delete the System Project Bot
Change it to belong to another project
Standard Project Bot
A Standard Project Bot is automatically created for every non-system project.
Creation
When a project is created. Users cannot manually create project bots.
Purpose
Project Bots are used to:
Execute pipelines
Run models
Run applications
Execute automation workflows
When a service creates annotations, the assigned bot is recorded as the creator.
Permissions
Typically assigned the Developer role.
Can access only projects where it is a member.
Must be added to additional projects if cross-project data access is required.
Service Assignment Rules
A project can have multiple services.
Each service can be assigned exactly one bot.
The assigned bot can be changed if needed.
Bot Attributes
Has a
projectIdattribute.projectIdis permanently linked to the project where the bot was created.
Restrictions
The following actions are not allowed:
Manually create additional project bots
Delete project bots
Add bots from other projects as project members
Change the bot's active organization
Membership Limitations
Each project is limited to:
Its own Project Bot
The Organization Bot
Bots originating from other projects cannot be added to the project.
View and Copy Service Bot ID
To view and copy the bot user email of an existing service:
Go to the CloudOps > Services tab.
Select the service.
In the General Details section on the right-side panel of the service, click on the copy icon next to the Service Bot.
Set Bot for a Service
The bot being assigned to a service must be a user to the Project and a member of the Organization owning the project.
service = package.deploy(
service_name='my-service',
bot='botmanemai.dataloop.ai'
)Change a Bot via UI
Open the CloudOps > Services tab.
Search for the service and select it.
In the right-side panel, click Service Actions.
Select the Edit Service Settings from the list.
Hover over the Execution Configuration section and click on the Edit Configuration.
Select a new bot user email ID from the list and click Save Changes.