Export Order
Complete guide to configuring the Export Order workflow step to send orders to external systems like ERPs, warehouses, and fulfillment centers.
Overview
The Export Order workflow step sends order information to external systems like your ERP, warehouse management system, fulfillment center, or other third-party platforms. When an order reaches this workflow step, Omnium will automatically export the order data to your chosen destination.
Important to know:
- The export is awaited - Omnium waits for the export to complete before moving to the next workflow step
- The export happens immediately when the workflow step is triggered
- You get feedback on whether the export succeeded or failed
- Failed exports can either stop the workflow or just show a warning
Identifier
| Property | Value |
|---|---|
| Key | ExportOrder |
| Group | Export |
| Applicable Statuses | New, Completed, ReadyForPickup, Ship |
Step 1: Configure the Workflow Step
To add order export to your workflow, you need to configure the workflow step properties.
Minimum Required Configuration
At minimum, you must specify which connector to use:
All Available Options
| Property | Required | Type | Description | Example |
|---|---|---|---|---|
| Connector | Yes | string | The name of the export connector to use | "Webhook", "AzureServiceBus", "Dynamics365" |
| ConnectorId | No | string | Specific connector instance ID to use when multiple connectors of the same type exist. Must match the ConnectorId field in the connector configuration. | "webhook-warehouse-north" |
| RunAfterOrderIsSaved | No | boolean | Set to true if the receiving system will fetch the order from Omnium instead of receiving it in the export. This ensures the order is fully saved before export. | true or false (default: false) |
| StopOnError | No | boolean | Set to true to stop the entire workflow if export fails | true or false (default: false) |
| ErrorStatus | No | string | If export fails AND StopOnError is true, change the order status to this value | "ExportFailed" |
Example Configurations
Example 1: Simple webhook export (warnings only if it fails)
Example 2: Critical ERP export (stop workflow if it fails)
Example 3: Using a specific connector instance when multiple exist
Note: This requires a connector with ConnectorId: "webhook-warehouse-stockholm" in your tenant settings.
Step 2: Configure the Connector
After configuring the workflow step, you need to configure the connector itself in your tenant settings. The configuration depends on which export type you're using.
Available Export Types
Omnium supports several built-in export types:
| Export Type | What It Does | Best For |
|---|---|---|
| Webhook | Sends the order data via HTTP POST to a URL | External APIs, custom integrations |
| AzureServiceBus | Sends a message to Azure Service Bus queue/topic | Azure-based integrations, microservices |
| AzureStorageQueue | Sends a message to Azure Storage Queue | Simple Azure integrations, async processing |
| Custom Connectors | Pre-built integrations for specific systems | Dynamics 365, Fortnox, Shopify, etc. |
Connector Configuration Examples
All connectors are configured in Tenant Settings in the Connectors array. Each connector is a JSON object that must be added to your tenant configuration.
General Connector Structure
Common Connector Properties:
Name- Required - The connector type name (must match exactly)ConnectorId- Optional - Unique identifier for this connector instance (required when using multiple connectors of the same type)DisplayName- Optional - Friendly name shown in UIHost- URL endpoint (alternative to using Properties)BearerToken- Bearer token for authenticationUsername/Password- Basic authentication credentialsToken- Custom token authenticationProperties- Array of key-value pairs for connector-specific configurationCustomHeaders- Array of HTTP headers to include in requestsEnabledForMarkets- Restrict connector to specific marketsDisabledForMarkets- Exclude connector from specific markets
Using Multiple Connectors of the Same Type
When you have multiple connectors of the same type (e.g., multiple Webhook connectors for different warehouses), you must:
- Set a unique
ConnectorIdon each connector in your tenant settings - Reference that specific
ConnectorIdin your workflow step configuration
Example: Two Webhook connectors
Then in your workflow step, specify which one to use:
Option A: Webhook Export
What it sends: The complete order object as JSON via HTTP POST to your specified URL.
Configuration Location: Tenant Settings > Connectors
Connector JSON Configuration:
With Authentication Headers:
Alternative: Using Built-in Auth (recommended for basic/bearer auth):
Or with Basic Authentication:
Example webhook payload sent:
When to use:
- You have a custom API endpoint to receive orders
- You need real-time order notifications
- You want complete order data sent to an external system
Option B: Azure Service Bus Export
What it sends: A lightweight message containing the order ID and metadata. Your subscriber fetches the full order using Omnium's API.
Connector JSON Configuration:
Example message sent:
When to use:
- You're already using Azure Service Bus
- You have microservices that need order notifications
- Important: Set
RunAfterOrderIsSaved: truein the workflow step when using this method
Option C: Azure Storage Queue Export
What it sends: Similar to Service Bus - a lightweight message with order ID and metadata.
Connector JSON Configuration:
When to use:
- Simpler and cheaper than Service Bus
- You don't need advanced message broker features
- Important: Set
RunAfterOrderIsSaved: truein the workflow step
Note: There is a built-in 2-second delay before the message is sent.
Option D: Custom Connector (ERP/WMS/POS Systems)
Omnium includes pre-built connectors for many popular systems:
ERP Systems: Dynamics 365, Fortnox, NexStep, PowerOffice, TripleTex, Vitari
Warehouse/Fulfillment: Ongoing WMS, Ramberg WMS
E-Commerce Platforms: Shopify, Magento, JetShop, Navimage
POS Systems: Sitoo, FrontSystems, WinSilver, VisionPOS
Each connector has its own specific configuration requirements. Check the connector's documentation for details.
What Gets Exported?
The export action sends the following information:
| Information | Description |
|---|---|
| Order | The complete order object with all order lines, customer info, addresses, etc. |
| Shipment | Shipment information (if available at the time of export) |
| Properties | Any custom properties configured in the workflow step |
For Webhook exports: The entire order object is sent as JSON.
For Queue/Service Bus exports: Only a message with the order ID is sent. The receiving system must call Omnium's API to fetch the full order.
Understanding Export Behavior
When Does Export Happen?
- Export happens immediately when the workflow step executes
- The action waits for the export to complete (it's synchronous)
- Only after export completes (success or failure) does the workflow move to the next step
What Happens on Success?
- Order event is created with type "Exported"
- Any previous export errors are removed from the order
- Workflow continues to the next step
What Happens on Failure?
It depends on your StopOnError setting:
If StopOnError = false (default):
- A warning is added to the order with code
OrderExportError - Workflow continues to the next step
If StopOnError = true:
- An error is added to the order with code
OrderExportError - Workflow stops - no further steps execute
- Order status changes to
ErrorStatus(if you configured one)
Common Scenarios
Scenario 1: Send Orders to Your Warehouse
If export fails, order processing continues but you get a warning to investigate.
Scenario 2: Critical ERP Integration
If export fails, the entire workflow stops and order is marked as "ERPExportFailed".
Scenario 3: Multiple Export Destinations
You can add multiple "Export Order" steps in the same workflow to export to different systems:
Step 1: Export to ERP (Critical)
Step 2: Export to Fulfillment Partner (Non-Critical)
Complete Configuration Example
Here's a complete end-to-end example showing both the Connector configuration (in Tenant Settings) and the Workflow Step configuration (in Order Type workflow) working together:
Step 1: Configure the Connector in Tenant Settings
Step 2: Configure the Workflow Step
Add this workflow step to your Order Type (e.g., in the "Ship" status):
How it works:
- When an order reaches "Ship" status, the
ExportOrderworkflow step executes - The step looks for a connector named
"Webhook"in your Tenant Settings - It sends the order data to
https://erp.yourcompany.com/api/orderswith bearer token authentication - If the export fails, the workflow stops and the order status changes to "ERPExportFailed"
- If successful, the workflow continues to the next step
Error Handling
| Condition | Result | Continues Workflow? |
|---|---|---|
| Test mode | Success (skipped) | Yes |
| Export successful | Success | Yes |
| Exporter not found | Error | Based on StopOnError |
| Export failed (StopOnError=true) | Error | No |
| Export failed (StopOnError=false) | Warning | Yes |
Troubleshooting
Export Not Happening
Check:
- Is the connector name spelled correctly? (it's case-sensitive!)
- Is the connector configured in Tenant Settings?
- Does the order's workflow actually reach this step?
- Check the order events log - is there an "Exported" event?
Export Failing
Check:
- Review the
OrderExportErroron the order for the error message - For Webhook: Is the URL accessible? Check authentication and HTTPS certificates
- For Azure queues: Is the connection string correct? Does the queue exist?
- Check the order events for detailed error information
Receiving System Gets Stale Data
Solution: Set RunAfterOrderIsSaved: true in your workflow step configuration.
This is especially important for:
- Azure Service Bus exports
- Azure Storage Queue exports
- Any system that fetches the order from Omnium's API instead of receiving it in the export
Related Steps
- Export Payments - Export payment data
- Export Invoices - Export invoice data
- Webhook Workflow Step - External webhook with two-way communication
