Two handed-over workflows, dry-run before a single write
Two automations an ops lead handed us, rebuilt from what the live API returns. The dry run caught 4 texts headed to opted-out people. Nothing was sent.
- Pipedrive
- n8n
- Custom
The problem
Two workflows arrived from the client's ops lead, handed over as ready to run: one to repair call activities, one to send a text campaign. The handoff itself carried the warning that a careless automated pass could clear every label in the system. Nobody wanted to find out by running them.
What we built
We rebuilt each one from what the API actually returns, field names and types, rather than from the handoff's description of it, and gave both a dry-run mode that logs every write it would make and makes none. The repair workflow as handed over would have touched 1 activity every 8 days. Re-derived, it dry-ran 72 repairs with 0 type changes across a window of 5,201 activities, and it now runs among the client's live automations.
The texting workflow had three fatal bugs. The dry run surfaced them, including 4 sends out of 11,090 to people who had opted out. The texting workflow was never imported; nothing was sent.
What came out of it is a single safe-to-send check that any outbound text has to pass: a phone number present, no do-not-text label, no unfilled placeholder in the message, and the dry-run flag off. It is built, not deployed, and it is the gate the client's texting will run through when they decide to send.
No AI in this build. Here's why that was right: a workflow that repairs records or sends a text has to do exactly what its author meant, every run. The fix was to read the API, not to guess at it.
Each workflow re-derived from the live API's real field names and types, a dry-run mode that logs every intended write and sends nothing, a repair pass that changes only the field it was meant to change, and a single safe-to-send check for outbound texts: phone present, no do-not-text label, no unfilled placeholder, dry-run flag off. The check is built and, as of this writing, not deployed.
Outcome
As handed over, the repair workflow would have fixed 1 activity every 8 days. Re-derived, it dry-ran 72 repairs with 0 type changes across 5,201 activities, and now runs live. The texting workflow's dry run caught 4 sends out of 11,090 to people who had opted out. It was never imported; nothing was sent.
Who this fits
- Teams inheriting automations from a contractor or a colleague who has left
- Anyone about to turn on a workflow that sends messages or edits records in bulk
- Ops leads who want to see what an automation would do before it does it