BetterMacro User Guide

Introduction

BetterMacro is a multi-tenant automation platform designed to streamline Linnworks order processing workflows. Each Linnworks account gets its own completely isolated workspace with zero cross-contamination between users.

Key Features

  • Automated Order Processing: Set up automated schedules to process orders at regular intervals

  • Multi-Tenant Security: Complete data isolation with no cross-user access

  • Real-time Monitoring: Track processing status with comprehensive dashboards

  • Flexible Scheduling: From minute-by-minute to daily processing schedules

  • Duplicate Prevention: Prevent orders from being processed multiple times

  • Custom Processing Steps: Configure exactly what happens to each order

  • Alert Notifications: Email alerts for processing failures and completion

Getting Started

  1. Before using BetterMarco, ensure you have:

  2. A valid Linnworks account with API access

  3. Linnworks Application ID and Secret

  4. Admin privileges in your Linnworks account

  5. Email address for notifications

First-Time Setup

  1. Access the Application: Navigate to the BetterMacro URL in your web browser

  2. Authentication: Click "Create Your Isolated Workspace" to begin setup

  3. Linnworks Connection: Provide your Linnworks credentials when prompted

  4. Workspace Creation: The system will create your isolated workspace automatically

Authentication - Multi-Tenant Security Model

BetterMacro implements a secure multi-tenant architecture where:

  1. Each Linnworks account gets its own isolated database space

  2. No user can see or access another user's data

  3. All data is encrypted and separated at the database level

  4. Each session is validated against your specific Linnworks account

Authentication Process

  1. Initial Login: Provide your Linnworks Application ID and Secret

  2. Token Generation: The system generates a secure session token

  3. Automatic Re-authentication: Sessions are renewed automatically when possible

  4. Security Validation: Every API call is validated against your credentials

Session Management

  1. Sessions remain active during use and renew automatically

  2. If authentication fails, you'll be prompted to re-authenticate

  3. Logout is available in the header menu

  4. Multiple devices can be logged in simultaneously

Dashboard Overview

The BetterMacro dashboard consists of two main sections:

1. Dashboard Tab

Purpose: Monitor active Processes, view logs and control global settings

Features:

  1. Processing Status: Real-time view of running processes

  2. Recent Logs: Live feed of processing activities

  3. Performance Metrics: Success rates and processing statistics

  4. Debug Controls: Global debug logging toggle

  5. System Health: Overall system status monitoring

2. Configuration Tab

Purpose: Create, edit and manage your automation macros

Features:

  1. Macro Management: Create, edit, delete, and organize macros

  2. Location Settings: Configure source and target locations

  3. Processing Steps: Define what happens to each order

  4. Scheduling Options: Set up automated execution

  5. Advanced Settings: Duplicate prevention, time windows, and more

Creating and Managing Macros

What is a Macro?

A macro is a set of automated instructions that define:

  1. Which orders to process (source location, time frame, filters)

  2. What to do with those orders (move, label, set properties)

  3. When to run the automation (schedule)

  4. How to prevent duplicates

Creating a New Macro

  1. Navigate to Configuration Tab

  2. Click "Add New Macro"

  3. Basic Settings:

  4. Name: Descriptive name for your macro

  5. Description: Optional details about the macro's purpose

  6. Enable/Disable: Toggle to activate the macro

  7. Location Configuration:

  8. Source Location: Where orders currently exist

  9. Target Location: Where orders should be moved (optional)

  10. Time Frame Settings:

  11. Last X Days: Process orders from the past X days

  12. Custom Days: Specify exact number of days

  13. Time Window: Optional time range filtering

  14. Processing Steps Configuration:

  15. Change Location: Move orders to target location

  16. Create Labels: Generate shipping labels

  17. Set Properties: Add extended properties to orders

  18. Process Order: Mark orders as processed

Managing Existing Macros

  1. Edit: Click the edit button to modify macro settings

  2. Enable/Disable: Toggle macros on/off without deleting

  3. Duplicate: Clone existing macros as templates

  4. Delete: Remove macros permanently (with confirmation)

  5. Reorder: Drag and drop to organise macro list

Configuration Settings

Location Settings

Configure which Linnworks locations to use:

Source Location (From):

  1. The location where orders currently exist

  2. System will search this location for matching orders

Target Location (To):

  1. Optional destination for order movement

  2. Leave blank if you don’t want to move orders

  3. Must be different from source location

Time Frame Settings

Control which orders are processed based on date:

Options:

  1. Last 1 Day: Orders from yesterday

  2. Last 3 Days: Orders from past 3 days

  3. Last 7 Days: Orders from past week

  4. Custom Days: Specify exact number of days

Time Windows (Advanced):

  1. Between: Process orders only between specific times

  2. Before: Process orders only before a specific time

  3. After: Process orders only after a specific time

  4. Skip Current Day: Exclude today's orders from processing

Processing Steps

Define exactly what happens to each matched order:

1. Change Location

  1. Purpose: Move orders from source to target location

  2. When to Use: Order fulfillment workflows, location organization

  3. Requirements: Target location must be different from source

2. Create Labels

  1. Purpose: Generate shipping labels for orders

  2. Templates: Select from available Linnworks label templates

  3. Automation: Labels are created automatically for each order

3. Set Properties

  1. Purpose: Add extended properties to orders for tracking

  2. Custom Properties: Define property name and value

  3. Use Cases: Tracking, reporting, integration with other systems

4. Process Order

  1. Purpose: Mark orders as processed in Linnworks

  2. Effect: Changes order status to processed/completed

  3. Final Step: Usually the last step in most workflows

Duplicate Prevention

Prevent orders from being processed multiple times:

How It Works:

  1. System adds a special property to processed orders

  2. Before processing, checks if order already has this property

  3. Skips orders that have already been process

Settings:

  1. Enable/Disable: Turn duplicate prevention on/off

  2. Property Name: Name of the tracking property (auto-generated)

  3. Per-Macro: Each macro uses its own tracking property

Property Settings

Add custom extended properties to processed orders:

Configuration:

  1. Property Name: The name of the property to set

  2. Property Value: The value to assign to the property

  3. Use Cases: Order tracking, custom workflows, reporting

Advanced Properties:

  1. Multiple Properties: Configure multiple properties per macro

  2. Dynamic Values: Use placeholders for dynamic content

  3. Data Types: Support for strings, numbers, dates, booleans

Alers Settings

Configure email notifications for macro execution:

Email Addresses:

  1. Add multiple email addresses for notifications

  2. Supports both success and failure alerts

  3. Emails include detailed processing information

Alert Types:

  1. Completion Alerts: Sent when macro competes successfully

  2. Error: Sent when macro encounters errors

  3. Authentication Alerts: Sent when re-authentication is required

Monitoring and Logos

Real-Time Processing Logs

The Dashboard tab provides live monitoring of all processing activities:

Log Levels:

  1. Info: General processing information

  2. Success: Successful operations

  3. Warning: Non-critical issues

  4. Error: Failed operations requiring attention

Log Details Include:

  1. Timestamp of each operation

  2. Macro name and configuration

  3. Order numbers and details

  4. Processing results and statistics

  5. Error messages and troubleshooting info

Processing Sessions

Each macro execution creates a processing session with:

Session Information:

  1. Start and end times

  2. Total orders processed

  3. Number of errors encountered

  4. Configuration snapshot used

  5. Performance metrics

Session Status:

  1. Running: Currently processing

  2. Completed: Finished successfully

  3. Completed with Errors: Finished but with some failures

  4. Failed: Unable to complete processing

Performance Monitoring

Track the efficiency and reliability of your macros:

Metrics Tracked:

  1. Orders processed per session

  2. Average processing time

  3. Success/failure rates

  4. API call efficiency

  5. Resource utilisation

Performance Optimisation:

  1. Automatic rate limiting to prevent API overload

  2. Circuit breaker pattern for error recovery

  3. Batch processing for large volumes

  4. Performance alerts for unusual activity

Log Retention

To maintain optimal performance:

  1. Processing logs are automatically cleaned up after 48 hours

  2. Session summaries and statistics are preserved permanently

  3. Cleanup runs daily at 2 AM UTC

  4. Performance indexes ensure fast log queries

Scheduling

Automated Scheduling System

BetterMacro uses a sophisticated heartbeat system for reliable automation:

How It Works:

  1. Heartbeat: A cron job runs every minute as a system heartbeat

  2. Check: Each heartbeat checks for macros with scheduling enabled

  3. Calculate: System calculates time since last run vs. frequency setting

  4. Execute: Processes only when timing criteria is met

  5. Record: All execution details are logged for monitoring

Schedule Configuration

Frequency Options

Choose from a wide range of execution frequencies:

High Frequency (Ideal for active processing):

  1. Every 1 minute

  2. Every 2 minutes

  3. Every 5 minutes

  4. Every 10 minutes

  5. Every 15 minutes

Medium Frequency (Balanced approach):

  1. Every 30 minutes

  2. Every 45 minutes

  3. Every 1 hour

  4. Every 2 hours

Low Frequency (Batch processing):

  1. Every 4 hours

  2. Every 8 hours

  3. Every 12 hours

  4. Every 24 hours

  5. Daily at specific time

Daily Scheduling

For daily batch processing:

Configuration:

  1. Select "Daily at specific time" from frequency options

  2. Choose hour (0-23) in UTC time zone

  3. Macro runs once daily at specified time

Benefits:

  1. Predictable processing windows

  2. Ideal for end-of-day batch processing

  3. Reduces resource consumption

  4. Perfect for daily order reconciliation

Schedule Management

Enable/Disable: Toggle scheduling without deleting configuration

Monitor Performance: Track execution times and success rates

Adjust Frequency: Change timing based on processing needs

Time Zone Consideration: All times are in UTC - convert as needed

Best Practices for Scheduling

High-Frequency Processing (≤5 minutes)

  1. Use Case: Real-time order processing, urgent fulfilment

  2. Monitoring: Watch performance closely for resource usage

  3. Recommendation: Start with longer intervals and decrease as needed

Medium-Frequency Processing (30min - 2hrs)

  1. Use Case: Regular processing without overwhelming the system

  2. Balance: Good compromise between speed and efficiency

  3. Recommendation: Most common choice for general automation

Low-Frequency Processing (4hrs+)

  1. Use Case: Batch processing, end-of-day operations

  2. Benefits: Lower resource usage, predictable processing windows

  3. Recommendation: Use for non-urgent bulk operations

Advanced Features

Multiple Macros

Run multiple macros simultaneously:

  1. Each macro operates independently

  2. Different schedules for different workflows

  3. Isolated processing to prevent conflicts

  4. Individual monitoring and logging

Blocked Dates

Prevent processing on specific dates:

  1. Holiday Processing: Skip processing on holidays

  2. Maintenance Windows: Avoid processing during system maintenance

  3. Custom Blackouts: Define any dates to skip processing

  4. Flexible Configuration: Per-macro date exclusions

Time Window Filtering

Process orders only within specific time ranges:

Window Types:

  1. Between: Process orders placed between two times

  2. Before: Process orders placed before a specific time

  3. After: Process orders placed after a specific time

Use Cases:

  1. Business hours processing

  2. Timezone-specific handling

  3. Order type segregation

  4. Custom workflow requirements

Extended Properties Management

Advanced property configuration:

Multiple Properties: Set multiple extended properties per order

Dynamic Values: Use order data to populate property values

Property Types: Support for various data types

Conditional Logic: Set properties based on order characteristics

Large Volume Optimisation

BetterMacro is optimised for processing large volumes:

Performance Features:

  1. Batch processing (10 orders at a time)

  2. Rate limiting (8 API calls per second maximum)

  3. Circuit breaker for error recovery

  4. Performance monitoring and alerting

  5. Automatic retry mechanisms

Volume Recommendations:

  1. Small Volume (1-50 orders): Any frequency works well

  2. Medium Volume (51-200 orders): Consider 5+ minute frequencies

  3. Large Volume (200+ orders): Use hourly or daily scheduling

API Integration

BetterMacro integrates deeply with the Linnworks API:

Supported Operations:

  1. Order search and filtering

  2. Location management

  3. Extended property management

  4. Shipping label generation

  5. Order status updates

Error Handling:

  1. Automatic retry for transient failures

  2. Circuit breaker for API protection

  3. Authentication refresh handling

  4. Detailed error reporting

Common Issues and Solutions

Authentication Errors

Symptoms: "Authentication required" messages, login prompts

Causes: Expired tokens, changed Linnworks credentials, API limits

Solutions:

  1. Re-authenticate using the login prompt

  2. Verify Linnworks Application ID and Secret are correct

  3. Check Linnworks API quota usage

  4. Ensure Linnworks account is active and accessible

Processing Failures

Symptoms: Orders found but processing fails

Causes: API errors, permission issues, invalid configurations

Solutions:

  1. Check processing logs for specific error messages

  2. Verify target location exists and is accessible

  3. Confirm extended property names are valid

  4. Test with a single order manually in Linnworks

Schedule Not Running

Symptoms: Scheduled macro doesn't execute automatically

Causes: Disabled macro, authentication issues, system errors

Solutions:

  1. Verify macro is enabled and schedule is configured

  2. Check authentication status

  3. Review recent logs for error messages

  4. Try manual execution to test configuration

Debugging Features

Debug Logging

Enable detailed logging for troubleshooting:

  1. Location: Dashboard tab → Debug toggle

  2. Effect: Provides additional detail in processing logs

  3. Use: Enable temporarily when investigating issues

  4. Performance: May slightly impact processing speed

Processing Session Details

Every macro execution creates detailed session information:

  1. Configuration Snapshot: Exact settings used

  2. Order Details: Information about each processed order

  3. Error Details: Specific error messages and stack traces

  4. Performance Metrics: Timing and efficiency statistics

Log Analysis

Use processing logs to diagnose issues:

  1. Search: Filter logs by date, macro, or message content

  2. Levels: Focus on specific log levels (errors, warnings)

  3. Patterns: Look for recurring issues or patterns

  4. Timing: Identify performance bottlenecks

Getting Help

Self-Service Resources

  1. Processing Logs: Check recent activity for error messages

  2. Configuration Review: Verify all settings are correct

  3. Manual Testing: Try running macros manually first

  4. Documentation: Refer to this user guide

Support Information

  1. System Status: Monitor for known issues or maintenance

  2. API Limits: Check Linnworks API usage and limits

  3. Account Status: Verify Linnworks account is active

  4. Network: Ensure stable internet connection

Security and Privacy

Data Protection

BetterMacro implements enterprise-grade security measures:

Multi-Tenant Isolation:

  1. Complete data separation between users

  2. Database-level isolation using Row Level Security (RLS)

  3. No shared resources or cross-user access

  4. Individual encryption keys per tenant

Data Encryption:

  1. All data encrypted at rest and in transit

  2. TLS/SSL for all communications

  3. Encrypted database storage

  4. Secure token-based authentication

Access Controls:

  1. Authentication required for all operations

  2. Session-based access with automatic expiration

  3. API rate limiting and abuse prevention

  4. Audit logging for all activities

Privacy Commitment

Data Collection: Only collect data necessary for functionality

Data Sharing: Never share user data with third parties

Data Retention: Automatic cleanup of temporary processing data

User Control: Users control all their data and settings

Linnworks Integration:

  1. Read-only access to order data (except for configured changes)

  2. No storage of sensitive Linnworks credentials

  3. API keys encrypted and stored securely

  4. Minimal data retention policy

Next
Next

Dash: The Ultimate Digital Display Management Solution