At a Glance
| Type | Triggered by | Best for |
|---|---|---|
| Help desk | Help desk agent | Self-service requests from anyone in the org |
| Team-only | Team members | Internal operations and sensitive tasks |
| Scheduled | Time schedule | Reports, audits, and recurring maintenance |
| Webhook-triggered | External HTTP POST | Integrations with external systems |
| Event-triggered | Serval events | Automated responses to ticket or access changes |
| Access provisioning | Access requests | Granting application access |
| Access deprovisioning | Access requests | Removing application access |
| Custom approval | Approval steps | Dynamic approval logic |
Help Desk Workflows
Help desk workflows are available to anyone in your organization through the help desk agent. When a user submits a request via Slack, Teams, or the Serval web app, the agent matches their request to available help desk workflows. Characteristics:- Visible to the help desk agent
- Can be triggered by any user in the organization
- Appear in Help Desk Mode and Silent Mode channels
- Password resets
- Software installation requests
- PTO submissions
- Equipment troubleshooting
- General IT support requests
How users trigger help desk workflows
- Via chat — Request the workflow through Slack or Teams DM with the help desk agent
- In app.serval.com — Click the “Run” button on the workflow
- During tickets — Agents can run workflows while resolving tickets
Team-Only Workflows
Team-only workflows are restricted to members of your Serval team. They don’t appear to the help desk agent when handling requests from users outside your team. Characteristics:- Only visible to team members
- Triggered manually or via Team Only Mode channels
- Hidden from org-wide help desk requests
- User onboarding and offboarding
- Security audits and compliance checks
- Administrative operations
- Sensitive data handling
- Internal team processes
How users trigger team-only workflows
- Team Only Mode channels — Message in a connected team-only Slack/Teams channel
- In app.serval.com — Click the “Run” button on the workflow
- During tickets — Team agents can run workflows while resolving tickets
Scheduled Workflows
Scheduled workflows run automatically on a recurring schedule using cron expressions. They execute without user input at the configured time. Characteristics:- Triggered by cron schedule
- Run in a specific timezone
- Execute without user input (unless configured with defaults)
- Daily/weekly reports
- Compliance audits
- Data synchronization
- Cleanup and maintenance tasks
- SLA monitoring and alerts
Setting up a schedule
1
Create a scheduled workflow
Select “Scheduled” as the workflow type when creating
2
Configure the schedule
Set the frequency using preset options (daily, weekly, monthly) or custom cron expressions
3
Set timezone
Select the timezone for schedule evaluation
4
Save and publish
Publish the workflow to activate the schedule
Common schedules
| Schedule | Cron Expression | Description |
|---|---|---|
| Daily at 9am | 0 9 * * * | Every day at 9:00 AM |
| Weekly Monday 9am | 0 9 * * 1 | Every Monday at 9:00 AM |
| Monthly 1st at midnight | 0 0 1 * * | First day of each month |
| Weekdays at 6pm | 0 18 * * 1-5 | Monday-Friday at 6:00 PM |
| Every hour | 0 * * * * | On the hour, every hour |
Scheduled workflows run in the timezone you configure. Make sure to set the correct timezone for your team’s location.
Webhook-Triggered Workflows
Webhook-triggered workflows run when an external system sends an HTTP POST request to the workflow’s unique webhook URL. This enables integration with any system that supports webhooks. Characteristics:- Triggered by HTTP POST to a unique URL
- Receives payload data from the external system
- Runs immediately when webhook is received
- Responding to events in external systems
- Integrating with tools that don’t have native Serval integrations
- Building event-driven automation pipelines
- Processing form submissions or alerts
Setting up a webhook trigger
1
Create a webhook-triggered workflow
Select “Webhook-triggered” as the workflow type when creating
2
Copy the webhook URL
After publishing, copy the unique webhook URL from the workflow settings
3
Configure the external system
Set up the external system to POST to your webhook URL when the triggering event occurs
4
(Optional) Configure authentication
Add a webhook secret for request verification
External alerts
Respond to alerts from monitoring tools like Datadog or PagerDuty
Form submissions
Process submissions from external forms or portals
Third-party events
React to events from systems without native Serval integrations
CI/CD pipelines
Trigger workflows from deployment or build events
Event-Triggered Workflows
Event-triggered workflows run automatically when specific events occur within Serval—like a ticket being created, access being granted, or a workflow completing. Characteristics:- Triggered by internal Serval events
- Run automatically without user action
- Can filter by event type and conditions
- Auto-tagging tickets based on content
- Sending notifications when access is granted
- Escalating tickets that match certain criteria
- Triggering follow-up actions after workflows complete
Available event types
| Event | Description |
|---|---|
| Ticket created | A new ticket is submitted |
| Ticket updated | A ticket’s status, labels, or details change |
| Access granted | A user receives access to an application |
| Access revoked | A user’s access is removed |
| Workflow completed | Another workflow finishes execution |
Setting up event triggers
1
Create an event-triggered workflow
Select “Event-triggered” as the workflow type when creating
2
Select event type
Choose which Serval event should trigger the workflow
3
Define conditions (optional)
Filter to specific tickets, labels, or criteria
4
Save and publish
Publish to activate the trigger
Access Provisioning Workflows
Access provisioning workflows grant users access to applications and resources. They’re used by the access management system when processing access requests. Characteristics:- Triggered by approved access requests
- Receive user and resource information as inputs
- Execute the steps needed to grant access
- Adding users to application groups
- Granting role-based access
- Creating accounts in third-party systems
- Configuring permissions
Access provisioning workflows are configured in Access Management, not the standard Workflows page. See Access Provisioning for details.
Access Deprovisioning Workflows
Access deprovisioning workflows remove users from applications and resources. They run when access expires, is revoked, or when a user is offboarded. Characteristics:- Triggered by access revocation or expiration
- Receive user and resource information as inputs
- Execute the steps needed to remove access
- Removing users from application groups
- Revoking role-based access
- Disabling or deleting accounts
- Cleaning up permissions
Access deprovisioning workflows are configured in Access Management, not the standard Workflows page. See Access Provisioning for details.
Custom Approval Workflows
Custom approval workflows dynamically determine who should approve a request and whether to auto-approve or auto-deny. They run as part of approval steps in other workflows or access requests. Characteristics:- Triggered when an approval decision is needed
- Return approval decision: approve, deny, or route to specific approvers
- Can access request context to make decisions
- Auto-approving low-risk requests
- Auto-denying requests that violate policy
- Routing approvals based on request attributes
- Implementing complex approval logic
Choosing the Right Type
Who should be able to trigger this workflow?
Who should be able to trigger this workflow?
- Anyone in the org → Help desk workflow
- Only team members → Team-only workflow
- External systems → Webhook-triggered workflow
- No one (automatic) → Scheduled or event-triggered workflow
When should this workflow run?
When should this workflow run?
- When a user asks → Help desk or team-only workflow
- On a schedule → Scheduled workflow
- When something happens in another system → Webhook-triggered workflow
- When something happens in Serval → Event-triggered workflow
What does this workflow do?
What does this workflow do?
- Grants access to an application → Access provisioning workflow
- Removes access from an application → Access deprovisioning workflow
- Decides who should approve a request → Custom approval workflow
- Everything else → Help desk, team-only, scheduled, or event-triggered
Best Practices
Test before enabling
Run manual tests before activating automatic triggers
Monitor new workflows
Watch newly configured workflows closely for the first few days
Use appropriate scope
Match execution scope to workflow type—event-triggered may need org-wide scope
Document trigger logic
Include trigger conditions in workflow descriptions for clarity

