Scale your operations with high-performance, block-based workflows that handle fulfillment automatically.
The Aranly Automation Engine is a decoded, block-based orchestrator designed to replace standard system behaviors with custom logic. Whether you need to send a custom Telegram alert, sync order data to an external CRM, or build complex multi-step fulfillment chains, the Automation Engine provides the power and flexibility to do it all at scale.
Ultra-low latency execution backed by Redis caching and Edge computing.
Built-in idempotency, automatic retries, and comprehensive error logging.
Seamlessly toggle between standard system behavior and custom workflows.
Real-time monitoring and encrypted snapshots of every workflow execution step.
Automation Mode is a global setting that dictates how Aranly handles order events. When enabled, it suppresses standard system actions (like default emails) and routes all events exclusively through your active workflows.
Safety Verification
To prevent accidental delivery gaps, Aranly will warn you if you attempt to enable Automation Mode without at least one active workflow matching your order events.
Workflows are constructed using Blocks. There are two main types of blocks:
Internal events like new orders or customer registrations that start a workflow.
Receive data from external platforms (Shopify, Etsy, Stripe) to trigger custom fulfillment.
Tasks performed by the engine: sending emails, firing webhooks, or generating links.
Smart Tags allow you to inject dynamic data from triggers or previous steps into your action configurations.
When working with grouped triggers (like Order Created (Grouped)), you have multiple items in a single event. Use these advanced helpers to access them.
Access a specific item in the list using its position (starting at zero). We support both the standard "Bracket" notation and our older "Dot" notation.
Option A: Bracket Notation (Recommended)
Option B: Dot Notation (Legacy)
Both options grab the name of the very first product in the list.
The .map() helper generates a summary list of all items, joining each item with a newline.
Standard Bullet List:
Column Style (Using \\n escape sequence):
The .join() helper works exactly like map, but joins items with a comma and space instead of a newline. Perfect for email subject lines!
Comma-Separated Names:
Output: Product A, Product B, Product C
You can use special escape sequences inside your templates to control spacing, especially useful in single-line input fields.
Example with Blank Lines (Double \\n):
Output: Name and Link on separate lines, with a blank line before the next product.
For Webhook or Grouped triggers, you can access the entire raw payload or specific nested properties using the json. namespace.
Raw Payload (String)
Deep JSON Access
IMPORTANT: Always use the singular item. inside the map function, regardless of the list name. For example, even if the list is called response, you must still refer to its properties as item.name.
External APIs often return complex data. You can either "drill down" to a specific value or loop through a nested list.
The JSON Data Structure:
Option A: Direct Access (No Map)
Grabs exactly one specific email address ([email protected]).
Option B: List All (With Map)
Prints every response in the list, each on a new line.
If your list contains simple values (like tags or category names) instead of objects, use the standalone item keyword.
The Simple List:
The Universal Tag:
Our Generic Webhook Trigger allows you to integrate with any external service. Configuration is 100% flexible, meaning you don't need to wait for us to "build a connector" for your specific platform.
When you create a Webhook Workflow, the system generates a unique, private URL for you. Copy this URL into your platform's Webhook settings (e.g., Shopify Notifications or Etsy API).
Security is mandatory. We verify every request using HMAC SHA-256 signatures to ensure the data actually came from your platform.
X-Shopify-Hmac-Sha256).Incoming data is automatically mapped into the json. namespace. This means you can use any property from the external payload in your action configurations immediately.
Incoming JSON
{
"order": {
"customer": {
"name": "Jane Doe"
}
}
}Resulting Tag
Output: Jane Doe
Logic blocks allow you to transform data or control the flow of your workflow based on specific conditions.
Use this block to find a specific entry in a list (like a specific answer in a questionnaire) and extract a value for use in later steps.
Configuration
{{ trigger.data.personalization }}question_id101user_responseTip for Simple Lists: If your list is just an array of strings (e.g. ["Red", "Blue"]), leave the Lookup Key and Extract Key blank to match against and return the value itself.
The Stop-If block allows you to halt a workflow before it reaches sensitive actions if certain conditions aren't met.
Reliability is at the core of the Automation Engine. Our multi-layered approach ensures your fulfillment never breaks silently.
Every workflow run generates a comprehensive audit trail. You can inspect exactly which tags were resolved and what response was received from external APIs. High security is maintained via encrypted state snapshots.
To prevent duplicate fulfillment (e.g., if Zapier sends the same webhook twice), the engine uses high-speed Redis-backed guards. We check a unique fingerprint of every event before starting a workflow.
If a service like your Email Provider goes down, the engine won't just quit. It will retry the step up to 5 times. Persistent failures are moved to the Dead Letter Queue (DLQ) for manual review and re-run.