Syntax
Permissions
Permissions
Permissions in Keep Workflow Engine define who can execute a workflow manually.
They allow you to restrict access to workflows based on user roles or specific email addresses, ensuring that only authorized users can trigger sensitive workflows.
Currently, permissions can only be edited directly in the workflow YAML file. The workflow builder UI does not support editing permissions at this time.
General Structure
Permissions are defined at the top level of a workflow YAML file using the permissions
field, which accepts a list of roles and/or email addresses.
How Permissions Work
When a workflow has permissions defined:
- Admin users can always run the workflow regardless of the permissions list
- Non-admin users can only run the workflow if:
- Their role is explicitly listed in the permissions
- OR their email address is explicitly listed in the permissions
- If the
permissions
field is empty or not defined, any user with thewrite:workflows
permission can run the workflow
Supported Role Types
Keep supports the following role types that can be used in the permissions list:
admin
: Administrator users with full system accessnoc
: Network Operations Center users with read-only accesswebhook
: API access for webhook integrationsworkflowrunner
: Special role for running workflows via API
Examples
Restricting to Admin Users Only
Allowing Specific Users
Combining Roles and Individual Users
Best Practices
- Use permissions for workflows that have significant impact on systems or trigger sensitive operations
- Consider using role-based permissions (like
admin
ornoc
) for groups of users with similar responsibilities - List individual email addresses only for exceptions or when very specific access control is needed
- Review workflow permissions regularly as part of security audits
- Document which workflows have restricted permissions in your internal documentation