Connect
Fits your stack. Bends to your logic.
Native on Shopify, two-way with Klaviyo and open all the way down: a GraphQL API, webhooks for every event and scripts that run your own logic.
API
GraphQL
1
mutation {
2
replaceSubscriptionProducts(input: {
3
subscriptionId: โ4821โ
4
replacements: [{
5
orderedProductId: โ77โ
6
productId: โBEAN-DECAF-1KGโ
7
}]
8
}) {
9
orderedProducts { id title }
10
}
11
}
One order, every system.
A renewal in Firmhouse is one event. Shopify, Klaviyo, your warehouse and your own systems each get it, with the same order number.
Firmhouse
Renewal
Payment collected
โฌ 42.60 ยท iDEAL
Shopify
Synced
Order created
#4821 ยท tagged subscription
Klaviyo
Sent
Order event sent
Profile Noor Bakker
Monta
Sent
Order sent to the warehouse
Ready to pick
Your webhook
200
Order and invoice ready
Idempotency-Key 9f2cโฆ
Four ways to plug in.
Start with the store you run, connect the tools you already use and build what is missing.
01
Native on Shopify
Install the app and keep Shopify in charge. Orders land with your tags, shipping rates and stock, and subscription contracts stay in sync.
Subscription contracts stay in sync
Out-of-stock orders skipped
Customer merges relinked
Shopify ยท Order #4821
Synced
Order created
Tagged subscription, cycle 4
Selling plan matched
Every 2 weeks
Contract synced
Next order 12 Nov
Stock checked
BEAN-1KG in stock
Delivery option kept
Local pickup
Integrations
5 connected
Klaviyo
Events out, segments in
Mollie
Payments and mandates
Monta
Orders to the warehouse
Veriff
ID check at signup
Shopify Flow
Webhook triggers
Segment synced
VIP customers ยท from Klaviyo
02
Two-way with your tools
Klaviyo gets every subscription event and sends segments back. Payment providers, warehouses and ID checks plug in the same way.
62 events to Klaviyo, segments back
Mollie, Adyen and Stripe
Monta, Picqer and Veriff
03
An open API
Read and change everything through GraphQL, in bulk when you need to. Every event goes out as a webhook, with an idempotency key and your own headers.
GraphQL API with bulk operations
Webhooks with Liquid templates
Idempotency-Key on every delivery
Webhook deliveries
Live
Order scheduled
200 ยท 09:00:01
Order and invoice ready
200 ยท 09:00:02
Customer details updated
200 ยท 09:00:02
Invoice reminder sent
200 ยท 09:00:03
Duplicate delivery skipped
Same Idempotency-Key
Gift every 5th order
Script
Live
1
// Runs before a recurring order is confirmed
2
if (order.number % 5 === 0) {
3
addGift(โSAMPLE-BOXโ)
4
}
Order #4825
Gift added
Order #4826
No change
Order #4827
No change
Ran 1,204 times
this month
04
Your own logic, inside Firmhouse
When no setting covers it, write a script. It runs at the moment you choose, like just before a recurring order is confirmed.
Change recurring orders before confirmation
Update plans and product metadata
Retry a failed run from its notification
What Connect includes
Shopify app with contract sync
Stock sync and out-of-stock skips
Shopify Flow triggers
Klaviyo two-way, 62 events
Payment, warehouse and ID-check integrations
GraphQL API with bulk operations
Webhooks with idempotency keys
Script executions
Recently shipped
Developers
23 Oct 2026
Keep customer details in sync with a new webhook
Read the release โ
Developers
23 Sep 2026
Replace multiple subscription products in one API request
Read the release โ
Developers
10 Sep 2026
Recognize duplicate webhook deliveries
Read the release โ
Shopify
21 Aug 2026
Shopify subscription contracts stay in sync automatically
Read the release โ
Questions about connecting Firmhouse
Does Firmhouse work with Shopify?
Which tools does Firmhouse connect to?
Is there an API?
How do I avoid processing a webhook twice?
Can I run my own code?
Does Firmhouse work with Shopify Flow?
Works with Connect
Paused subscriptions found
38 ยท via API
Offer drafted
10% off next order
Needs your OK
Before sending
Apply offer
After approval
Agents
Subscriptions
CSV ยท daily
Sent
Orders
CSV ยท daily
Sent
Order lines
CSV ยท weekly
Sent
Bulk export
GraphQL
Sent
Data
8 Nov
Failed
โฌ 42.60
11 Oct
Paid
โฌ 42.60
13 Sep
Paid
โฌ 42.60
16 Aug
Paid
โฌ 42.60
Revenue