// system.status4/4 pipelines operational|available for projects

Ruben John
Mendoza

Backend Automation Engineer & Sales Support Operations Specialist
GoHighLevel · API Integrations · CRM Systems

I design and build scalable backend automation systems — lead capture, follow-up workflows, booking pipelines, and CRM logic that runs without manual input.

Ruben Mendoza, Backend Automation Engineer
$ whoami
Ruben Mendoza
GoHighLevelWebhooksTwilioREST APIZapierMakeCRM Architecture

// about

I think in systems, not screens.

I'm a backend automation engineer focused on the infrastructure behind growth — webhooks, workflows, CRM logic, and integrations between the tools businesses already use. My work replaces manual processes with reliable systems that run on their own.

Designs
End-to-end workflow architecture
Builds
Webhook-driven lead pipelines
Integrates
CRMs, APIs, messaging, booking

// core stack

The tools I build with.

Specialized in connecting platforms, designing workflows, and shipping automation infrastructure that scales.

Backend & Automation

  • › GoHighLevel
  • › Webhooks
  • › REST APIs
  • › Zapier — Familiar
  • › Make — Familiar
  • › Twilio — Familiar

System Design

  • › Workflow architecture
  • › Lead lifecycle systems
  • › Data flow mapping
  • › Event-driven triggers
  • › Pipeline modeling
  • › State machines

Integrations & Tools

  • › CRM Pipelines
  • › SMTP / Mailgun
  • › Google Calendar
  • › Stripe
  • › Slack / Discord
  • › Custom Webhook Servers

// system architecture

How I Design Automated Backend Systems

A technical breakdown of a real backend system — from lead capture through booking, follow-up, and long-term reactivation.

system-architecture.diagram
Lead Processing Automation System architecture diagram
GoHighLevelTwilioWebhooksREST APIEmail Automation
// system

Lead Processing Automation System

Automates the full lead journey — from acquisition to booking and follow-up — using CRM automation, APIs, and workflow logic.

how it works
  • Captures leads from ads, funnels, and landing pages
  • Sends payload via webhook into the CRM in real time
  • Triggers automated workflows the moment data lands
  • Applies conditional logic to qualify and tag leads
  • Routes qualified leads into booking or nurture sequences
  • Automates reminders, follow-ups, and reactivation loops
key features
  • Instant response (<30s)
  • Conditional IF/ELSE workflows
  • Multi-channel: SMS + Email
  • Lead qualification & tagging
  • Long-term re-engagement loops
// Event-driven
Each step fires only when the previous emits a valid event payload.
// Stateful
CRM holds the source of truth — every contact has a clear lifecycle stage.
// Resilient
Failed webhooks retry; missed bookings auto-trigger recovery flows.

// systems shipped

Engineering case summaries

Real backends I've architected — structured by problem, system design, tools, and outcome.

Case Study 01 · HVAC

HVAC Lead & Booking Automation

// problem

Leads arrived through Facebook lead ads and a claim-offer form and went cold within minutes. Every reply was typed by hand, so after-hours enquiries waited. Appointments were booked manually, no-shows were never followed up, and nothing asked for a review once the job was done.

// architecture and tech stack
  • Intake — Facebook Lead Ad and claim-offer form post a webhook payload into GoHighLevel
  • Response — Twilio SMS and email, first reply inside 60 seconds
  • State — The CRM contact record is the source of truth and every stage transition is a status change
  • Routing — A 7-minute reply window then a sentiment split into positive, negative and neutral paths
  • Booking — Calendar link on a positive reply, plus reminders ahead of the appointment
  • Recovery — The no-show path re-enters the same nurture sequence rather than a separate list
  • Close — Review request fires only after job completion
  • Hardening — Failed webhooks retry and each step fires only on a valid event payload
// logic and execution
  • The 7-minute wait plus sentiment branch is the core state machine — a hot lead gets the booking link, silence routes to call connect and voicemail, and negative sentiment escalates to a human path.
  • No-show recovery reuses the pipeline rather than a separate list.
  • The review request is gated on job completion so it cannot fire against an open deal.
  • Every transition is driven by an event from the previous step, with no polling and no manual stage editing.
// outcome

Six workflows in production — leads answered in under 60 seconds, appointments booked automatically, missed appointments recovered, and reviews requested without anyone touching a record.

Instant response
Sentiment-based routing
Self-serve booking
Reminder cadence
No-show recovery
Post-job review request
GoHighLevelTwilioWebhooksCalendar API
Case Study 02 · Reputation

Review & Reputation Management System

// problem

Review collection depended on whoever remembered to ask. Negative feedback went straight to the public page because nothing intercepted it first, and customers who had already left a review kept being asked again.

// architecture and tech stack
  • Trigger — A contact tag applied on job completion in GoHighLevel
  • Outreach — SMS and email, sequenced rather than sent together
  • Cadence — A wait interval followed by a single follow-up
  • Exit — Link-click detection stops the sequence immediately
  • Intercept — Low-score responses route to a private form and raise an internal alert to the team
// logic and execution
  • Exit-on-engagement is the rule that fixed over-messaging — the moment a customer clicks the review link the sequence ends whatever step it was on.
  • Negative feedback is intercepted before it reaches the public page and routed to the team as an alert, so the response happens privately and fast.
  • Review requests are tied to the completion event rather than a calendar schedule, so the ask always lands after the work is done.
// outcome

Four workflows collecting reviews automatically, negative feedback intercepted privately, and no customer messaged twice for the same review.

Completion-triggered ask
Two-channel outreach
Click-through exit
Private feedback intercept
Internal alerting
Zero repeat requests
GoHighLevelSMS APIEmail AutomationSurvey Triggers
Case Study 03 · E-Commerce

Shopify → Zoho → Xero Order Automation

// system diagram
Architecture image placeholder
// problem

Orders were processed by hand — logged into a spreadsheet, invoiced manually in Xero, and confirmed with typed emails. Nothing checked whether the customer already existed in Xero, so duplicate contacts accumulated, and invoice references were inconsistent between orders. The error rate grew with order volume because every step depended on attention.

// architecture and tech stack
  • Intake — A webhook receives the order payload
  • Logging — The order is written to Google Sheets as the running record
  • Notification — Gmail sends the customer confirmation
  • Resolution — A Xero contact search runs before anything is invoiced
  • Branching — A router splits on the search result, so an existing contact creates the invoice directly and a new contact is created first
  • Output — The Xero invoice is generated with the correct reference
  • Testing — The scenarios were built and validated in ReqBin
// logic and execution
  • The contact-resolution router is the part that matters — invoicing only runs after the contact is resolved, so a first-time customer cannot create a duplicate record and an existing customer cannot create a second one.
  • Five scenarios were tested end to end — new customer, existing customer, no contact match, malformed payload and repeat order — and the passing runs required zero manual input.
  • The spreadsheet acts as a log rather than a queue, so nothing waits on a human to move a row.
// outcome

A webhook arrives, the order is logged, the customer is notified, the contact is resolved or created in Xero, and the invoice is produced with the right reference, across five test scenarios with no manual steps.

Webhook intake
Automatic order logging
Customer confirmation
Xero contact resolution
Duplicate prevention
Referenced invoicing
ShopifyMakeWebhooksGoogle SheetsGmailZoho InventoryXeroReqBin
Case Study 04 · Data Reconciliation

Multi-Source ERP & Customer Account Reconciliation Pipeline

// problem

Commercial account data lived across an enterprise ERP, a customer account platform and operational spreadsheets that did not agree with each other. Account records were matched by hand, mismatches were found late, and the daily and weekly activity figures were collated manually. That meant transcription errors, a reporting cycle that could not scale with volume, and no reliable way to tell which source was correct.

// architecture and tech stack
  • Sources — Enterprise ERP account exports, customer account platform records and operational spreadsheets
  • Extraction — Python scripts pull and normalise each source extract into a common schema
  • Matching — SQL joins resolve records on a stable account identifier, with normalised name and address matching as the fallback when identifiers differ
  • Duplicates — Near-duplicate accounts are flagged rather than silently merged
  • Exceptions — Unmatched and conflicting records are isolated into a review queue instead of being passed through
  • Reporting — The reconciled dataset drives the daily and weekly activity reports
  • Output — Excel and Google Sheets carry the review queue and the published reporting workbooks
// logic and execution
  • Reconciliation runs identifier-first with a normalised name and address fallback, so records still join when source systems format the same account differently.
  • Mismatches are classified rather than skipped — missing record, conflicting value, or duplicate — so the review queue is actionable instead of a dump.
  • Reporting figures are derived from the reconciled dataset, which removes manual collation and the transcription errors that came with it.
  • The same pipeline runs each cycle, so figures stay comparable week to week.
// outcome

Account records reconciled across three sources, mismatches surfaced for review instead of reaching reporting, and the daily and weekly activity reports generated from clean data rather than manual collation.

Multi-source extracts
Python normalisation
SQL matching
Duplicate detection
Exception review queue
Automated reporting
PythonSQLExcelGoogle SheetsERP & CRM exports
// the difference
"I don't just build funnels.
I build backend automation systems that replace manual business processes."
Architecture-first
Systems mapped before built.
Automation-native
Every workflow is event-driven.
Integration-ready
Connects any tool to any tool.

// live walkthrough

System demo

A behind-the-scenes look at a live backend automation — funnel, webhook routing, CRM logic, and trigger workflows.

// let's build

Schedule a systems audit.

Send the process that is still running by hand. You get a written read on what can be automated, what it would take, and what it removes from the week.

rubenjohn6969mendoza@gmail.com · or use the contact form