Free kit / Workflow Audit Kit

Find the Break in Your Workflow in One Sitting

I run this intake at the start of every repair engagement. You get the same fillable workbook: inventory, failure signals, scoring, and a ranked fix list you can hand to any developer or agency.

12failure signals, each with a lookup location
11worksheets you fill in on your own stack
7sections, in the order that makes the diagnosis

Once you know which step is broken, the matching kit is already written: Automated Lead Routing Kit, Contract OCR API Pack, and the Routing Stack bundle.

01

Before you start

This is the intake I run at the start of every repair, packaged as something you can run yourself. What follows is the operational work. Work the sections in order. The order is the diagnosis.

Broken workflow automation fails quietly. The form fires, the CRM receives the contact, sales sees the name. Everything looks alive. Then the contact has no source, the deal never opens, and the owner field stays blank. The failure queue catches it before the follow-up window closes.

The failure is rarely in the model. It is in the wiring, the retries and the missing audit trail. This kit finds the wiring.

Ground rules

Audit the money path first, from lead intake through deal creation, follow-up and payment handoff to onboarding and reporting. Everything else waits. Take the inventory before you change anything. Write down what you find while it is still true.

02

Section 1 · What you get, and what to fill in first

Five worksheets, one checklist and one triage table. Print the workbook or work it in a doc. The point is the order: inventory before signals, signals before scores, scores before any fix list. Skip a layer and the ranking lies to you.

What is in this workbook

ArtifactWhat it producesTime to fill
Workflow inventory sheetSystems, owners, handoffs and the last incident on each pathAbout 30 minutes
Entry-point sweepEvery source that can create or mutate a record15 minutes
Failure-signal checklistTwelve silent break patterns, ticked with evidence20 to 40 minutes
Priority scoring rubricImpact and effort scores that place each fix in a tier10 minutes per fix
Repair triage tableQuick fix or full rebuild, decided per candidate10 minutes
Evidence pack templatesWhat to bring to a stakeholder review or a builder30 minutes
Fill this first

The inventory. Everything downstream hangs off it. If you cannot name the owner of a workflow, that workflow is already the top of your fix list, whatever the scoring says.

Stakeholder snapshot (fill this in)

QuestionYour answer
Which workflow hurts most right now?
What was the last visible symptom?
Who feels it first?
Which systems are involved?
What did you already try?
What would "fixed" look like in one sentence?
03

Section 2 · Inventory: systems, owners, handoffs

Map every source that can create or update records, then every point that mutates them. The map takes 30 minutes. It saves 30 hours of guessing.

Table 1A · Workflow inventory (fill this in)

#System / scenarioOwnerTriggerHandoffs toLast incident (date + symptom)
1Example: Make scenario "Lead Intake v3"M. RossiTally form submittedHubSpot, Slack #sales12/03, no owner written, found next day
2
3
4
5
6
7
8

Table 1B · Entry points to sweep

Tick every source that can create a record. If it is not on the list, add it.

Entry pointWhat it usually createsCovered? / Owner
Website forms: Tally, Typeform, Webflow, Gravity Forms, HubSpot formsContact, deal, task
Facebook Lead Ads, LinkedIn Lead Gen FormsContact with campaign attribution
Calendly or scheduler eventsMeeting, owner assignment
Stripe, PayPal, WooCommerce, checkout eventsPayment, onboarding trigger
Manual imports, Google Sheets and Airtable handoffsBulk contacts, deals
Email parsing flowsContact, ticket, task
Support tickets that create sales tasksTask, lifecycle change
Custom webhook receivers and internal APIsAnything

Table 1C · Mutation points (every one needs five things)

Every mutation point needs an owner, a purpose, a field map, a failure path, and a last-tested date. Missing owner means risk and missing failure path means hidden cleanup. Without a last-tested date the workflow is already stale until proven otherwise.

Mutation pointOwnerPurposeField mapFailure pathLast tested
Zapier Zaps
Make scenarios
n8n workflows
HubSpot workflows
GoHighLevel workflows
CRM internal automations
Custom webhook receivers
AI scoring or classification steps
Manual edits by sales or ops
Freeze rule

Start with the workflows that mutate revenue state. Deal creation. Owner assignment. Lifecycle stage changes. Lead score updates. Pipeline movement. Onboarding triggers. Billing sync. Freeze anything with unclear ownership, duplicate output, or missing logs. Keep the intake path alive. Block the parts creating garbage.

04

Section 3 · Failure signals that dashboards never show

Twelve patterns I find over and over. Tick what you can prove is happening, then carry the ticks into Section 4. Each line tells you where to look: the signal is rarely where the pain shows up.

  • 1. Silent webhook failures: the event never arrives and nothing pages anyone. Where to look: endpoint logs, provider delivery history, any step with no failure handler.
  • 2. Duplicate writes: the same contact exists three times with different owners, and every report downstream is wrong. Where to look: creation logic with no search-before-create, form resubmits, retry storms.
  • 3. Missing idempotency: a replayed event creates a second record instead of updating the first. Where to look: no idempotency_key, no event_id stored, no raw payload archive.
  • 4. Stale state: lifecycle stage sits in New for three days while the deal never opens. Where to look: stage transitions with no logger, filters that stop a path silently.
  • 5. No audit trail: nobody can say what ran, what changed, or who approved it. Where to look: missing correlation_id, no before and after values, run history past retention.
  • 6. Permission drift: a token expired, a scope narrowed, or an API key was rotated while the workflow kept calling. Where to look: 401 and 403 responses buried in module logs, service accounts with no owner.
  • 7. Blank owner assignment: the record exists, the owner field stays empty, nothing routes. Where to look: routing rules keyed on a field the form never sends.
  • 8. Dead owner IDs: a user left, the CRM kept the ID alive, leads land in an inbox nobody reads. Where to look: owner status checks in the routing layer.
  • 9. Field map drift: a property was renamed six months ago and the chain still writes the old name, the old pipeline ID, the old trigger condition. Where to look: any scenario built months ago with no audit since.
  • 10. Retries that swallow the error: the chain stops at step four, retries twice, then gives up quietly. Where to look: ignore-error flags, modules with no error handler, filters doing the job of error handling.
  • 11. Filters as lead graveyards: one missing field blocks a good record and no queue ever holds it. Where to look: every filter sitting between a lead and the CRM.
  • 12. Unowned automation chains: nobody has audited or tested them, and they run every day. Where to look: anything with no owner, no purpose, no last-tested date.

Signal log

Signal #Workflow affected (from Table 1A)Evidence you foundFirst seen
05

Section 4 · Scoring fixes by impact

Score every candidate fix on two axes. Impact first, effort second. The result places the fix in one of four tiers: critical, high, medium, low. Same tiering I hand back from an intake.

Table 3A · How to score

DimensionScore 1Score 3Score 5
ImpactAnnoyance only. No revenue path touched.Manual rework every week, or reporting you no longer trust.Money path down: intake, routing, billing, onboarding, or anything that silently drops a lead.
EffortConfig change, under an hour.One scenario or endpoint rebuilt, one to two days.Cross-system change with migration, vendor coordination, or approvals, more than a week.

Table 3B · Impact by effort matrix

ImpactEffort 1Effort 2Effort 3Effort 4Effort 5
5 revenue path downCriticalCriticalHighHighHigh
4 leads leak, owners wrongCriticalHighHighMediumMedium
3 rework and bad reportsHighHighMediumMediumLow
2 internal frictionMediumMediumLowLowLow
1 cosmeticLowLowLowLowLow

Table 3C · Ranked fix list (fill this in)

#Candidate fixImpactEffortTierSignalsWeek
Reading the tiers

Critical means fix before the next campaign spends money. High means this sprint. Medium means schedule it. Low means write it down and move on. Anything you cannot score because you cannot find an owner goes to Critical by default.

06

Section 5 · From ranked list to a scoped rebuild

You now have a ranked list. The last decision is which lane each fix belongs in. A quick win ships this week. A rebuild deserves scope, a quote and an owner. This section is the triage, the procedure I run when I pick up the work, and the evidence pack you hand to whoever builds it.

Repair triage: quick fix or full rebuild

Work down the ranked list. Each candidate gets exactly one lane. If you cannot decide, it is a rebuild. Guessing cheap on a structural problem is how the same break comes back.

#Candidate fix (from Table 3C)Quick fix if...Full rebuild if...Lane
1Owner assignment blank on web leadsOne field map or one inactive IDRouting logic keys on missing data
2
3
4
5
6
Triage rule

A quick fix is a config change, a field map correction, an owner ID update or an error handler you forgot to attach. A rebuild is anything that needs a new contract between systems, whether that is identity rules, idempotency, a decision object, a schema or a migration. Do not paper a rebuild with a filter.

The five-step procedure I run on a scoped rebuild

Every intake runs the same priority order. The order is the diagnosis. Fix the layer that silently breaks everything above it before you touch anything visible.

STEP 1

The trigger and the payload

What I check: does the event fire, with the fields the next step expects?

Evidence to collect: one raw payload per source, the provider delivery log, the schema you believe is correct.

Pass condition: required fields present, types correct, event_id and correlation_id on every message, consent captured where it matters.

Common failure: a form label changed, the payload shape drifted, one required field came through empty and the chain ran anyway.

STEP 2

The identity layer

What I check: dedupe rules, matching keys and owner assignment before anything writes.

Evidence to collect: search results for the last 20 records, the idempotency key format, the owner resolution rule.

Pass condition: search contact by email and company by domain before create, one idempotency key per source event, owner resolves to an active user every time.

Common failure: creation with no search, inactive owner IDs still sitting in the routing rule.

STEP 3

The write path

What I check: schemas, permissions and idempotency on every CRM update.

Evidence to collect: the field map, token scopes and expiry, rate limit behaviour, raw API response codes.

Pass condition: every write validates against a schema, every retry is safe to replay, every permission is scoped and owned.

Common failure: renamed property, expired token, a retry that creates a second record instead of updating.

STEP 4

The failure path

What I check: retries, dead-letter handling and alerting, so the next break announces itself instead of hiding.

Evidence to collect: an error handler on every module, the contents of any dead-letter queue, where alerts are routed.

Pass condition: every failure lands somewhere visible, with its payload, its correlation ID and a named owner.

Common failure: ignore-error flags, filters used as error handling, alerts sent to a channel nobody watches.

STEP 5

The audit trail

What I check: a log of what ran, what changed and who approved it.

Evidence to collect: correlation ID threaded end to end, before and after values on each write, approval records on high-value changes.

Pass condition: any record can be reconstructed from its event_id, including the raw payload and the rule decision that produced it.

Common failure: run history past retention, no raw payload archive, no approval record on anything that touched money or a client.

Procedure worksheet

StepFindingEvidence referencePass / Fail
1 Trigger and payload
2 Identity layer
3 Write path
4 Failure path
5 Audit trail

Evidence pack for the stakeholder review

Three things make an audit fast. Two of them are optional, none of them are difficult. Assemble the pack before you open a single scenario. Half the value of an audit is not re-reading the same log three times.

  • Required: what breaks, which systems are involved, and what the expected behaviour was.
  • Helpful: error logs, webhook payloads, schema samples. These speed the audit up and are optional.
  • Helpful: the spreadsheet someone keeps because they stopped trusting the CRM. It is a confession and a map at the same time.

Evidence pack checklist

  • One-paragraph problem statement: what breaks, for whom, and what it costs in rework or missed follow-up.
  • Completed inventory: Table 1A and Table 1C filled, owners named.
  • Ticked failure signals: the signal log under Section 3 with evidence references.
  • Ranked fix list: Table 3C with tiers and the reasoning behind each score.
  • Triage lanes: quick fix or full rebuild, decided per candidate.
  • Raw samples: one payload per source, one error log excerpt, one bad record screenshot.
  • Event contract target: the shape you want every source to send (below).

Event contract to validate against

Use this shape as the target when you are checking whether a payload is complete. Tally can feed it, Typeform can feed it, a manual import can feed it. The system receives the same clean structure every time.

event_id correlation_id idempotency_key source_system source_record_id email phone company_domain budget_range urgency pain_summary consent_to_contact utm_source utm_campaign
Handing the list over

If a lane says full rebuild, treat it as scope. The CRM Automation Repair Kit covers the data layer work when the break is dedupe, merge, routing reasons or SLA timers. If the break is one broken path you want me to diagnose and fix, the free workflow diagnostic covers that.

07

Section 6 · FAQ

Do I need anyone on the call to run this?

No. You submit the stack and the symptoms, or you work the worksheets yourself. A conversation only happens when you ask for one.

Which workflows do I audit first?

The ones touching money, from lead capture through deal creation and payment handoff to onboarding and reporting. Everything else waits.

What stacks does it cover?

Make.com, Zapier, n8n, HubSpot, Salesforce, GoHighLevel, Clio, MyCase, Airtable, webhooks and custom APIs. If it moves data between two systems, it is in scope.

What do I walk away with?

You leave with a completed inventory and a ticked failure checklist. The ranked fix list carries four tiers with the reasoning behind each ranking, and every fix lands in a triage lane: quick fix or full rebuild.

Can you implement the fixes too?

Yes. The diagnosis stands alone. Implementation runs through the Build your system engagement. When the break is the data layer itself, the CRM Automation Repair Kit is the matching fix sheet.

What if the break sits between two business systems?

That usually belongs to a CRM and API workflow overhaul rather than a single workflow. The kit still maps it, and the ranking tells you where the boundary is.

What happens next. Run the free workflow diagnostic, or read the Meridian Legal Group case study to see what a rebuild looks like in production, then decide. When the template is not enough, the same systems ship as client engagements. The work covers workflow repair, lead qualification, document pipelines and agentic implementation.

08

Get the fillable workbook

Everything above is yours to read. The workbook adds the empty worksheets, so you fill them in on your own stack with your own owners, fields and failures. It opens in any browser, on any device, and it saves as you type.

When you want my read on your own stack, the workflow automation questionnaire takes ten minutes, and I reply with the first fix I would make and what it costs.