Birthdays
-
Reactivations due to inactivity
-
Promotional windows
-
Temporary bonuses
-
Rules that change according to the time of year
This is where Omniwallet starts to behave like a real business rules engine, not just a points system.
Workflow Objective
Execute actions only if a specific temporal condition is met.
Real examples:
-
Apply a bonus only during a campaign
-
Give extra points if the customer purchases on their birthday
-
Penalize or modify benefits if X days have passed without a purchase
Key concepts we will use
Before diving into steps, let's clarify important concepts:
Common date fields
Depending on the trigger, we can work with:
-
created_at(transaction date) -
customer.created_at(customer signup) -
customer.birthday(birthday) -
Calculated dates within the workflow
Step 1 – Create the workflow
-
Go to Workflows
-
Create a new one
-
Suggested name:
“Date Conditional Bonus”
Step 2 – Select trigger
We will use one of these two, depending on the case:
Option A – Added Points
Ideal for campaigns linked to purchases.
Option B – Customer Created
Ideal for welcome or seniority actions.
For this article, we will use:
👉 Added Points
Step 3 – Date Operations
Add a new step:
🧩 Date Operations
This block allows:
-
Compare dates
-
Add or subtract days
-
Extract day, month, or year
-
Normalize dates for comparisons
Example 1 – Bonus only in a time window
Practical case
Apply extra points only during a campaign (e.g., Black Friday).
How to set it up
-
Add Condition
-
Value 1:
created_at -
Operator:
Greater than or equal to -
Value 2:
2025-11-24
Add a second requirement:
-
created_at≤2025-11-30
➡️ Only if both conditions are met, the workflow continues.
Example 2 – Birthday bonus
Practical case
Give a special multiplier if the purchase is made on the customer's birthday.
Key steps
-
Use Date Operations
-
Extract:
-
Day of
created_at -
Day of
customer.birthday
-
-
Compare both values
If they match:
-
Action: Multiply points
-
Example: x2
💡 Tip:
Do not compare the year, only day and month.
Example 3 – Reactivation due to inactivity
Practical case
Give extra points if the customer has not purchased in over 60 days.
How to do it
-
Use Transaction Query
-
Get the last purchase date
-
Use Date Operations:
-
Current date – last purchase
-
-
Condition:
-
Difference ≥ 60 days
-
If met:
-
Add extra points
-
Or apply special multiplier
Common error control
❌ Compare dates as text
❌ Not normalizing formats
❌ Using fixed dates when they should be dynamic
✔ Always use date blocks
✔ Test with real data
✔ Review the calculation result before the action
Real use cases
This type of workflow is ideal for:
-
Seasonal campaigns
-
Automatic actions without manual intervention
-
Reactivation of dormant customers
-
VIP programs based on seniority
-
Well-controlled “surprise” bonuses
Best practices
✔ Always document the time window
✔ Use clear names in workflows
✔ Test before activating
✔ Deactivate expired workflows