What triggers and actions can do
React to ticket events
Respond to Slack activity
Manage user access
Create external issues
Control workflow logic
Integrate with APIs
Triggers
Every workflow needs exactly one trigger that listens for specific conditions and provides context to the rest of the workflow.Ravenna Triggers
Ticket Triggers
Ticket Created
Ticket Created
- Auto-assign tickets based on form
- Set initial tags for categorization
- Send welcome messages to requesters
- Notify team members of new tickets
- Route tickets to specialized teams
Form Submitted
Form Submitted
- Fires when a ticket is created with form data
- Fires when form field values are updated on existing tickets
- Can filter to specific forms by form selection
- Route tickets based on submitted form type
- Auto-assign tickets from specific request forms
- Trigger approval workflows for access request forms
- Send notifications when critical forms are submitted
- Apply specific tags based on form type
- Integrate form submissions with external systems
Ticket Archived
Ticket Archived
- Clean up related Slack channels
- Send final status notifications
- Update external tracking systems
- Archive related documentation
Ticket Assigned
Ticket Assigned
- Notify assignees of new assignments
- Update workload tracking systems
- Send assignment confirmation messages
- Trigger assignee-specific workflows
Ticket Status Changed
Ticket Status Changed
- Send notifications on status changes
- Update external systems when tickets are resolved
- Trigger follow-up workflows based on status
- Track ticket lifecycle metrics
Ticket Tags Changed
Ticket Tags Changed
Ticket Approval
Ticket Approval
- Continue workflows after approval
- Notify stakeholders of decisions
- Provision access after approval
- Handle declined requests appropriately
Task Triggers
Task Completed
Task Completed
ticketId- The ID of the ticket containing the tasktaskItemId- The ID of the completed task itemcurrentTask- Information about the task that was just completednextTask- Information about the next task in the sequence (if any)currentTaskAssigneeIds- User IDs of assignees on the completed tasknextTaskAssigneeIds- User IDs of assignees on the next taskhasMoreTasks- Boolean indicating if there are more tasks remaining
- Notify next task assignees when their task becomes active
- Send completion notifications to stakeholders
- Update external systems when process steps finish
- Trigger approval workflows for completed tasks
- Create seamless task handoffs between team members
- Escalate if tasks are completed outside SLA windows
Message Triggers
Message Sent
Message Sent
- Analyze message sentiment
- Notify team members of updates
- Trigger automated responses
- Track conversation patterns
Agent Triggers
Agent Trigger
Agent Trigger
@Workflow Name in an agent rule, the agent can execute that workflow based on user requests or specific scenarios.How it works:- Create a workflow with an Agent Trigger
- Optionally configure a form to collect required information
- Reference the workflow in your agent’s rules using
@Workflow Name - The agent will trigger the workflow when conditions in the rule are met
- Form (optional): Select a form to collect structured information before the workflow runs. If configured, users will see a pre-filled form to review and submit. Without a form, the workflow executes immediately.
- Agents: Select which agents have access to trigger this workflow
- Automate employee onboarding processes triggered by agent conversations
- Provision software access based on agent-identified needs
- Create approval workflows for requests classified by agents
- Trigger multi-step processes without manual intervention
- Execute complex automations based on conversational context
@ mentions to grant access.Scheduled Triggers
Cron
Cron
- Schedule recurring workflows
- Automate periodic tasks
- Run time-based processes
- Trigger scheduled reports
Slack Triggers
Reaction Triggers
Reaction Added
Reaction Added
- Create tickets from flagged messages
- Escalate issues based on reaction types
- Track team sentiment on messages
- Trigger workflows from emoji-based voting
Reaction Removed
Reaction Removed
- Undo actions when reactions removed
- Track reaction changes
- Update workflow state
- Monitor sentiment changes
Member Triggers
User Joined Channel
User Joined Channel
- Send welcome messages
- Assign onboarding tasks
- Notify team of new members
- Trigger channel-specific workflows
User Left Channel
User Left Channel
- Clean up channel permissions
- Notify team of departures
- Update access controls
- Track channel membership changes
User Joined Team
User Joined Team
- Trigger onboarding workflows
- Provision initial access
- Send welcome messages
- Create onboarding tickets
Actions
Actions perform work in your workflows. Actions use information from triggers and previous actions to make dynamic decisions and process data.Ticket Actions
Create Ticket
Create Ticket
- Create follow-up tickets for multi-step processes
- Generate tickets from Slack messages
- Auto-create tickets based on external events
- Split complex requests into multiple tickets
Update Ticket
Update Ticket
- Escalate tickets by changing priority
- Add processing or status tags
- Update custom fields based on workflow logic
- Modify ticket properties dynamically
Set Status
Set Status
- Auto-resolve tickets meeting specific criteria
- Move tickets through workflow stages
- Add resolution notes automatically
- Notify assignees of status changes
Set Priority
Set Priority
- Escalate urgent issues automatically
- Adjust priorities based on SLA
- Prioritize based on ticket content
- Update priority after analysis
Add Assignee
Add Assignee
- Round-robin ticket assignment
- Assign based on expertise or tags
- Balance workload across team members
- Route tickets to specific teams
Add Followers
Add Followers
- Add managers to high-priority tickets
- Include cross-functional stakeholders
- Keep team members informed
- Notify relevant parties automatically
Add Approvers
Add Approvers
- All: Assigns everyone in the selected list as approvers. Any one of them can approve the request.
- Round Robin: Assigns one approver from the list using rotation to balance workload across the team.
- Route approvals to managers with load balancing via Round Robin
- Add all qualified approvers and let the first available person approve
- Assign approvers by department using Round Robin for fair distribution
- Reference access level assignment strategies for application access requests
Wait for Approval
Wait for Approval
- Auto: Workflow continues immediately without waiting (auto-approved by system bot)
- All: Waits for any one of the assigned approvers to respond
- Round Robin: Waits for the single assigned approver to respond
- Honors the assignment strategy set by preceding “Add Approvers” actions
- Gate access provisioning until an approver responds
- Wait for manager approval before proceeding
- Pause before resource allocation until authorized
- Reference access level assignment strategies for application requests
Add Tags
Add Tags
Move Ticket
Move Ticket
- Transfer tickets between teams
- Escalate to different departments
- Move tickets across workspaces
- Reorganize tickets based on criteria
Send CSAT
Send CSAT
- Survey after ticket resolution
- Measure service quality
- Gather user feedback
- Track satisfaction metrics
Monitor Ticket
Monitor Ticket
- Wait for status changes
- Monitor for specific updates
- Track ticket progress
- Trigger actions on conditions
Wait for Inactivity
Wait for Inactivity
- Auto-resolve tickets after inactivity period
- Close stale tickets automatically
- Send reminder messages before auto-closing
- Escalate tickets with no response
Send Message
Send Message
- Send automated updates
- Request additional information
- Share status notifications
- Provide automated responses
Check for New Messages
Check for New Messages
- Detect user responses
- Monitor for team updates
- Track conversation activity
- Trigger actions on new messages
Link Ticket
Link Ticket
ticketId- The Ravenna ticket to attach the link toname- Descriptive name for the link (e.g., “Related Jira Issue”, “Project Slack Channel”)url- The external URL to link to
isSuccess- Boolean indicating if the link was created successfullyticketLinkId- The ID of the created ticket linkticketId- The ID of the linked ticketurl- The URL that was linked
- Link to external tickets in other systems (Jira, Linear, GitHub Issues)
- Reference related Slack channels created for incidents
- Attach links to documentation or resources
- Create audit trails for external resource creation
Slack Actions
Send DM Message
Send DM Message
- Notify assignees of new tickets
- Alert managers about escalations
- Send status updates to requesters
- Deliver personalized notifications
Send Channel Message
Send Channel Message
- Announce high-priority tickets
- Share status updates with teams
- Coordinate team responses
- Broadcast important notifications
Create Ticket Thread
Create Ticket Thread
- Create dedicated ticket threads
- Organize ticket discussions
- Enable threaded collaboration
- Keep ticket conversations separate
Create Channel
Create Channel
- Create incident channels
- Establish project channels
- Set up team coordination spaces
- Automate channel creation
Update Channel
Update Channel
- Update channel topics
- Modify channel descriptions
- Change channel settings
- Maintain channel information
Archive Channel
Archive Channel
- Archive incident channels
- Clean up completed projects
- Preserve channel history
- Maintain workspace organization
Request Form Filling
Request Form Filling
- Request additional information
- Complete intake processes
- Gather required details
- Collect form responses
Okta Actions
Create User
Create User
Email- Email address for the user (used as login email)First Name- User’s first nameLast Name- User’s last name
- Automate new employee account creation during onboarding
- Provision Okta accounts from HR system triggers
- Create user accounts as part of access request workflows
- Set up contractor accounts with automated workflows
Remove User
Remove User
User IDs- One or more Ravenna user IDs to remove (supports user groups)
- Automate account removal during employee offboarding
- Clean up unused or orphaned accounts
- Remove contractor accounts after engagement ends
- Implement automated account lifecycle policies
Activate User
Activate User
User IDs- One or more Ravenna user IDs to activate (supports user groups)
- Reactivate accounts when employees return from leave
- Restore access after security review clears an account
- Re-enable contractor accounts for new engagements
- Implement automated account reactivation workflows
Deactivate User
Deactivate User
User IDs- One or more Ravenna user IDs to deactivate (supports user groups)
- Suspend access during employee offboarding
- Temporarily disable accounts for employees on extended leave
- Respond to security incidents by quickly disabling compromised accounts
- Implement automated account suspension policies
Get User
Get User
Email- Email address to search for in Okta
isSuccess- Boolean indicating if the user was found in OktauserId- The Ravenna user ID if the user was found
- Verify user exists before provisioning access
- Look up users dynamically in conditional workflows
- Check if accounts already exist before creating new ones
- Find users by email for downstream workflow actions
Add Users to Group
Add Users to Group
- Automate onboarding group assignments
- Grant team access automatically
- Provision group-based permissions
- Add users to distribution lists
Remove Users from Group
Remove Users from Group
- Revoke access during offboarding
- Update group memberships
- Remove temporary access
- Handle role changes
Add Users to Application
Add Users to Application
- Provision application access
- Automate software assignments
- Grant tool access after approval
- Assign applications during onboarding
Remove Users from Application
Remove Users from Application
- Revoke application access
- Handle application offboarding
- Remove unused assignments
- Update application access
Reset MFA/Password
Reset MFA/Password
- MFA Only: Resets all MFA authenticators, requiring re-enrollment
- Password Only: Sends forgot password email to user
- Both: Resets both MFA and password simultaneously
- Help users with lost MFA devices
- Handle security incidents requiring full credential reset
- Reset compromised authentication methods
- Automate password reset requests
- Troubleshoot MFA issues
- Handle locked account scenarios
Generate Password Reset Token
Generate Password Reset Token
- Provide direct reset links
- Integrate with custom workflows
- Handle programmatic resets
- Generate temporary access tokens
Set User Password
Set User Password
- Set initial account passwords
- Provision temporary passwords
- Automate password management
- Handle emergency access
Check User in Group
Check User in Group
- Validate access before actions
- Make conditional decisions
- Verify group memberships
- Check permission prerequisites
Google Workspace Actions
Create Group
Create Group
- Create project-specific groups automatically
- Provision team groups during onboarding
- Set up distribution lists programmatically
- Create groups for access management
Create User
Create User
Username- Will be combined with workspace domain to form the users primary emailFirst Name- User’s first nameLast Name- User’s last nameSecondary Email(optional) - Additional email address for the user
- Automate new employee account creation during onboarding
- Provision Google Workspace accounts from HR system triggers
- Create service accounts programmatically
- Set up contractor accounts with automated workflows
Check Email Availability
Check Email Availability
Workspace ID- The workspace to check inEmail- Email address to check (accepts username only or full email address)
isSuccess- Boolean indicating if the email is available (true = available, false = unavailable)reason- Explanation if email is unavailable (e.g., “Email is already in use as a primary email” or “Email is already in use as an alias”)
isSuccess field, which automatically enables if/else workflow branches:- If available (success): Proceed to create user or alias
- If unavailable (failed): Handle conflict, notify user, or try alternative email
- Verify email availability before creating Google Workspace users
- Check if email alias is available before assigning it
- Implement email conflict handling with conditional logic
- Validate requested email addresses in onboarding workflows
- Try multiple email variations until finding an available one
Create Email Alias
Create Email Alias
User- The Ravenna user to create an alias forEmail Alias- The email alias to create. Accepts either a static email address in your domain or a dynamic reference to use values from previous workflow steps.
isSuccess- Boolean indicating if the alias was created successfullyUser Email- The user’s primary email addressEmail Alias- The email alias that was created
- Create department-based aliases (e.g., support@, sales@) for individuals
- Set up role-based aliases during job changes or promotions
- Create project-specific aliases for team members
- Add branded aliases for customer-facing employees
- Dynamically create aliases using email values from form submissions or previous workflow steps
Get Group
Get Group
- Group ID, email, name, and description
- Membership settings (who can join, view membership, leave)
- Posting settings (who can post, reply-to configuration)
- Moderation settings (message and spam moderation levels)
- Discovery and visibility settings
- Collaborative inbox configuration
- Audit group settings for compliance
- Verify group configuration before changes
- Gather group information for reporting
- Check group permissions in conditional workflows
Update Group
Update Group
- Basic info (name, description)
- Membership settings (who can join, view membership, leave, contact owner)
- Posting settings (who can post, allow web posting, reply-to)
- Moderation settings (message and spam moderation levels)
- Discovery and visibility settings
- Collaborative inbox configuration
- Enforce group settings policies automatically
- Update group configurations during lifecycle events
- Modify permissions based on workflow conditions
- Standardize group settings across organization
Delete Group
Delete Group
- Remove temporary project groups after completion
- Clean up unused distribution lists
- Delete groups during team offboarding
- Manage group lifecycle automatically
List Groups
List Groups
isSuccess- Boolean indicating if the operation succeededgroupIds- Array of Google Group IDs (strings) for use in downstream workflow actions like Add Users to Group or Remove Users from Groupgroups- Array of group objects with detailed information, each containing:Group Email- The group’s email addressName- The group nameDescription- The group description
- Iterate over all groups to perform bulk operations
- Build dynamic group selection dropdowns
- Audit existing group configurations
- Generate group inventory reports
- Populate group management interfaces
- Pass group IDs to downstream workflow actions
Add Users to Group
Add Users to Group
- Automate onboarding group assignments
- Grant team access automatically
- Provision group-based permissions
- Add users to distribution lists
Remove Users from Group
Remove Users from Group
- Revoke access during offboarding
- Update group memberships
- Remove temporary access
- Handle role changes
Check User in Group
Check User in Group
- Validate access before actions
- Make conditional decisions
- Verify group memberships
- Check permission prerequisites
Reset MFA/Password
Reset MFA/Password
- MFA Only: Turns off 2-Step Verification, requiring re-enrollment
- Password Only: Forces password change at next login
- Both: Resets both MFA and password simultaneously
- Help users with lost MFA devices
- Handle security incidents requiring credential reset
- Force password changes for compromised accounts
- Reset authentication for locked accounts
- Troubleshoot MFA issues
Suspend User
Suspend User
User IDs- One or more Ravenna user IDs to suspend (supports user groups)
isSuccess- Boolean indicating if the users were suspended successfully
- Automate account suspension during employee offboarding
- Respond to security incidents by quickly disabling compromised accounts
- Temporarily deactivate accounts for employees on extended leave
- Implement automated account lifecycle policies
Restore User
Restore User
User IDs- One or more Ravenna user IDs to restore (supports user groups)
isSuccess- Boolean indicating if the users were restored successfully
- Reactivate accounts when employees return from leave
- Restore access after security review clears an account
- Re-enable contractor accounts for new engagements
- Implement automated account reactivation workflows
Incident.io Actions
Validate On-Call Membership
Validate On-Call Membership
- Verify on-call status
- Route incidents to responders
- Check escalation eligibility
- Validate incident assignments
PagerDuty Actions
Validate On-Call Membership
Validate On-Call Membership
- Verify on-call status before escalation
- Route incidents to on-call responders
- Check escalation eligibility
- Validate incident assignments based on schedules
Control Flow Actions
Wait
Wait
- Add delays between actions
- Wait for external processes
- Create timed follow-ups
- Implement timeout logic
Conditional
Conditional
- Branch workflow logic
- Filter actions by conditions
- Implement decision trees
- Create conditional paths
If / Else
If / Else
- Execute different actions
- Handle multiple scenarios
- Create alternative paths
- Implement conditional logic
Goto
Goto
- Create workflow loops
- Skip workflow steps
- Implement navigation patterns
- Jump to specific nodes
AI Actions
Summarize Ticket
Summarize Ticket
- Generate ticket summaries for handoffs
- Create executive briefings
- Summarize resolution steps
- Extract key decisions from conversations
AI Decision Maker
AI Decision Maker
- Route tickets based on content analysis
- Make priority decisions contextually
- Evaluate sentiment for escalation
- Determine appropriate next actions
Custom Prompt
Custom Prompt
- Summarize ticket context for handoffs
- Draft response messages based on ticket content
- Generate dynamic next steps from conversation history
- Analyze sentiment or urgency from messages
- Extract structured data from unstructured text
- Create custom summaries for specific audiences
Fleet Device Management Actions
Get User Hosts
Get User Hosts
- List all devices assigned to a user
- Verify device ownership before granting access
- Identify which device to target for Fleet operations
- Gather device inventory for a user
Get Host Health
Get Host Health
- Verify security compliance before access approval
- Check device health for troubleshooting
- Ensure disk encryption is enabled
- Validate MDM enrollment status
Get Host Software
Get Host Software
- Audit installed software for compliance
- Identify vulnerable applications
- Track software inventory
- Security risk assessment
Run Diagnostic Query
Run Diagnostic Query
- System information
- OS version details
- Logged in users
- Running processes
- Network interfaces
- Disk space usage
- Recent items
- Advanced device troubleshooting
- Custom system information gathering
- Security investigation queries
- Performance diagnostics
Lock Host
Lock Host
hosts- Array of hosts to lock (from Get User Hosts action)
hosts- Array of locked hosts with their unlock PINs
- Lock lost or stolen devices immediately
- Secure compromised devices during security incidents
- Enforce device security policies for non-compliant devices
- Remotely secure devices during employee offboarding
Get Disk Encryption Key
Get Disk Encryption Key
hosts- Array of hosts to retrieve encryption keys for (from Get User Hosts action)
hosts- Array of hosts with their encryption keys and the timestamp when the key was last updated
- Help users recover access to encrypted devices
- Retrieve escrowed encryption keys for device recovery
- Support disk recovery scenarios when users forget their password
Jamf Device Management Actions
Get User Computers
Get User Computers
- List all computers assigned to a user
- Verify device ownership before granting access
- Identify which computer to target for Jamf operations
- Gather device inventory for a user
Lock Computers
Lock Computers
computers- Array of computers to lock (from Get User Computers action)
computers- Array of locked computers with their unlock PINs
- Lock lost or stolen Mac devices immediately
- Secure compromised devices during security incidents
- Enforce device security policies for non-compliant devices
- Remotely secure devices during employee offboarding
Get FileVault Recovery Key
Get FileVault Recovery Key
computers- Array of computers to retrieve FileVault keys for (from Get User Computers action)
computers- Array of computers with:- FileVault recovery key
- Boot partition encryption details (partition name, FileVault state, encryption percentage)
- Recovery key validity status
- Institutional recovery key presence
- Disk encryption configuration name
- Help users recover access to encrypted Mac devices
- Retrieve escrowed FileVault keys for device recovery
- Verify FileVault encryption status on devices
- Support disk recovery scenarios when users forget their password
Linear Actions
Create Linear Issue
Create Linear Issue
- Create Linear issues from Ravenna tickets
- Mirror ticket updates to Linear workspace
- Track development work from support requests
- Sync incident reports to Linear projects
Tools Actions
HTTP Request
HTTP Request
- Integrate with third-party services
- Send data to external systems
- Fetch information from APIs
- Trigger actions in other platforms
Configuring Triggers and Actions
Use filters to ensure workflows only execute for relevant events. Test your trigger conditions with realistic data to verify they work as expected. Action configuration involves mapping data from triggers and previous actions to action inputs. The workflow builder provides tools to reference information from earlier steps. Data flows automatically between workflow steps. Information captured by triggers becomes available to actions.Best Practices
Design specific triggers
Design specific triggers
Make actions idempotent
Make actions idempotent
Test thoroughly
Test thoroughly
Use descriptive names
Use descriptive names
Document complex logic
Document complex logic