Available for work — Book a 30-minute call

Automation & integration engineer · n8n · GoHighLevel · HubSpot
Mark Kevin Rigor, smiling, holding an open laptop.

Delete the manual. Execute automation.

I build and repair the automation that runs behind your CRM. Lead capture, booking, reporting and migrations, on n8n, GoHighLevel and HubSpot.

What I do

Three problems I get called for

Each one links straight through to the projects that solve it, filtered.

Most requested

Lead capture & screening

Enquiries land in the CRM, get qualified against your real criteria, and reach a human before they go cold, instead of sitting in an inbox.

See related work (8) →
Booking & retention

Booking, retention & CX

Appointments booked and confirmed automatically and lapsed customers re-engaged, with rules about who must not be contacted, not just who should.

See related work (11) →
Data & migration

Migration & data integrity

Moving platforms without losing the logic, keeping two systems in sync, and making sure the number in the report is the number you meant.

See related work (7) →
Selected work

Six systems, written up properly

Six of 16 full case studies. Each one names the hard part and states exactly what can be verified.

For engineers and recruiters

If you are evaluating technical depth rather than fit: the case studies cover exactly-once assignment without platform concurrency control, fail-closed error design, webhook signature verification over raw bytes, measured relevance tuning on a vector store, and a nineteen-rule clinical-safety classifier.

Read the case studies

Thumbnail of the config publisher workflow graph, showing the validate-then-publish sequence with an error branch on every write. Designed and built

Capacity-Aware CRM Deal Routing

Capacity-aware deal routing across two CRM portals: projected workload over five working days replaces round-robin. Five workflows, 115 automated tests, shipped deliberately switched off.

Built n8nHubSpot CRM v3 APIn8n Data Tables

An automation agency, delivering to an Australian aesthetics clinic group and an allied-health / NDIS provider

Thumbnail of the SMS assistant graph: an inbound CRM webhook through a compliance gate to an AI agent with six attached tools, then a reply path and a Slack escalation path. Designed and built

SMS Booking Assistant for a Clinical Practice

An SMS assistant that books, reschedules and cancels clinical appointments — where the language model has no authority at all. Its write-tools are physically disconnected from the workflow graph.

Live n8n (self-hosted)OpenAIPinecone

A regional Australian massage and lymphatic therapy clinic

Thumbnail of the intake workflow graph: a Typeform trigger, a mapping node, and one POST to the intake endpoint. Designed and built

Security-Hardened Form-to-Database Intake

A form-to-database pipeline for children's special-category data, rebuilt after an independent review returned 'do not activate as designed'. Proven end to end — and still switched off, pending a DPIA.

Built Typeformn8n CloudPostgres (Drizzle schema + SECURITY DEFINER function)

A children's AI-education startup

Thumbnail of the weekly win-back workflow graph: eight sheet reads, an AI screening step, and three logged output paths. Designed and built

Clinical-Safe Win-Back Campaign Engine

A weekly engine that decides which lapsed patients to re-engage — and, more importantly, who must never be contacted. Nineteen rules, most of them suppression rules, with a human approval gate.

Live Python (pandaspytest)n8n

A regional Australian massage and lymphatic therapy clinic

Thumbnail of the weekly revenue reporting graph: a scheduled fan-out over centres, nested loops over tasks and invoices, and a Google Sheet plus emailed HTML dashboard at the end. Built and shipped

Weekly Practitioner Revenue Reporting

Weekly per-practitioner revenue reporting for two clinics on different platforms. The defining problem: a figure that came back roughly double the client's, because taking a payment updates the invoice.

Live n8npractice-management APIsGoogle Sheets

An automation agency, delivering to an Australian aesthetics clinic group and an allied-health / NDIS provider

Thumbnail of a repointed appointment-sync workflow: triggers and a filter feeding a loop that searches the CRM twice before updating or skipping each contact. Built and shipped

CRM Account Ownership Migration

Moving a healthcare business's whole marketing stack out of an agency-controlled sub-account. The audit reduced an apparent 141-automation rebuild to the ~33 that were actually live.

In progress GoHighLevel API v2n8nPowerShell

A regional Australian massage and lymphatic therapy clinic

View more projects →

How I work

Map, diagnose, build, verify

Four steps, in that order. The first one is the one most automation work skips.

Map

Read the live system before changing it. Most of what breaks is something nobody knew was there.

Diagnose

Find the actual cause, not the symptom. It is usually a data assumption, not a broken node.

Build

Deterministic where it matters. Fail closed, never fail quiet.

Verify

Prove it works, and prove the tests would catch it breaking.

Client transmissions

What clients said

One on camera, one transcribed from the original message.

Video still: a woman in a high-visibility orange hooded top speaks to camera in a timber-panelled office. A caption burned into the video reads "automated systems for our bidding process". Play the testimonial AccuCut Lawn Care and Landscaping · 0:41

On-screen caption: “automated systems for our bidding process”

Recorded by the client, published February 2026. Loads from YouTube only when you press play.

FYI - the new lead routing script you wrote is working perfectly. Zero duplicates in HubSpot today. Sending over a bonus for fixing that API mess.
AccuCut Lawn Care and Landscaping — Slack
Mark Kevin Rigor, smiling, holding an open laptop at his side.
About

Who you would be working with

Mark Kevin Rigor · Automation & integration engineer

I build and repair the automation that runs behind a CRM: lead capture, booking, reporting, and the migrations nobody volunteers for. Most of the depth is in n8n, with GoHighLevel, HubSpot, Keap, Make and Zapier as the job requires. The work on this site runs across healthcare, recruitment, photography and education.

A good part of it started as somebody else's system. Mapping a live workflow end to end, finding what is quietly broken inside it, and extending it without breaking the rest is what I get called in for most often. On one of those the audit found four delay nodes with no incoming connections and a test spreadsheet wired in as production, in a system everyone believed was working.

Questions

Frequently asked

Which platforms do you actually work in?

n8n, GoHighLevel, HubSpot, Keap, Make and Zapier. Each one is a filter on the work page, so you can look at the projects instead of taking the list on trust.

n8n is where the depth is. The others I work in as the job requires, which is a real distinction rather than modesty, and it is worth knowing before you hire someone.

You will not be asked to change platform to suit me. Most of this work happens inside the tools a business already runs, and where a migration genuinely is the answer it becomes its own project with its own risks.

Can you take over a system you did not build?

Yes, and one of the case studies here is exactly that. I mapped a live recruitment screening system end to end, audited it, and extended it.

The audit found four delay nodes with no incoming connections, so the intended human-like delay never ran; two email paths that could double-send; and a test spreadsheet wired in as production. None of that was visible from the outside. The system appeared to be working.

Getting out of a platform counts too. There is a migration here off a CRM with no automation export API, where 135 of roughly 178 automations were captured with hand-built tooling and analysed one at a time. Note the shape of that: 135 of roughly 178, not "all of them".

How do I know it actually works?

Every case study here ends with a panel headed "What can be verified", and it lists only things that can be checked inside the system itself: artefact counts, test counts, measured technical values.

On the deal-routing build that meant 115 automated tests across five workflows before it was switched on. The tests are as much the deliverable as the workflow is. They are what tells you it still works after the next person edits it.

Systems are built to fail closed, which means that when something goes wrong they stop and say so rather than carrying on with a half-finished result. The expensive failure is the quiet one: a workflow that looks like it ran, and did not. Most of the damage I get called in to undo started that way.

Why are there no ROI or time-saved figures anywhere on this site?

Because none were measured. Every figure on this site is an artefact count or a measured technical value.

No business-outcome metric, whether time saved, revenue or conversion, was captured on these engagements, so none is claimed. A number I cannot show you the derivation of is worth less than saying so plainly.

Statuses are held to the same rule. Where a project says "live", that reflects repository evidence and platform backups, not a check of the system today.

How do you handle our data, and our clients' data?

This site is the reference. The only client named anywhere on it is the one who volunteered a testimonial and agreed to be named. Everything else is described by sector.

The workflow screenshots are redacted from a written recipe rather than by hand, so the same crop and the same boxes apply every time and a re-export cannot quietly uncover something. No patient name, email address or phone number appears anywhere here. Several captures I would have liked to show are simply not published, because I could not clear what was visible in them.

The systems themselves run in your accounts, not mine. If the automation lives in my account you are renting access to your own process, and you should be able to end the engagement and still own the thing.

Contact

Ready to automate?

Bring the process that is annoying you. No prep needed.

Pick a 30-minute slot.

Or open it directly: calendly.com/rigormarkkevin/30min

Prefer email? markkevinrigor@gmail.com

Or send a brief

Tell me about the process instead

Five short questions. Enough for me to tell you whether this is worth automating before either of us spends an hour on a call.

The process

Plain language is fine. Who touches it, in what order, and where it stalls.

How often, and how much

A rough order of magnitude is enough, say 20 a week or 5,000 contacts.

What you want fixed

Tick anything that applies.

What you already run

CRM, spreadsheets, inbox, booking, whatever it touches.

How to reach you

Your brief goes to me directly. You are not added to a mailing list, and there is no automated follow-up sequence.