SwiftSync Logo

Setup Tutorial

Configure SwiftSync like a pro. Learn how to connect ClickUp, set up triggers, map fields, and automate your operations backend.

Understanding the SwiftSync Mapping Principle

SwiftSync builds an instantaneous, rule-based bridge between your WooCommerce store operations and your ClickUp tasks. Here is a high-level overview of how WooCommerce's e-commerce structure corresponds to your ClickUp workspaces:

WooCommerce Store ClickUp Team

Your entire WooCommerce storefront connects directly to a specific ClickUp Workspace (Team).

WooCommerce Objects ClickUp Lists

WooCommerce resources (Orders, Customers, Drafts, Abandoned Checkouts) map to distinct Lists inside your ClickUp Space.

WooCommerce Properties ClickUp Columns

Detailed attributes (e.g. order price, customer phone, tracking codes) sync into ClickUp Custom Fields/Columns.

WooCommerce Actions ClickUp Statuses

ClickUp Task Statuses (e.g. Completed) trigger bi-directional actions in WooCommerce like modifying or completing the order status.

WooCommerce Rules Tags & Priority

Conditions (like high cart value or express shipping title) auto-apply task Priorities and visual Tags.

Setup Instructions

1

Authentication & Connection

To begin syncing, SwiftSync requires access permissions to both WooCommerce and ClickUp:

  • Install SwiftSync: Upload and activate the SwiftSync plugin zip on your WordPress site. This prepares the client securely.
  • Authorize ClickUp: Inside the SwiftSync dashboard under settings, click "Connect ClickUp". You will be redirected to ClickUp's secure OAuth consent portal.
  • Grant Permissions: Log into ClickUp, choose the specific workspaces (teams) you want to grant SwiftSync access to, and click **Authorize**. You will be returned to your WordPress settings dashboard.
2

Setting Trigger Rules

SwiftSync lets you decide exactly what WooCommerce events create tasks. Under active sync channels, locate the event cards:

  • WooCommerce Order Created: Creates a task card when a customer pays for an order.
  • WooCommerce Customer Created: Creates a task card representing a new customer registration.
  • Order Notes & Refunds: Syncs local store logs and tracks refund transactions.
  • Map List Target: For each active card, select a target ClickUp **Space**, **Folder**, and **List** from the dropdown options. SwiftSync automatically retrieves your ClickUp lists in real-time.
3

Mapping Custom Fields

Organize details directly inside ClickUp columns. First, create your columns (text, currency, date, dropdown) inside ClickUp, then map them in SwiftSync:

  • Under **Custom Field Mappings**, choose a preset WooCommerce variable (e.g. order total, customer notes, discount codes).
  • Select the target ClickUp column from the dropdown.
  • For custom metadata, choose **Custom Path** and type the JSON path (e.g., customer.phone).
  • Click **Add Mapping**. Future events will populate these columns automatically.
4

Routing Rules & Priorities

Ensure critical events go to the right place and get assigned to the proper personnel automatically:

  • Assignee Routing: Navigate to routing settings, select a property (e.g., total_price), choose an operator comparison (e.g. >=), enter a threshold (e.g., 100), and select the ClickUp team member. SwiftSync auto-assigns the task!
  • Task Priority Rules: Flag tasks as Urgent, High, Normal, or Low based on parameters like cart totals, express shipping method matches, or VIP buyer tiers.
  • Split Order Routing: Enable split routing on order cards to automatically break multi-item orders into linked child subtasks under a parent card.
5

Bi-Directional Status Sync

Let your operations team manage WooCommerce directly from ClickUp. Map a ClickUp card status to trigger order status transitions inside WooCommerce:

  • Locate the **ClickUp Status to WooCommerce Actions** card.
  • Ensure SwiftSync's webhook payload URL is registered inside your ClickUp Space.
  • Add a mapping: Select a ClickUp status (e.g. complete) and map it to a WooCommerce action (e.g., Complete WooCommerce Order).
  • When a card status updates in ClickUp, SwiftSync automatically executes the corresponding status transition in WooCommerce.
6

Checking Audit Trails & Logs

Validate your synchronization pipelines and track historical executions in real-time:

  • Navigate to the **Sync Audit Logs** tab in your SwiftSync console.
  • Every webhook receipt, queue job, and API sync attempt is logged here.
  • View details like the trigger timestamp, event status (Success or Failed), request payloads, and click direct links to open generated ClickUp cards.
  • Pruned automatically after 7 days to preserve storage.

Developer API: All WordPress Hooks & Filters

SwiftSync is built with developers in mind. Intercept events, bypass syncing for custom conditions, modify payload data before dispatch, or customize queue limits using native WordPress action and filter hooks.

1. Order & Checkout Synchronization Filters

Bypass or decorate order sync events and checkout payloads:

// 1. Conditionally bypass order syncing (e.g. orders under $10)
add_filter( 'swiftsync_should_sync_order', function( $should_sync, $order_id, $order ) {
    if ( $order && $order->get_total() < 10.00 ) {
        return false;
    }
    return $should_sync;
}, 10, 3 );

// 2. Customize outgoing order payload before dispatching to ClickUp
add_filter( 'swiftsync_order_payload', function( $payload, $order ) {
    $payload['meta_data']['gift_note'] = get_post_meta( $order->get_id(), '_gift_note', true );
    return $payload;
}, 10, 2 );

// 3. Customize draft checkout payload
add_filter( 'swiftsync_checkout_payload', function( $payload, $order_id, $order ) {
    $payload['cart_hash'] = $order->get_cart_hash();
    return $payload;
}, 10, 3 );
                

2. Customer & User Profile Filters

Control customer registration sync rules and payload data:

// 4. Bypass customer sync for test email accounts
add_filter( 'swiftsync_should_sync_customer', function( $should_sync, $customer_id, $new_data ) {
    if ( isset( $new_data['email'] ) && strpos( $new_data['email'], '@test.com' ) !== false ) {
        return false;
    }
    return $should_sync;
}, 10, 3 );

// 5. Decorate outgoing customer profile payload
add_filter( 'swiftsync_customer_payload', function( $payload, $customer_id ) {
    $payload['vip_status'] = 'Active';
    return $payload;
}, 10, 2 );
                

3. Order Notes & Refund Payload Interceptors

Modify notes and refund dispatches sent to ClickUp comment threads:

// 6. Customize refund event payload
add_filter( 'swiftsync_refund_payload', function( $payload, $refund_id, $order ) {
    $payload['refund_reason'] = get_post_meta( $refund_id, '_refund_reason', true );
    return $payload;
}, 10, 3 );

// 7. Customize order note payload
add_filter( 'swiftsync_order_note_payload', function( $payload, $note_id, $order ) {
    $payload['urgency'] = 'High';
    return $payload;
}, 10, 3 );
                

4. Transport, Retry Limits & Request Headers

Customize retry counts, backoff delays, request headers, and event topics:

// 8. Increase maximum fail-safe retry attempts
add_filter( 'swiftsync_retry_limit', function( $limit ) {
    return 5;
} );

// 9. Customize retry backoff delay (in seconds)
add_filter( 'swiftsync_retry_delay', function( $delay, $attempts, $topic ) {
    return 15 * $attempts; // Linear 15s backoff
}, 10, 3 );

// 10. Add custom HTTP request headers
add_filter( 'swiftsync_api_request_headers', function( $headers, $endpoint ) {
    $headers['X-Developer-ID'] = 'dev-team-01';
    return $headers;
}, 10, 2 );

// 11. Modify raw HTTP request parameters
add_filter( 'swiftsync_api_request_args', function( $args, $endpoint ) {
    $args['timeout'] = 30; // 30s connection timeout
    return $args;
}, 10, 2 );

// 12. Override event topic identifier dynamically
add_filter( 'swiftsync_event_topic', function( $topic, $event_type ) {
    return 'custom_' . $topic;
}, 10, 2 );
                

5. Event Action Listeners

Listen for dispatch outcomes or scheduled retries inside your codebase:

// 13. Trigger custom logic on successful payload dispatch
add_action( 'swiftsync_event_dispatched', function( $event_type, $response, $payload ) {
    error_log( "SwiftSync event {$event_type} successfully dispatched to ClickUp." );
}, 10, 3 );

// 14. Trigger alert when a payload dispatch fails
add_action( 'swiftsync_event_failed', function( $event_type, $error_message, $payload ) {
    error_log( "SwiftSync dispatch failed: {$error_message}" );
}, 10, 3 );

// 15. Intercept scheduled retry execution events
add_action( 'swiftsync_retry_event', function( $job_id, $topic, $payload ) {
    error_log( "Retrying SwiftSync job {$job_id} for topic {$topic}" );
}, 10, 3 );
                

Development Partnership with Loopstates

For custom integrations, enterprise solutions, or dedicated engineering support, partner with our product engineers to design, build, and deploy specialized software solutions tailored to your business operations.

Talk to our Engineering Team

Have custom requirements or need dedicated support? Tell us about your project below.