Event-Driven Automation
Workflow Engine
Automate any operation with Resgrid's powerful Workflow Engine. Subscribe to system events, transform data with flexible templates, and execute actions like sending emails, SMS, calling APIs, uploading files, and posting to Slack, Teams, or Discord—all without writing code.
⚡ Workflow: New Call Notification
Trigger: Call Created
──────────────────────────
Step 1 → Send Email
┌──────────────────────────┐
│ To: chief@dept.org │
│ Subject: New Call #401 │
│ Body: Structure Fire at │
│ 123 Main St │
└──────────────────────────┘
Step 2 → Post to Slack
┌──────────────────────────┐
│ #dispatch: 🚒 Call #401 │
│ Structure Fire │
│ Priority: Emergency │
└──────────────────────────┘
Step 3 → Call API (POST)
┌───────── ─────────────────┐
│ → https://cad.county.gov │
│ ✓ 201 Created │
└──────────────────────────┘
✓ Workflow completed (3/3)Powerful Automation, Zero Code
The Workflow Engine turns Resgrid into a fully programmable platform. Connect your department's events to any downstream system with a visual, no-code configuration experience.
Event-Driven Triggers
Subscribe to over 25 system events including new calls, status changes, personnel updates, form submissions, and more. Workflows fire automatically when events occur — no polling, no delays.
Template Transformation
Use the powerful Scriban templating language to transform event data into any format you need. Access 100+ template variables with conditional logic, loops, and date formatting built in.
Multi-Channel Actions
Send emails via your own SMTP server, SMS through Twilio, post messages to Slack, Microsoft Teams, or Discord, call any REST API, and upload files to FTP, SFTP, S3, Azure Blob, Box, or Dropbox.
Automatic Retries
Configurable retry policies with exponential backoff ensure transient failures don't break your workflows. Set per-workflow retry counts and backoff intervals to match your reliability needs.
Full Audit Trail
Every workflow execution is recorded with per-step logs, rendered output, action results, timestamps, and error details. Monitor health with success rates, durations, and failure analysis.
Secure Credential Storage
Store SMTP, API, cloud, and messaging credentials with AES-256 department-scoped encryption. Secrets are never exposed in logs or API responses — write-only, encrypted at rest.
How It Works
Set up a workflow in minutes. No code, no complex integrations—just point, configure, and automate.
Step 01
Choose a Trigger Event
Select from 28 system events — calls created, personnel status changes, form submissions, and more. Your workflow activates automatically whenever the event fires.
Step 02
Design Your Template
Use the built-in Scriban template editor with syntax highlighting and 100+ available variables. Preview your output with sample data before going live.
Step 03
Configure Actions & Credentials
Pick one or more actions per workflow — email, SMS, API call, file upload, or chat message. Store credentials once with AES-256 encryption and reuse across workflows.
Step 04
Test & Activate
Test-trigger your workflow with sample data to verify the output. Enable it, and every matching event will execute your pipeline instantly via the async queue.
28 Event Triggers
Every important event in your department can kick off a workflow. Subscribe to exactly the events you care about and let automation do the rest.
Calls & Dispatch
Call Created
A new call or dispatch is created
Call Updated
An existing call is modified
Call Closed
A call is closed or resolved
Personnel
Staffing Changed
Personnel staffing level changes
Status Changed
Personnel action status changes
User Created
A new user joins the department
Assigned to Group
User assigned to a group or station
Role Changed
User role added or removed
Certification Expiring
A certification is nearing its expiry date
Units & Resources
Unit Status Changed
A unit's availability status changes
Unit Added
A new unit or apparatus is created
Resource Order Added
A mutual aid resource order is created
Scheduling & Shifts
Shift Created
A new shift is created
Shift Updated
An existing shift is modified
Shift Trade Requested
A shift swap or trade is requested
Shift Trade Filled
A shift trade is accepted and filled
Calendar Event Added
A calendar event is created
Calendar Event Updated
A calendar event is modified
Content & Records
Document Added
A document is uploaded
Note Added
A note is created
Log Added
A log entry is created
Form Submitted
A custom form is submitted
Message Sent
A new message is sent
Training & Inventory
Training Added
Training material is created
Training Updated
Training material is modified
Inventory Adjusted
Inventory quantity changes
Group Added
A department group is created
Group Updated
A department group is modified
Flexible Scriban Templates
Transform event data into any format. Use variables, conditionals, loops, and date formatting to craft the perfect output for emails, API payloads, Slack messages, or file content.
Example Template
Subject: 🚨 New Call #{{ call.number }} — {{ call.name }}
Hi {{ user.full_name }},
A new {{ call.priority_text }} priority call has been
created for {{ department.name }}:
Incident: {{ call.name }}
Nature: {{ call.nature }}
Address: {{ call.address }}
Logged: {{ call.logged_on | date.to_string "%m/%d/%Y %H:%M" }}
{% if call.is_critical -%}
⚠️ This call is marked CRITICAL
{% end -%}
— Resgrid Workflow Engine100+ Available Variables
Department
Triggering User
Timestamp
Call (dispatch)
Unit Status
Personnel
Variables are automatically populated from the triggering event. Common variables (department, user, timestamp) are available in every workflow. Event-specific variables are added based on the trigger type.
15 Built-In Actions
Each workflow step executes an action. Chain multiple steps together to build sophisticated multi-channel notification and integration pipelines.
Communication
Send Email
Send HTML or plain text emails via your own SMTP server. Configure To, CC, Subject, and use templates for the body.
Send SMS
Send text messages via Twilio to one or more phone numbers with templated message content.
Messaging Platforms
Microsoft Teams
Post messages or Adaptive Cards to Teams channels via incoming webhooks. Include titles, theme colors, and rich formatting.
Slack
Post messages to Slack channels via incoming webhooks with mrkdwn formatting, channel overrides, and custom usernames.
Discord
Send messages to Discord channels via webhooks with support for rich embed objects, avatar overrides, and username customization.
API Integration
API GET
Make HTTP GET requests to external APIs with custom headers and Bearer, Basic, or API key authentication.
API POST
Send templated JSON or form data to REST APIs via HTTP POST with full header and auth control.
API PUT / DELETE
Update or remove resources via HTTP PUT and DELETE requests to any external endpoint.
File & Cloud Storage
FTP / SFTP Upload
Upload generated files to FTP or SFTP servers with configurable remote paths and filename templates.
Amazon S3
Upload files to AWS S3 buckets with configurable keys, paths, and content types using your own credentials.
Azure Blob Storage
Upload files to Azure Blob Storage containers with auto-creation support and custom content types.
Box
Upload files to Box folders using JWT server-to-server authentication for unattended, long-lived access.
Dropbox
Upload files to Dropbox with OAuth2 refresh token support and configurable write modes (overwrite or add).