Monitor your syncs
Integrations fail quietly, on a Tuesday, and you find out on Thursday when a buyer asks why an article that was delivered last week is still shown as available. Monitoring is what closes the gap between those two days.
The failure that hurts most
The run that hurts most is the one that succeeds with nothing in it.
A source system changes an export path. The feed connects, reads an empty file, reports "0 records processed", and finishes green. Nothing alerts, because nothing failed. Your catalog is frozen at last Monday, and it stays frozen until somebody notices.
The second version of the same problem is the run that never starts. A disabled schedule, a paused workflow, an expired credential caught at the trigger: the run list shows no failures, because it shows nothing at all.
Both lead to the same rule: monitor for expected activity as well as for errors.
What to watch
| Signal | Healthy | Investigate |
|---|---|---|
| Last successful run | Within the expected interval | Older than one and a half intervals |
| Records processed | In the usual range | Zero, or an order of magnitude off in either direction |
| Failed rows | A stable small number, or none | A jump, or a slow week-on-week climb |
| Runtime | Stable | Growing steadily, or suddenly halved |
| Webhook delivery success | Near 100% | Repeated 5xx, or rising latency |
| Failed event queue | Empty | Anything in it |
| Punchout sessions | Regular for each live customer | A customer whose sessions stopped |
The last one is forgotten often and expensive. If a punchout customer's sessions stop appearing, either something in the connection broke or their buyers have gone back to phoning. Both are worth a call this week rather than at the next contract review.
Set up the alerts
- Go to Integrations › Workflows and open the workflow.
- Enable notify on failure, to a group address. A personal address is an alert that goes on holiday.
- Enable notify on empty result where the workflow has one. A run that processes zero records on a feed that normally moves thousands is an incident.
- Set a staleness alert: notify if no successful run has completed within the interval you expect.
- In Webhooks › Outbound, enable alerting on the failed-delivery queue.
Then send one deliberately failing run through the whole chain and confirm a human receives the mail. An alert nobody receives is worse than no alert, because it produces confidence.
The morning check
Five minutes, once a day, for the first month after any change:
- Open the Integrations dashboard for running jobs and recent failures, then Integrations › Runs sorted by time. Everything that should have run overnight has run.
- Check the record counts against the previous days. Look for zeros and for tenfold jumps.
- Open the failed queue for events. It should be empty.
- Spot-check one product and one price against the source system.
After a month this can drop to a weekly look at the trend, provided the alerts have proven they arrive.
Reconciliation
Alerts catch what breaks. Reconciliation catches what drifts, and drift is what produces the "the shop says something different from the ERP" conversation.
Once a week, compare counts rather than records:
- Articles active in the ERP versus published here.
- Orders transmitted here versus orders received there, for the same period.
- Customers active there versus organisations here.
The numbers will never match exactly, and that is fine. What matters is that the gap is stable. A gap that grows by 30 every week is a rule silently dropping records, and it is far easier to find at 30 than at 3,000.
Next
- Common sync errors: what the usual failures mean.
- Product not visible in the shop: when the data arrived but nothing shows.