Zapier Integration
Connect Zilch to the rest of your stack with Zapier. Automatically email a customer the carbon footprint report for everything on their order the moment it lands in your CRM, invoicing tool, or store — and look up any SKU's footprint from inside any Zap.
What you can use it for
The integration exists so that nobody on your team has to remember to send a footprint report by hand. Anything that can start a Zap can now trigger one:
- New order → customer gets their footprint report. A Shopify, WooCommerce, or BigCommerce order fires the Zap; the customer receives one email covering every product they bought, with the total kg CO₂e for the order.
- Invoice sent → report sent alongside it. Trigger from Xero, QuickBooks, or MYOB so the sustainability data arrives at the same time as the paperwork.
- Deal marked Closed Won → report to the client. Works from HubSpot, Pipedrive, or Salesforce for distributors who sell offline and want a sustainability touchpoint at handover.
- Enrich records with footprint data. Use the SKU lookup to push kg CO₂e, a PDF link, and a results page link into Airtable, Google Sheets, Notion, or your own database — no code required.
- Filter and branch on impact. Look up a SKU, then only continue the Zap if a completed assessment exists, or route high-emission products to a Slack channel for review.
Before you start
| Requirement | Detail |
|---|---|
| Zilch plan | An active paid Starter or Pro plan. Free and trialing accounts can connect, but the send action will return a plan error. |
| Zilch secret API key | A key starting zlch_sk_, generated in Settings → Profile → API Access. This is not the same as your widget key. |
| Assessed products | Each SKU you want reported on must have a completed assessment in Zilch and sit in your catalogue (your own products, or products linked to you by a supplier). |
| Matching SKUs | The SKU in your store/CRM must match the SKU on the product in Zilch exactly. |
| Zapier account | Any Zapier plan. Multi-step Zaps (needed for the lookup + filter recipes) require a paid Zapier plan. |
Step 1 — Get your Zilch secret API key
- Sign in to your Zilch account.
- Go to Settings → Profile.
- Scroll to the Secret API Key section.
- Click Generate secret key, then copy it.
Your secret key starts with zlch_sk_:
zlch_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzlch_live_…) is the one the carbon emissions widgetputs into your website's HTML, where anyone can read it — so it can only look up a single SKU it already knows. The secret key (zlch_sk_…) is what Zapier and the Partner API use, and it will be rejected by every one of those steps if you paste the widget key instead.Because the secret key can email your customers and read your whole catalogue, it must only ever live somewhere your customers can't see it — Zapier's connection store, or your own server's environment variables. Never put it in a web page, a browser script, or the widget snippet.
Step 2 — Connect Zilch in Zapier
- In Zapier, create a new Zap and add Zilch as an action step.
- Click Sign in when prompted to choose an account.
- Paste your secret key into the Secret API Key field and click Yes, Continue.
Zapier verifies the key against Zilch straight away. Once connected, the account shows up in your Zapier connections labelled with your organisation name and account type — for example Acme Promo Co (Distributor)— so it's obvious which Zilch account a Zap is using.
Available steps
Action — Send Product Report to Customer
Emails a customer the carbon footprint report for their whole order. It's the identical report — same design, same numbers, same per-product breakdown — that you'd send by hand from Reports → Customer Footprint Report inside Zilch, and it's saved to that same list so you have a record of everything sent (and can resend from there if needed).
Input fields
| Field | Required | Description |
|---|---|---|
| Customer Email | Yes | Where the report is sent. Map this from your trigger. |
| Order Line Items | Yes | A repeatable group — one row per distinct SKU on the order, each with a Product SKU and a Quantity. All rows are combined into a single email. |
| Customer Name | No | Used to personalise the greeting. Falls back to the email address. |
| Order Reference | No | Your order or PO number. Also used for de-duplication (see below). |
| Custom Message | No | A short note included in the email body. |
Mapping line items from your order
Most order and invoice triggers hand Zapier their line items as parallel lists — all the SKUs in one field, all the quantities in another. Map the SKU list into Product SKU and the quantity list into Quantity, and Zapier pairs them up row by row:
Order Line Items
├─ Product SKU → 1. Line Items Sku
└─ Quantity → 1. Line Items QuantityReal invoices contain rows that aren't products — shipping, freight, discounts, notes. Those don't have a SKU that matches anything in Zilch, so they're dropped silently rather than failing the whole send. As long as at least one row resolves to an assessed product, the report goes out. Anything dropped is listed in the Skipped SKUs output field.
Output fields
| Field | Description |
|---|---|
status | sent for a fresh send, or already_sent if it was de-duplicated |
report_id | ID of the saved report — matches the entry under Reports → Customer Footprint Report |
total_emissions_kg | Total kg CO₂e across the whole order, quantities included |
product_count | How many products made it into the report |
skipped_skus | SKUs that were dropped — no match in your catalogue, or no completed assessment |
customer_email | Who it was sent to |
order_reference | The order reference you passed in |
already_sent with deduped: true, so a Zap that reruns after a hiccup is safe.Search — Find Product by SKU
Looks up a single product's carbon footprint by SKU. Use it to enrich records elsewhere, or as a guard before sending anything.
It takes one input — Product SKU — and returns nothing at all when the SKU has no completed assessment. That makes it a natural filter: add a Zapier Filter step after it and only continue if a result was found.
Output fields
| Field | Description |
|---|---|
sku | The product SKU |
product_name | Product name as it appears in Zilch |
total_kg_co2e | Total carbon footprint in kg CO₂e |
materials_kg, packaging_kg, decoration_kg, transport_kg, manufacturing_kg | The footprint broken down by stage — each directly mappable into later steps |
last_calculated_at | When the assessment was last run |
results_url | Link to the full interactive results page — safe to share publicly |
pdf_url | Permanent link to the PDF report — safe to share or embed |
Example Zaps
1. Shopify order → footprint report to the customer
The most common setup. Two steps, no filter needed.
Trigger: Shopify — New Paid Order
Action: Zilch — Send Product Report to Customer
Customer Email → Email
Customer Name → Customer First Name
Order Reference → Order Number
Line Items → Line Items Sku / Line Items QuantityNon-product lines like shipping are ignored automatically, so you can map the whole order without cleaning it up first.
2. Xero invoice → report sent with the paperwork
Trigger: Xero — New Sales Invoice
Action: Zilch — Send Product Report to Customer
Customer Email → Contact Email Address
Order Reference → Invoice Number
Line Items → Line Items Item Code / Line Items Quantity
Custom Message → "Here's the carbon footprint of your order."3. Only send when the products are actually assessed
If your catalogue is partly assessed, check first and stay quiet otherwise:
Trigger: HubSpot — Deal in Stage "Closed Won"
Search: Zilch — Find Product by SKU (SKU from the deal's line item)
Filter: Only continue if Total kg CO2e is greater than 0
Action: Zilch — Send Product Report to Customer4. Keep a spreadsheet of product footprints up to date
Trigger: Google Sheets — New Spreadsheet Row (a row with a SKU)
Search: Zilch — Find Product by SKU
Action: Google Sheets — Update Spreadsheet Row
kg CO2e → Total kg CO2e
PDF report → PDF URL
Results → Results URL5. Flag high-emission products to your team
Trigger: Airtable — New Record in "Products"
Search: Zilch — Find Product by SKU
Filter: Only continue if Total kg CO2e is greater than 10
Action: Slack — Send Channel Message to #sustainabilityLimits
| Step | Limit |
|---|---|
| Send Product Report to Customer | 200 reports per 24 hours, per API key |
| Find Product by SKU | 1,000 lookups per SKU per 24 hours |
| De-duplication window | 24 hours on the same customer + order reference + line items |
The daily send cap is a safety net: it stops a misconfigured Zap from emailing thousands of customers before anyone notices. If you have a legitimate need for a higher limit, get in touch.
Troubleshooting
| What you see | What it means | Fix |
|---|---|---|
| Your Zilch API key is invalid or inactive | The key was rotated, or was pasted incorrectly. | Copy a fresh key from Settings → Profile → Secret API Key and reconnect the Zilch account in Zapier. |
| This looks like your publishable widget key | You pasted the zlch_live_… widget key instead of the zlch_sk_… secret key. | Generate a secret key under Settings → Profile → Secret API Key and reconnect. |
| Sending customer reports requires an active paid Starter or Pro plan | The account is on the free plan or has no active subscription. | Upgrade under Settings → Billing. |
| End your free trial to send customer reports | Sending is gated behind a paid subscription — a trial is not enough. | Convert the trial to a paid plan. |
| At least one line item (sku + quantity) is required | The line item mapping came through empty. | Check the trigger actually returns line items, and re-map the SKU and Quantity fields. |
| The report is missing a product | That SKU was skipped. | Check the Skipped SKUs output. Usually the SKU doesn't match Zilch exactly, or the product has no completed assessment. |
| Status came back as already_sent | An identical report went out within the last 24 hours. | Nothing to fix — this is the de-duplication protecting your customer from a duplicate email. |
| Rate limit exceeded | More than 200 reports were sent on this key in 24 hours. | Wait for the window to roll over, or contact us about a higher limit. |
| Report saved, but the email failed to send | The report was created but delivery failed. | Resend it from Reports → Customer Footprint Report in Zilch. |
Frequently asked
Does the customer get one email per product?
No. Every line item on the order is combined into a single email with a per-product breakdown and an order total.
Can I see what Zapier has sent?
Yes. Every report sent through Zapier is saved under Reports → Customer Footprint Report in Zilch, exactly like one sent by hand.
What happens to products that aren't assessed yet?
They're skipped, and the rest of the order still gets reported. If no line item resolves, the step errors rather than sending an empty report.
How do I disconnect Zapier?
Rotate your secret key in Settings → Profile → Secret API Key. That invalidates it immediately and every Zap using it stops working — no separate revoke step needed. Your widget keeps running, because it uses a separate publishable key.
Can I use my widget key here instead?
No, and that's deliberate. The widget key is printed into your website's HTML where anyone can copy it, so it's restricted to looking up one SKU at a time. If it could also send email and export your catalogue, anyone who viewed your page source could do both.
Can I build my own integration instead?
Yes — Zapier sits on top of the same endpoints documented in the Partner API guide. If you'd rather call them directly, start there.
Need a trigger or action that doesn't exist yet? Tell us what you're trying to automate — the integration is built to be extended.