Skip to content

Cartenvo Integration Hub docs

Zapier

Connect nopCommerce to Zapier: send paid orders to Google Sheets and new orders to Slack, and update the store from a Zap.

On this page

Zapier receives store events with Webhooks by Zapier, and calls the store with the same app's Custom Request. Webhooks by Zapier is available on Zapier's paid plans.

1. Paid order → Google Sheets row

Catch the event

  1. In Zapier, click Create → Zaps. For the trigger, choose Webhooks by Zapier, event Catch Hook, and click Continue.
  2. Leave Pick off a Child Key empty and continue. Zapier shows the webhook URL: copy it.
  3. In the store's admin, open Configuration → Integration Hub → Webhooks → Add webhook and choose Zapier, Make or n8n.
    • Name: "Zapier: orders to Sheets"
    • URL: the address you copied
    • Events: untick everything except order.paid
    • Save. The signing secret it shows isn't needed for Zapier.
  4. Give Zapier a sample. Open Preview, choose order.paid, pick an order and the Zapier webhook, click Show message and then Send to this webhook.
  5. Back in Zapier, click Test trigger. The sample appears with fields such as Data Number, Data Customer Email and Data Totals Total.

Add the row

  1. Add an action: Google Sheets, event Create Spreadsheet Row. Connect your Google account and choose the spreadsheet and worksheet. Its first row should have the headers Order, Date, Customer, Email, Total and Items.

  2. Map the columns:

    ColumnZapier field
    OrderData Number
    DateData Created On Utc
    CustomerData Customer First Name, a space, Data Customer Last Name
    EmailData Customer Email
    TotalData Totals Total
    ItemsData Items Sku (Zapier lists every item's SKU, separated by commas)
  3. Click Test step, then Publish.

2. New order → Slack message

Make a second Zap the same way with order.placed, then add Slack → Send Channel Message:

  • Channel: #orders
  • Message Text: New order Data Number: Data Totals Total Data Currency from Data Customer First Name Data Customer Last Name. Data Admin Url

Give each Zap its own webhook in the store, with only the events it needs.

3. Calling the store from a Zap

To update the store, such as marking an order as shipped when your warehouse tool says so:

  1. In the store's admin, add an API key under API keys with only the scopes the Zap needs (orders:write here).
  2. In the Zap, add Webhooks by Zapier → Custom Request:
    • Method: POST
    • URL: https://shop.example.com/api/cartenvo/v1/orders/order ID/shipments
    • Data: {"trackingNumber": "tracking number", "ship": true}
    • Headers: Authorization = Bearer cih_… (the key), Content-Type = application/json

The API guide lists every call. Use the order's data.id (the ID in admin), not data.number.

Things to know

  • Zapier's address is the only protection. Zapier's Catch Hook can't check the store's signature, so keep the webhook URL private. For workflows that create invoices or move money, check the signature in a Code by Zapier step using Catch Raw Hook (which keeps the raw body) and the code in the webhook guide.
  • Repeats: the store retries a delivery Zapier doesn't confirm. Zapier may run twice for the same event; use the event's Id with a Filter or Storage by Zapier to skip repeats where that matters.
  • Samples: messages from Send to this webhook have Context Sample = true. Add a Filter step that continues only if Context Sample does not exist, if a live Zap mustn't act on them.