Skip to content

Guide

Build an inbound lead audit for your GTM engineering portfolio

Use a free synthetic dataset and answer key to find routing failures, measure useful response time, and explain a repair in your GTM portfolio.

By
GTM Vibes editorial team
Published
Last updated
Source review
Agent-assisted source check on
Evidence checked

An inbound lead audit makes a useful GTM engineering portfolio project because the question is concrete: did a request reach the right team, and did someone address it? You can demonstrate data modeling, workflow diagnosis and measurement without buying a sales stack or sending anyone an email.

Start with our 16-row synthetic event file and exercise rules. Use a spreadsheet, SQL, Python or a workflow tool you already know. There is an answer key for checking your work. All records and outcomes are fictional; the project needs no CRM credentials, paid enrichment or model API.

The deliverable is a short audit, one demonstrated repair and a handoff another operator can follow. A screenshot of a workflow is useful supporting material. The decisions and evidence are the project.

Why this resembles actual GTM work

Grow Therapy’s GTM Engineer posting includes intake validation, routing, data models, testing and monitoring. LangChain’s Software Engineer, Agent Systems posting includes production monitoring, recurring evaluations, regression tests and business metrics. We checked both employer sources on October 22, 2026.

Those are examples of responsibilities this exercise can help you discuss. They do not mean these employers use this assignment or that completing it qualifies you for either role. For a broader comparison, read our guide to GTM engineer skills.

1. Decide what should happen before looking at what did

The fixture describes a fictional company serving new demo requests from the US and Canada. Existing customers go to customer success. Some requests need review, some are outside its market, and some must be suppressed under the exercise’s contact policy.

Apply these rules in order:

Order Condition Expected decision
1 The event_id appeared earlier in the file Ignore the replay; do not count or act again.
2 opted_out is true Suppress automated contact in this exercise.
3 contact_valid is false Manual review.
4 existing_customer is true Route to customer_success.
5 Country is missing Manual review.
6 Country is outside US and CA Mark out of scope.
7 Request type is not demo Manual review.
8 Otherwise Route US to us_sales and CA to canada_sales.

These are declared test rules, including the suppression rule for existing customers. A real business would need its own rules for support and contact permissions. Do not quietly replace the exercise policy with an assumption about how your last company worked.

Create an output with row_id, expected_action, expected_owner and reason. Keep the original event file unchanged. A blank expected owner for a review or suppressed record means this workflow should not assign it to sales or customer success; your design still needs a person or team responsible for the review queue.

2. Keep the clocks separate

The file includes five timestamps:

  • received_at: the form event arrived.
  • crm_created_at: a CRM record was created.
  • owner_assigned_at: a team was assigned.
  • acknowledged_at: an automatic receipt was sent.
  • useful_response_at: a response addressed the request and provided a next step.

The fixture supplies the last classification. In a real audit you would inspect messages to establish it. An automatic receipt does not prove that a request reached the right team or received a useful answer.

Use received_at as the start of response time. Starting at CRM creation makes capture delays disappear. The snapshot is October 21, 2026 at 12:00 UTC, and every event is older than the exercise’s 30 elapsed minute target. Off-hours count. That target is a test assumption, not a recommended service level for every business.

3. Find the failure, then locate its owner

Try the audit before opening the answer key. A few cases show why the distinction between an expected action and a completed action matters:

Case What the observations show What to investigate
R02 The same event as R01 appears twice. Does replaying an event create another task or inflate the report?
R05 A request with no country was assigned to US sales. Which rule substituted a guess for missing information?
R08 An eligible US demo request has a CRM write error. Where is the failure recorded, and who owns recovery?
R09 A Canadian demo request reached US sales. Is the territory mapping wrong, or did a later step overwrite the owner?
R10 The right owner and an automatic receipt exist, but no useful response does. Who owns follow-up after routing succeeds?
R16 An eligible request never reached the CRM. Can the audit see intake events independently of CRM records?

The file tells you what happened, not every cause. “The country mapping is wrong” is a hypothesis until you inspect the rule or trace. That distinction belongs in the audit.

4. Report the denominator, including unfinished work

For this exercise, response metrics cover unique events that should route, even if the CRM write failed. Include the customer-success route and disclose it separately from sales. Exclude replays, suppressed records, out-of-scope requests and manual-review cases from that specific denominator; report their counts alongside it.

The answer-key totals are:

Measure Synthetic result
Observed rows / unique events 16 / 15
Expected routes 9: eight sales, one customer success
Other unique decisions Three manual reviews, two suppressed, one out of scope
Correct observed owner 6 of 9 expected routes
Useful response within 30 elapsed minutes 4 of 9 expected routes
Still without a useful response at the snapshot 4 of 9 expected routes
Median among the five responded routes 12 minutes
Nearest-rank p90 among those five responses 60 minutes

The responded durations are 4, 8, 12, 20 and 60 minutes. For nearest-rank p90, sort the values and take position ceiling(0.9 × count), starting at position one. Here that is the fifth value. Other percentile methods can differ on such a small sample; name yours.

The 12-minute median leaves four unanswered requests out of its calculation. Reporting only that number would hide the unfinished work. Equally, nine expected routes are not nine qualified opportunities. The dataset has no meetings, accepted opportunities, closed deals or revenue outcomes.

5. Repair one path and show the replay

Choose a bounded change: fix the country mapping, preserve a failed CRM write for recovery, or prevent an event replay from creating another action. Record the proposed repair separately from the original observations.

Show a normal case, the failure case and a repeated event. Explain the expected number of resulting assignments or tasks. Re-running an integration should not accidentally duplicate its business action. If a write times out, explain how you would determine whether it succeeded before retrying it.

For an n8n implementation, its error-workflow documentation describes routing execution failures into a workflow that starts with an Error Trigger. That can make a failure visible. You still need to design recovery and check whether the business action happened.

AI is optional here. The supplied routing rules are deterministic. An extension could classify free-text requests or draft a response, but keep that experiment separate: supply labeled examples, inspect errors and preserve the contact rules. Adding a model call does not establish that the process improved.

Package it for a portfolio conversation

Submit the original fixture, your decision output, the calculation method and one before-and-after trace. Add a short note covering the user of the system, the failure you chose to fix, why it mattered, and what remains unresolved.

A precise portfolio statement is: “I audited 15 unique synthetic events, found four eligible requests without a useful response, and demonstrated a repair to one routing failure.” Only claim the repair if you ran it. Keep any simulated response times labeled as simulated; the answer key is not evidence of revenue saved.

Compare the work with current GTM engineering jobs, marketing operations jobs and RevOps jobs. Choose the role whose responsibilities match the part of the system you want to own.

Looking for roles related to this topic? Browse the related job hub.

Sources

  1. Grow Therapy — GTM Engineer · Checked October 22, 2026

    Employer responsibilities verified in the employer's public Ashby job-board API; this exercise is GTM Vibes' own design.

  2. LangChain — Software Engineer, Agent Systems (GTM Engineering) · Checked October 22, 2026

    Production monitoring, evaluation and measurement responsibilities; not a universal entry-level requirement.

  3. n8n — Handle errors gracefully · Checked October 22, 2026

    Documentation for optional error workflows; n8n is not required for this exercise.