> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.syncspider.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# How to Set Up a Multi-Step Task in SyncSpider

**TABLE OF CONTENTS**

* [What is a Multi-Step Task in SyncSpider?](#What-is-a-Multi-Step-Task-in-SyncSpider?)
* [Multiple Target Integrations in One Task](#Multiple-Target-Integrations-in-One-Task)
* [Chained Tasks (Task Triggering Another Task)](#Chained-Tasks-(Task-Triggering-Another-Task))
* [Steps to Set Up Multiple Target Integrations in One Task](#Steps-to-Set-Up-Multiple-Target-Integrations-in-One-Task)
* [Step 1: Start a New Task](#Step-1%3A-Start-a-New-Task)
* [Step 2: Choose Your Integrations (Adding Multiple Targets)](#Step-2%3A-Choose-Your-Integrations-(Adding-Multiple-Targets))
* [Step 3: Select Entities for Your Multi-Step Task](#Step-3%3A-Select-Entities-for-Your-Multi-Step-Task)
* [Step 4: Connect Your Apps](#Step-4%3A-Connect-Your-Apps%C2%A0)
* [Step 5: Configure the Source Integration](#Step-5%3A-Configure-the-Source-Integration)
* [Step 6: Source Filtering (Optional)](#Step-6%3A-Source-Filtering-(Optional))
* [Step 7: Configure the first Target Integration](#Step-7%3A-Configure-the-first-Target-Integration)
* [Step 8: Mapping Data Fields (Source to First Target)](#Step-8%3A-Mapping-Data-Fields-(Source-to-First-Target))
* [Step 9: Second Target Configuration](#Step-9%3A-Second-Target-Configuration)
* [Step 10: Mapping for the Second Target Integration](#Step-10%3A-Mapping-for-the-Second-Target-Integration)
* [Step 11: Task Settings](#Step-11%3A-Task-SettingsThe-final-step-in-setting-up-a-multi-step-task-is-configuring-the-task-settings.-This-section-allows-you-to-define-when-and-how-the-task-will-run,-as-well-as-enabling-logging-and-notifications.Key-Sections-in-Task-Settings%3A)
* [How to Setup Chained Tasks](#How-to-Setup-Chained-Tasks)

---
## What is a Multi-Step Task in SyncSpider?

A **Multi-Step Task** in SyncSpider allows you to automate complex workflows involving multiple integrations and data transfers within a single task or across multiple linked tasks.

There are **two ways** to set up a multi-step task:

### Multiple Target Integrations in One Task

A single task can contain **up to five integrations**:

* **One source integrations** (where data originates).
* **Four target integration** (where the data is sent).

This setup is useful when **pulling data from multiple platforms** into a single destination, such as **aggregating product information from multiple suppliers into an eCommerce platform**.

### 
### Chained Tasks (Task Triggering Another Task)

Instead of combining sources in one task, you can **set up multiple individual tasks** where:

* The **completion of the first task** triggers the **next task** automatically.
* This continues in sequence, allowing a **step-by-step automation flow**.

* This method is helpful for **multi-stage processes**, such as: **Fetching new orders → Enriching data with customer info → Sending final order details to fulfillment.**

In the following steps, we will guide you through **how to set up each type of multi-step task** so you can optimize your workflow for maximum efficiency.

---
## Steps to Set Up Multiple Target Integrations in One Task

For this method, we will use the example of a stock update task where a Google Sheet contains inventory data that needs to be automatically updated across multiple Odoo instances. Imagine you are managing multiple companies using Odoo and you want to synchronize your stock levels without manual input.

---
### Step 1: Start a New Task

The first step in setting up a **multi-step task** is the same as creating a regular task:

**Log in to your SyncSpider account**. On the **left-hand navigation panel**, click on the **Tasks** icon.

Click on the **"Add new task"** button at the top right of the screen.

![](https://storage.crisp.chat/users/helpdesk/website/-/f/3/1/1/f311dd0d85387800/554145e8-ef24-4297-a1f0-b3d4e7_lygrfi.png)

---
### Step 2: Choose Your Integrations (Adding Multiple Targets)

Just like in a regular task, you need to define the **source and target integrations**. However, in a multi-step task with multiple targets, you will need to **add additional target integrations** manually.

To add more targets, **click on the "+" icon** in the top-right corner.

![](https://storage.crisp.chat/users/helpdesk/website/-/5/e/7/a/5e7a823c1caa5000/769b779a-7b14-4814-bb26-db9bff_10ycumg.png)

---
### Step 3: Select Entities for Your Multi-Step Task

Once you've chosen the source and multiple target integrations, the next step is to define the **entities**—the specific data types being transferred.

For our example, we are **syncing stock levels from a Google Sheet to multiple Odoo instances**, so we need to specify:

**Source Entity (Google Sheets):**

* Select **"Spreadsheet"** as the entity to retrieve stock data.
* This ensures that SyncSpider pulls product stock information from the correct sheet.

**Target Entities (Odoo Instances):**

* For **Target #1 (Odoo - Company 1)** → Select **"Product Update"** as the entity.
* For **Target #2 (Odoo - Company 2)** → Also select **"Product Update"** as the entity.

![](https://storage.crisp.chat/users/helpdesk/website/-/1/e/2/6/1e260712998b0300/ecba36cd-46e9-4ce4-ba06-94ab54_ba1kjf.png)

Once the entities are selected, click **"Next"** to proceed.

---
### Step 4: Connect Your Apps

After selecting your integrations and entities, you will be prompted to **connect the apps** to SyncSpider.

Since SyncSpider allows multiple accounts/files for the same integration, you must select the specific one you want to use for this task.

Click **"Connect"** to open the selection window or **"Change"** if you want to select a different account/file.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/f/2/8/3f28d992cf51220/aebedc23-7998-4bca-8bf0-4f60b5_203h2a.png)

For our example, we would select the appropriate google sheet with our product information and the two Odoo instances we want to update. Once all integrations are successfully connected, they should display a **green "Connected" status**.

![](https://storage.crisp.chat/users/helpdesk/website/-/1/2/5/6/12569b40986fe70/48bc1f25-3c21-48da-ae42-b53eb4_1v2g58u.png)

Only after all apps show as **Connected**, click **"Next"** to proceed to the **source configuration step**, where we will define how the product data is extracted from Google Sheets.

---
### Step 5: Configure the Source Integration

Now that your source application is connected, you need to configure it.

The Source Configuration settings vary depending on the application you selected.

Continuing with our example, we would need to configure how **SyncSpider retrieves stock data from Google Sheets**.

![](https://storage.crisp.chat/users/helpdesk/website/-/b/7/9/8/b798f1a332938000/548245fe-e57a-4f7f-89b5-79f3a2_1he9l6c.png)

**1. Select the Spreadsheet from Google Drive:**

Click the **search icon** on the right side of the input field.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/d/1/5/3d15f5800ed0ca00/e5468533-8a04-47ae-966f-9b2a9d_zjmttn.png)

A window will pop up displaying your Google Drive files. Navigate to the correct folder and **select the spreadsheet** containing stock data. Click **"Select"** to confirm your choice.

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/3114605440/original/WuWp_ZVvNnafnz9UlsiEZ_hfCvPOhY0b2Q.png?1740657553)

---

**2. Define What Happens to the File After Processing:**

There is a **dropdown menu with multiple options**, such as keeping, renaming, or deleting the file after processing.

In this case, we select **"Do nothing"**, meaning the spreadsheet remains unchanged.

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/3114605523/original/Qvjsc8P5JJhjKDd2M1pRGfYBuoBilnqo_A.png?1740657727)

---

**3. Select the Sheet Containing Data:**

Choose the correct sheet from the spreadsheet.

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/3114611316/original/0fTe2oOxGvcpiQYbTOK8BmytsaSzrPcjqQ.png?1740668116)

---

**4. Record Processing Options:**

This setting determines how SyncSpider handles **consecutive task executions**, ensuring that data is either fully refreshed or updated incrementally based on changes.

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/3114611416/original/PYPRPPiHHk9jGM1aZYMmmmNoQDW0ugjJ2A.png?1740668281)

**Import all** → SyncSpider will pull all data from the spreadsheet and send it to the target, overwriting existing records if found. This is ideal for full stock synchronizations where you want to ensure all inventory data is updated.

**Import changed data only** → SyncSpider will compare the current file with the previous execution and only send **newly added or modified records** to the destination.

* If this option is selected, you will need to specify which **columns should be treated as unique**, so the system can check for updates.
* At least one column must be selected as a unique identifier.

---

**5. Invalid Column Value Behavior:**

This setting determines how SyncSpider handles invalid or missing values in the source file.

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/3114611606/original/dkZ83bD8Zrim7vhvYfWaSp9ftquUlqF3cw.png?1740668575)
**Skip the whole row** → If a column contains an invalid or missing value, **the entire row is skipped** to prevent incomplete data from being transferred.

**Unset value** → If a value is invalid or missing, it is left blank and the rest of the row continues processing

---

**6. Column Mapping Preview:**

Here, SyncSpider automatically detects the available columns in the sheet. You can adjust data types (e.g., **Text, Number**) to ensure accurate data processing.

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/3114611871/original/tlciuhvvaavJFUzmooyS4kZTWgwmfloxUw.png?1740668914)

---

Once everything is set, click **"Next"** to proceed to the next step.

---
### Step 6: Source Filtering (Optional)

The **Source Filter** step allows you to refine the data that gets processed from the source. This is an **optional** step but can be useful when you want to **limit the data being sent.**

---

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/3114611987/original/r-GaKVT_d5CuTeZN1Gf1pCiktRYtQgwWoA.png?1740669047)

If you would like to apply a filter simply select a column from the **"Filter By"** dropdown. (e.g., **SKU** to filter by product codes).

Choose a **Condition**, such as:

* **Is set / Is not set** → Check whether a value exists.
* **Equals / Not Equals** → Include or exclude specific values.
* **Contains / Not Contain** → Filter records based on partial matches.

Enter the **value** to compare against. If you wish to add multiple filters, click add **"Add Filter" .**

---
### Step 7: Configure the first Target Integration

### 
### Deduct product quantity with values from the source integrationThis option allows SyncSpider to subtract stock quantities based on the Google Sheets data.If selected, the system will reduce inventory levels rather than overwrite them with a fixed value.Replace parent product template attribute linesIf checked, the system will replace all product attributes in Odoo with the attributes provided in the Google Sheets source.If left unchecked, new attributes will be merged with the existing ones instead of replacing them.Replace parent product E-Commerce Category from variantsWhen enabled, SyncSpider will take the E-Commerce Category from child product variants and apply it to the parent product.

Once the appropriate settings are selected, click **"Next"** to move on to **mapping the data fields** between Google Sheets and the first Odoo instance.

---
### Step 8: Mapping Data Fields (Source to First Target)

Mapping is the process of matching **data fields from your source integration** to in this case your **first target integration**. This step is highly customizable and varies depending on the applications you are using and what you want to achieve.

The **left panel** displays available fields from your **source integration.**

The **right panel** represents the fields in your **target integration.**

Drag and drop fields from the **source panel** to the **corresponding fields** in the target panel.

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/3114806272/original/MXjbLp9WroGAZ9S6dSHtTWmwOXifMItDcQ.png?1741263902)

**Key Points About Mapping:**

✅ **Mandatory Fields**: Fields marked with an **orange dot** must be mapped for the task to execute properly.  
✅ **Custom Fields**: If needed, you can create and map **custom fields** when default fields don’t cover your use case.  
✅ **Saving a Mapping Template**: If you regularly use the **same mappings**, save them as a **template** for future tasks.

For our example, we see the mapping setup for **Odoo Instance #1**, where Google Sheets data is matched to the correct fields in Odoo:

* **SKU → SKU** (Ensures products are identified correctly) (mandatory)
* **STOCK ODOO → Quantity On Hand** (Transfers updated stock levels)
* **W#2/Stock → Location** (Assigns stock to the correct warehouse)

****

Once mapping for the first Target integration is complete, click **"Next"** to proceed.

---
### Step 9: Second Target Configuration

Just like with the **initial target configuration**, this step involves selecting from the **available options** based on your integration settings.

The specific options will vary depending on the **target application**.

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/3114806375/original/bRZX1re8N-nRQ2i0D4dgpNQzJis3LuMfxQ.png?1741264144)

### Once you've made your selections, click "Next" to proceed.
---
### Step 10: Mapping for the Second Target Integration

Just like the first mapping step, this process matches data fields between the first target (Odoo) and the second target (Odoo). For our example, this mapping ensures that stock values are transferred correctly between the two Odoo instances.

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/3114806526/original/DE4_U9tMLFzIO30GJw5TsO1CgdnZgK45Xw.png?1741264571)

###

Once mapping is completed, click **"Next"** to proceed to the final step.

---
### Step 11: Task SettingsThe final step in setting up a multi-step task is configuring the task settings. This section allows you to define when and how the task will run, as well as enabling logging and notifications.Key Sections in Task Settings:
### Task DetailsHere, you can name the task and add a description for better organization.Task AutomationAllows you to set up a trigger for when the task should execute.
### You can select:Scheduled execution (run at specific intervals).On-event execution (run when triggered by another task).Task ActivationEach target integration in the task can be activated or deactivated individually.You can also enable Auto-Repeat if the task needs to run automatically at set intervals.Task LoggingEnables logging for better tracking and troubleshooting.Email Notifications Configure email notifications for task success, warnings, or failures to keep relevant users informed.

Once all settings are configured, **click "Finish"** to complete the setup.

---
## 
## How to Setup Chained Tasks

Chained tasks allow you to automate workflows where the completion of one task triggers the execution of another. This is useful when different types of data need to be sent separately while maintaining an efficient sequence**.**

****

****

**Example Scenario: Syncing Product Variations and Images to Shopify**

****

Imagine you need to update Shopify with product variations and their associated images. Since Shopify requires variations and images to be updated in separate steps, you can set up two tasks:

**Task 1:** Send product variation information from Google Sheets to Shopify (Product Data).

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/3114807309/original/ZJLlZ1CtFOmkGkVwj8vkagTwKM2e9AEc3A.png?1741266163)

**Task 2:** Send product images from Google Sheets to Shopify (Image Data).

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/3114807313/original/RAFzGp6a17Sbm-QmeaIiJaQL7JckSUGhHw.png?1741266177)

### To connect the tasks: After creating both tasks, navigate to Task Settings in the second task (Google Sheets → Shopify Images).Under Task Automation, set the Trigger to On event.Choose Task Succeeded Event so that the second task starts only after the first task is successfully completed and then select the first task (Google Sheets → Shopify (Product Data)) .With this setup, your product variations are added to Shopify first, followed automatically by the image updates.We hope that this covers everything. If you have any further questions or need additional clarification, please reach out to us via [email protected] or our Chat Widget!