Workflows
Audience: Logistics Manager
What Are Workflows?
Workflows in pyck are automated processes that help customize and control warehouse operations. Think of workflows as a series of predefined steps that automatically execute when certain events happen in your warehouse.
How Workflows Work
Event Triggers: Workflows start when specific events occur in your warehouse system. For example:
A new order arrives
Inventory falls below a threshold
A shipment is received
A picking task is completed
Automated Actions: Once triggered, workflows follow a predefined sequence of activities without requiring manual intervention.
Customization: Each warehouse can have its own set of workflows tailored to its specific processes and requirements.
Benefits of Using Workflows
Consistency: Ensure warehouse processes follow the same steps every time
Efficiency: Automate repetitive tasks to save time and reduce errors
Adaptability: Easily modify your warehouse processes without changing the core system
Visibility: Track and monitor process execution across your facility
Durability: Workflows continue running even if there are system failures
Reliability: Tasks are automatically retried if they fail, ensuring completion
Common Workflow Examples
Receiving Process: Automatically update inventory when goods arrive and notify relevant departments
Order Fulfillment: Guide picking, packing, and shipping activities in the most efficient sequence
Inventory Management: Trigger reordering when stock levels drop below defined thresholds
Quality Control: Route items through inspection processes based on predefined rules
Dynamic App Behavior
One of the most powerful features of pyck workflows is their ability to change the behavior of mobile apps and devices used in your warehouse. This means:
Adaptive User Interfaces: Workflows can modify what screens and options appear on warehouse devices
Context-Aware Instructions: Workers receive different instructions based on the specific circumstances
Real-Time Updates: Apps can adapt immediately to changing conditions in the warehouse
Custom Process Flows: Create unique step-by-step guides for different products, customers, or situations
For example, a picking workflow could change a mobile app to show different picking instructions based on the item type, storage location, or even the experience level of the warehouse worker. The technical details of how this works will be covered in separate documentation, but the important thing to understand is that workflows give you the power to customize app behavior through your business processes.
How to Implement Workflows
pyck uses Business Process Model and Notation (BPMN) as a common language between logistics managers and technical teams. This visual approach allows you to:
Design processes visually: Create flowcharts showing the steps in your warehouse operations
Communicate effectively: Share your process requirements with technical teams using standard notation
Review implementations: Ensure the technical implementation matches your operational needs
Your technical team will convert these BPMN models into actual code using Temporal.io, a powerful workflow engine that ensures reliability and durability. The workflow code can be written in various programming languages to match your organization's technology stack.
Reference Implementation
For a practical example of how workflows are implemented in pyck, your technical team can refer to our reference implementation at: https://github.com/pyck-ai/pyck-customer-template
This template provides examples of common warehouse workflows that can be customized to your specific requirements.
Activating or Deactivating a Workflow
What is the Active flag?
Active flag?Purpose: A simple on/off switch to enable or disable a workflow.
Where to set it: When you create or update a workflow definition include the
activefield.
How it works?
When
activeistrue, the system will consider this workflow for triggering.When
activeisfalse, the workflow remains in the catalog but will never be launched, even if an event matches its filter.
Filtering Events with FilterRule
FilterRuleWhat is the FilterRule ?
FilterRule ?Purpose: A conditional expression that decides whether an incoming event should trigger the workflow.
Syntax: Uses FEEL (Friendly Enough Expression Language), which supports logical operators, comparisons, and built-in functions.
How to write a rule
Reference event fields by name: if your event data includes a field
name, usenamein the expression.Built-in functions: such as
starts with(text, prefix),contains(text, substring), numeric comparisons (>,<,=, etc.).Logical operators: combine conditions with
and,or,not.
Example: Trigger only when item names start with "item"
Workflow name:
TemporalWorkflowPrintItem_ItemCreateFilter rule:
starts with(name, "item")
What happens at runtime:
A client runs the
CreateInventoryItemmutationThe system emits an event
InventoryItem.createwith thiseventData.Workflow-service checks all active workflows listening to create-item events.
For
TemporalWorkflowPrintItem_ItemCreate, it evaluatesstarts with(name, "item"):If
name = "item_123", expression is true -> the workflow is launched.If
name = "product_456", expression is false -> the workflow is skipped.
With Active and FilterRule, users have full control over when and how the workflows are triggered.
Last updated
Was this helpful?
