Skip to main content

Run Triggered Workflows on a Schedule

This recipe demonstrates how to use a Scheduled Workflow to execute your existing Triggered Workflows at specific times or intervals. This is particularly useful when you want to run a Triggered Workflow during specific business hours or apply it to existing tickets.

Overview

Running Triggered Workflows on a schedule helps you:

  • Execute workflows that are normally event-driven at specific times (e.g., morning dispatch routines)
  • Apply newly created Triggered Workflows to existing tickets in your PSA
  • Batch process tickets during optimal business hours
  • Ensure critical workflows run even if tickets weren't created during business hours

Prerequisites

Existing Triggered Workflow

You must have an existing Triggered Workflow that you want to run on a schedule. This workflow should be designed to process individual tickets and should be properly configured and tested.

How It Works

This approach uses a Scheduled Workflow that:

  1. Finds the tickets you want to process using filters
  2. Uses the "Trigger Another Workflow" action to execute your existing Triggered Workflow for each found ticket
  3. Processes tickets individually, just as if they had triggered the workflow naturally

The target Triggered Workflow runs exactly as designed, but instead of waiting for ticket events, it's initiated by the Scheduled Workflow.

Workflow: Schedule Your Triggered Workflow

Basic Configuration

  1. Type: Scheduled
  2. Schedule: Set according to your needs (e.g., "Every day at 8:00 AM" or "Every 1 hour")
  3. Filter Tickets: Define which tickets should be processed
  4. Trigger Another Workflow - Execute your existing Triggered Workflow for each found ticket

Detailed Setup

Step 1: Create the Scheduled Workflow

  • Name: "Scheduled [Your Triggered Workflow Name]" (e.g., "Scheduled Ticket Dispatch")
  • Type: Scheduled
  • Schedule: Configure based on your use case:
    • Daily Dispatch: Every day at 8:00 AM
    • Hourly Processing: Every 1 hour during business hours
    • One-time Application: Use "Run Now" for immediate execution

Step 2: Configure Ticket Filters

Set up filters to find the tickets you want your Triggered Workflow to process. Examples:

For Daily Dispatch:

  • Status.Name = "New" AND
  • AssignedResource.ID is null

For Applying to Existing Tickets:

  • Board.Name = "Help Desk" AND
  • # Days since Ticket was Created ≤ 7

Step 3: Add the "Trigger Another Workflow" Action

Action: Trigger Another Workflow

  • workflow_id_to_trigger: Pick the existing Triggered Workflow
  • bypass_filter_ticket_conditions:
    • Set to True if you want the Scheduled Workflow's filters to be the only criteria
    • Set to False if you want the Triggered Workflow's own filters to also apply
Choosing bypass_filter_ticket_conditions
  • Use True (default) when your Scheduled Workflow already filters tickets precisely
  • Use False when you want both the Scheduled Workflow filters AND the Triggered Workflow's filters to apply (double filtering)

Use Cases

Use Case 1: Morning Dispatch Routine

Scenario: Your "Ticket Dispatch" Triggered Workflow only runs during business hours (9 AM - 5 PM), but tickets created overnight need to be dispatched first thing in the morning.

Solution:

  1. Scheduled Workflow: "Morning Dispatch Routine"
  2. Schedule: Every day at 8:00 AM
  3. Filter: Unassigned tickets created in the last 24 hours
  4. Action: Trigger your existing "Ticket Dispatch" workflow
  5. Result: All overnight tickets get dispatched before the workday begins

Use Case 2: Apply New Workflow to Existing Tickets

Scenario: You've created a new "Enhanced Triage" Triggered Workflow and want to apply it to tickets created in the past week.

Solution:

  1. Scheduled Workflow: "Apply Enhanced Triage to Recent Tickets"
  2. Schedule: Use "Run Now" for immediate one-time execution
  3. Filter: Tickets created in the last 7 days that haven't been triaged
  4. Action: Trigger your new "Enhanced Triage" workflow
  5. Result: All recent tickets get processed with your new workflow logic

Use Case 3: Batch Processing During Off-Peak Hours

Scenario: Your "Ticket Analysis" workflow is resource-intensive, so you want to run it during off-peak hours for better performance.

Solution:

  1. Scheduled Workflow: "Nightly Ticket Analysis"
  2. Schedule: Every day at 11:00 PM
  3. Filter: Tickets updated today that need analysis
  4. Action: Trigger your "Ticket Analysis" workflow
  5. Result: Analysis runs during low-traffic hours without impacting daytime performance

Best Practices

Planning and Testing

  • Test First: Always test your Triggered Workflow manually before scheduling it
  • Start Small: Begin with a limited set of tickets to verify the behavior
  • Use "Run Now": Test your Scheduled Workflow using "Run Now" before setting a regular schedule

Filtering Strategy

  • Precise Filters: Use specific filters to avoid processing inappropriate tickets
  • Time Boundaries: Include time-based filters to prevent reprocessing the same tickets
  • Status Checks: Filter by ticket status to ensure tickets are in the right state for processing

Monitoring and Maintenance

  • Event History: Regularly check the Event History for both the Scheduled and Triggered workflows
  • Adjust Timing: Fine-tune schedules based on ticket volume and processing time
  • Review Outcomes: Monitor the results to ensure the scheduled execution meets your goals

Communication and Documentation

  • Clear Naming: Use descriptive names that clearly indicate the scheduled nature (e.g., "Scheduled - Morning Dispatch")
  • Document Dependencies: Keep track of which Scheduled Workflows depend on which Triggered Workflows
Pro Tip

Use this approach to gradually roll out new Triggered Workflows by first testing them on historical tickets using a one-time "Run Now" scheduled execution.