Skip to content
Mechanic

Use cases / Integrations

Get Shopify data to the system that needs it.

A supplier needs a file. A warehouse expects a particular layout. Your team has a schedule to keep. Use Mechanic to connect Shopify to FTP or SFTP, starting with a ready-made export or building the workflow your business needs.

Start with a library task. Configure it for your store.

A scheduled catalog export

The next system gets a fresh file.

  1. Select the products

    Use a product search to define what belongs in the export.

  2. Generate the CSV

    The library task prepares its Shopify-friendly product format.

  3. Upload to SFTP

    Deliver to the configured server and folder on your chosen schedule.

The ready-made task uses its defined CSV layout. A supplier-specific layout requires adapting the task.

Ready-made starting points

Start with an export you can inspect.

Open the task to see the options and code before choosing it. A standard file may fit straight away; a system that expects different columns, identifiers, or calculations calls for a custom mapping.

Product catalog to SFTP

Export product data on a configurable schedule. Filter the product selection and set the SFTP destination.

Inventory files

Generate an inventory CSV on a schedule and deliver it by SFTP or email using the task’s options.

An order CSV starting point

Inspect the order-export example when you need order data. This task emails its CSV; SFTP order delivery requires custom task code.

Set it up in Mechanic.

  1. Confirm the file contract

    Get a sample of the receiving system’s expected file. Agree on columns, identifiers, filenames, timing, and whether each file is a full snapshot or new records.

  2. Configure a test destination

    Set up the library task with a small product selection and a test folder on your server. Review its preview, access, and connection settings.

  3. Check the receiving system

    Run the export and inspect the uploaded file. Confirm that the receiving system can process it before enabling the recurring production handoff.

Learn how to install and configure a library task →

Build the steps around the file.

A file transfer can be one part of a larger Mechanic task: query Shopify, transform the data, deliver a file, and respond to the action result. Developers can also download known files through the FTP action and process their contents in a follow-up task run. Inbound parsing, record matching, duplicate handling, and Shopify updates are custom development; downloading a file does not configure an import.

An inbound supplier-file walkthrough

Bring supplier availability into the workflow.

Suppose a supplier places a CSV on an SFTP server each morning. Your team wants its availability figures alongside Shopify products so it can review back-orders. This is a custom integration: the export tasks above do not install an inbound import.

Start with a small fixture and agree on what each field means. Here is an example input:

supplier_sku,supplier_available
SUP-100,12
SUP-200,0

Download the example CSV

  1. Download a known file.

    Configure the FTP action with the server, authentication, and the agreed file path. Subscribe the task to mechanic/actions/perform so a follow-up run can inspect the download. Store credentials as shop secrets and configure SFTP host verification.

  2. Check the file before reading quantities.

    Confirm the action succeeded and the expected file arrived. Its text is available under the download path in the action result. Parse the CSV with headers, check the required columns, and validate each quantity as a whole number. Treat a missing or invalid value differently from an explicit zero.

  3. Match the supplier’s identifier.

    Define a maintained mapping from supplier SKU to Shopify variant. Require an unambiguous match. Unknown identifiers, duplicate rows, and identifiers matching several variants should go to review instead of silently selecting a record.

  4. Review the proposed changes.

    First log the mapped records and quantities on a development store. In this example, the proposed destination is a variant metafield for supplier availability. A supplier’s stock figure is not automatically the quantity available to sell at your Shopify location.

  5. Apply and reconcile.

    After the mapping is verified, add the intended Shopify writes and inspect their results. Define how to recognize a file already processed, reject stale snapshots, handle partial failures, and report unresolved rows. Record completion after the relevant writes succeed.

Example mapping to review before enabling writes
Supplier rowShopify matchProposed result
SUP-100 · 12One mapped variantSet supplier-availability metafield to 12
SUP-200 · 0One mapped variantSet supplier-availability metafield to 0
Unknown or duplicated identifierMissing or ambiguousReport for review; do not write that row

Before scheduling the task, test zero stock, a missing column, a duplicate identifier, a repeated file, and an interrupted update. Agree whether an omitted SKU means “unchanged” or something else. A single FTP action can download up to 20 MB across its files; plan smaller batches when the feed exceeds that limit.

Read the FTP action and result format · CSV parsing reference · Shop globals and secrets

Before you set it up

Does Mechanic support FTP as well as SFTP?

The FTP action supports FTP, FTPS, and SFTP. The linked export tasks are configured for SFTP. A developer can use the action directly when another protocol or authentication method is needed.

Is this a ready-made ERP or warehouse connector?

The library exports and file-transfer action are building blocks. A particular ERP or warehouse integration needs its file format, data mapping, credentials, and processing rules configured and tested.

Can I change the CSV columns?

Yes, by changing the task’s Liquid code. The task defines which data to query and how to build each row. For a standard export configured entirely through a visual interface, a specialist export app may be a simpler fit.

Does a successful upload mean the data was imported?

It confirms the file transfer, not the receiving system’s processing. If you need an acknowledgment or reconciliation step, include that in the integration design.

FTP and SFTP action reference · Responding to action results

Make it work for your store.

Open the task to see its options and instructions. Use the library version as it is, or work with a developer to adapt its Liquid code for your workflow.

More workflows to explore: