← All standards
Open specificationStablePublished September 2026Changelog

The Follow-Up Build Standard

How the quote nobody answered, the document nobody sent back and the decision somebody owes you get chased: on a written cadence, over channels they agreed to, until it arrives and not one touch after. Written so you can build it yourself. Or skip the build: chasing a quote is common enough that we built the standard into a product, Get Paid on Office Voice.

Used by

  • Office Manager
  • Sales Administrator
  • Estimator
  • Contracts Administrator

10 min read · Published by AI Pathway

Using Claude? This standard installs as a skill. Guides for ServiceM8, Xero and Simpro.

What this is

An open build standard for chasing the thing somebody owes you that is not money: the quote they never answered, the variation they never signed, the certificate, the PO number, the form. Chased until it arrives, then left alone.

The core rule

Every chase belongs to an open item with a due date. The moment the item arrives, or the person says no, the chase stops that run. Reminders that land after the answer are the failure this exists for.

What it does not do

It does not chase money that is late; that is the Debtor Chasing standard. It never argues with a no, never re-asks after a dispute, and never offers a discount or a concession to get an answer. Those stay with a person.

The hard part

Not the reminders. Knowing the signed document came back before the next text goes out, and a phone call that discloses it is an AI, asks for one thing, and writes the answer down as a date rather than a transcript.

The quote went out on the Monday. Nobody rang. The variation was agreed on site and never signed, so it cannot be billed. The certifier still has not sent the certificate and the job cannot close. None of these is a debt yet. Each is a thing somebody owes the business, sitting in somebody’s head, chased when they remember and forgotten when they are busy. And the one time it was chased properly, the reminder went out the morning after the customer had already signed.

One open item, owed to arrived

  1. Something is owed to the business that is not money: a quote decision, a signed variation, a certificate, a PO number, a returned form.
  2. It exists as an open item with a kind, the record it belongs to, the person who owes it and a due date. Nothing is chased that is not on the register.
  3. Open items are ranked by value at risk, then by days open. Age alone never decides the order.
  4. The contact's recorded consent decides which channel, and the written cadence decides when and how many times.
  5. Before any touch, the gate asks: has it arrived, does the business owe them something first, is the cap reached, is there consent for this channel? If no, the item is held with a reason and nothing goes out.
  6. If yes, the touch goes: a text, an email, or the call. The call opens with the AI identification and the recording notice, asks for the one thing owed, and records the answer as a date, a decision, a no or a dispute. That call is the hosted step.
  7. If the answer arrived, or the item went to a person on a no, the chase stops. If not, the next touch comes back through the same gate at the next spacing, up to the cap, and at the cap the item goes to a named person with its history.
The open item is the trigger, and the plain diamond is the gate a builder proves on the stub: not arrived, not owed by us, inside the cap, on a consented channel. The filled diamond is the call, disclosed first with one ask and one recorded answer. The live line is the hosted step, and section 9 says how to join it to your own build. The loop is the cadence, up to the cap.

Take the spec to Claude, ChatGPT or Copilot. The sentence to paste is one click away.

Done for you: Get Paid

Every business that sends quotes does this job, so we built this standard into a standalone product: Get Paid on Office Voice. It reads the quotes you have sent that nobody has answered, rings each customer on a real line, disclosed and recorded as section 7 asks, and keeps the outcome of every call. It chases the quote, the first kind in section 2.

What it does today

  • Reads your sent quotes that nobody has accepted or declined from Xero, and each morning between 9 and 10 rings the customer on any quote a day or more old, inside a daily call cap for the business.
  • Says it is an AI, and that the call is recorded, at the start of every call.
  • Places every call on the existing-customer basis, a quote you sent them, so no Do Not Call Register wash runs on it.
  • Holds calling hours (9am to 8pm weekdays, 9am to 5pm Saturdays, no Sundays) in the customer’s own state, and national public holidays.
  • Re-reads the quote just before the dial, and stands the call down if the quote has been accepted or declined since.
  • Leaves out anyone who has opted out or is marked no call, and holds a quote until the day the customer asked to be rung back. A call you queue is checked again for an opt-out, a promised date or a dispute just before it rings.
  • On the call it checks the quote arrived, answers questions without re-quoting or discounting, and books a callback or puts the customer through to your team. On a no it asks once why, and ends politely.
  • Places your list in your order when you send one, and keeps a recording and a record of every call.

Start a 30-day free trial, connect Xero and switch Get Paid on; prices are on the pricing page. If you would rather we set it up for you, that is a fixed-price set-up: pick a time.

Rather build it yourself? Everything you need is below, free. Joining it to your own inbox, ledger or a bigger workflow? See joining it to your own system. Get Paid is held to the pass tests on this page like anything else.

1. What this standard covers

Anything owed to the business by someone outside it that is not money. A customer’s decision on a quote. A signed variation. A certificate from a subcontractor or a certifier. A purchase order number from a commercial client. A returned form. If the job, the invoice or the quote cannot move until a particular person sends a particular thing back, this applies.

What is out of scope. Money that is late. An unpaid invoice has a ledger, a due date off the invoice, a promise to pay and a payment that stops the chase, and all of that is the Debtor Chasing standard. This standard borrows its ranking rule and nothing else. If the thing owed is a dollar amount, stop reading here and go there.

It sits after the Quote Out standard, which produces the quote this chases, and beside the paper on following up quotes for trades, which makes the argument for chasing at all. This page is the checks that argument was missing.

What cannot meet it. Tradify has no public API, so open items cannot be read from it and the arrival cannot be seen there. A Tradify business can run this standard from a register kept beside it, a sheet with one row per item, with the arrival marked by a person, and the standard says that plainly rather than claiming an integration that does not exist.

The failure this prevents is specific. Not the quote that was never chased, though that too. The reminder that went out after the customer had already said yes, and the fourth text to someone who said no on the phone last week.

2. The kinds of thing owed

Five kinds, a closed list. The kind decides the cadence and what the value at risk means. A note somebody typed that says “chase Bob about the thing” is not a kind, and it is not chased.

KindWhat it isValue at risk
quote_decisionA quote went out and nobody said yes or noThe quote total
signed_variationExtra work agreed on the phone, not yet signedThe variation amount, which cannot be billed until it is
certificateA compliance certificate a subcontractor or supplier owes the jobThe retention or the stage it holds up
po_numberThe customer's purchase order number, without which the invoice will bounceThe invoice it blocks
formA signed form the job cannot close without: an access agreement, a credit application, a handover sheetWhat the job cannot do until it is back

The variation is the one that matters most and the one most often chased by hand. It is billed only when signed, so an unsigned variation is work done for nothing until the signature comes back. This standard chases the signature. It never approves the variation on a call, and it never bills it.

3. The objects, and what is in them

Six objects. The outcome is the one most builds leave out, because a call that ended in a transcript looks like a call that ended in an answer.

For your developer. Show the fields
OpenItem                          # one per thing owed
  - id, kind (quote_decision | signed_variation | certificate |
              po_number | form)
  - record_ref                     # the quote, job or invoice it belongs to
  - owed_by (contact_id)
  - value_at_risk                  # the amount the record holds up
  - opened_at, due
  - status (open | arrived | declined | escalated)
  - we_owe (nullable)              # set when the ball is with the business

Cadence                           # written once per kind, by a person
  - kind, max_touches, spacing_hours
  - channels[] (sms | email | call), in preference order
  - escalate_to                    # the named person at the cap

Consent                           # theirs, read through the contact record
  - contact_id, channel

Touch
  - item_id, channel, at
  - outcome (sent | date | decision | declined | dispute)

Outcome                           # the answer, never a transcript
  - item_id, kind (date | decision | declined | dispute)
  - value                          # a real date, or the decision
  - recorded_at

Arrival
  - item_id, evidence_ref          # the signed document, the PO, the outcome
  - at

A Touch on an item whose Arrival is earlier is the defect this standard exists to make unrepresentable. A call Touch with no Outcome is the other, and it should be visible on the record as exactly that.

4. The checks, in order

The order is the claim. The item exists before it is ranked, the ranking sits above a gate it cannot override, and the gate reads the arrival, the consent and the cadence before a channel is picked. A build that texts first and checks later produces a polite reminder to someone who signed yesterday.

  1. Every thing owed is an open item with a kind, a record, a person and a due date. A chase exists only for an OpenItem: a kind from the closed list (quote_decision, signed_variation, certificate, po_number, form), the record it belongs to, who owes it, and when it was due. A chase with no open item behind it fails.
  2. The chase order is value at risk, then days open, never age alone. Items are ranked by the value at risk on the record, with days open breaking ties. A build that sorts by age chases the oldest small form while the large quote goes cold. The rule is Debtor Chasing's, lifted on purpose.
  3. Touches per item are capped and spaced, on a written cadence. Each kind has a cadence: a maximum number of touches and a minimum gap between them. A touch is made only through the gate, and the gate reads the cadence. A fourth touch inside a cap of three, or two touches closer than the gap, fails.
  4. A message goes only on a channel the contact has consented to. SMS or email is sent only where consent for that channel is recorded against the contact. A contact with email consent only is emailed, never texted. A touch on a channel with no consent fails.
  5. A follow-up call opens with the AI identification and the recording notice. Before anything is asked, the call says it is an AI calling for the business and that the call is recorded. The first thing said on the line is the disclosure, and no ask precedes it.
  6. The call asks for the one thing owed and records the answer as a date or a decision. The call asks for the item and nothing else. The answer is recorded as an Outcome: a date, a decision, a no, or a dispute. Never as a sentence in a transcript that somebody has to read later. A call that ends with no recorded outcome fails.
  7. When the item arrives, the chase stops that run. The signed document comes back, the PO number lands, the decision is given: the arrival is filed as evidence against the item and the item leaves the chase. A touch after arrival fails.
  8. A no, a dispute, or stop contacting me ends the chase and goes to a person. A no is recorded as declined and a dispute as a dispute. Either ends the chase that moment and routes the item to a named person with what was said. The machine never argues, never re-asks and never offers a concession. A further touch fails.
  9. No touch goes out while the ball is with the business. If the record shows the business owes the contact something first, a revised drawing, a corrected quote, an answer to their question, no touch goes out for that item until it is cleared. Chasing a person who is waiting on us fails.
  10. An item still open at the cap goes to a named person with its history, not into a longer loop. When the cap is reached and nothing has arrived, the item is escalated once to a named person, carrying every touch so far, and that person is told. It is never put on a second cadence by the machine.
  11. Every touch, its channel, its outcome and the arrival are retrievable by item. When the customer says nobody told them, or says they were told five times, the record for the item answers: each touch with its channel and time, each outcome, the escalation if any, and the arrival with its evidence.
  12. It survives the builder. Someone other than the builder can explain what it does, and it runs on an account the business owns.
  13. The pass test passes. On real open items with real numbers: one arrives mid-cadence and the chase stops, one says no and is escalated, one is over the cap and goes to a person, and every call disclosed first.

5. The four queues

QueueWhat it holdsThe rule
OpenEvery item still owed, ranked by value at risk then days openOnly items on the register. Touched through the gate, on the cadence, on a consented channel
ArrivedThe document came back, the number landed, the decision was givenThe arrival is filed as evidence. No touch after it, ever
Declined or disputedA no, a dispute, or stop contacting meRecorded as an outcome and with a named person. The machine never re-asks or argues
EscalatedItems that reached the cap with nothing backOnce, to a named person, with every touch so far. Never onto a second cadence

Three of the four queues are exits. Only the first is ever touched, and an item leaves it in one direction. Nothing comes back from Arrived, Declined or Escalated without a person moving it, and the machine has no port that does.

6. The cadence and the cap

A cadence is written down once, per kind, by a person: how many touches, how far apart, which channels in what order, and who gets the item when the touches run out. Three touches two days apart is a reasonable start for a quote. The number is the business’s to set, and the standard does not care what it is. It cares that there is one, that it is read at the gate, and that the cap ends the loop.

The ranking rule is Debtor Chasing’s, lifted on purpose: value at risk first, days open second. It is worth saying why, because the age-first sort is the one every reminder tool ships with. The oldest open item is usually the smallest, because the large ones get chased by hand. A build that sorts by age spends its first touch of the day on a form worth nothing while the quote for the whole job goes cold.

The channel follows consent, not convenience. A contact who gave an email address and nothing else is emailed. Consent is read from the contact record, never inferred from the fact that the number is on file. And the one rule that is easy to miss: if the record shows the business owes the contact something first, a revised drawing, a corrected quote, an answer to a question they asked, nothing goes out. Chasing a person who is waiting on you is the fastest way to lose the job.

7. The call

Most of the cadence is a text or an email, and those a builder proves on the stub. The call is different. It opens with the disclosure, that this is an AI calling for the business and that the call is recorded, before anything is asked. Then it asks for the one thing owed and nothing else. Then it records the answer as an object: a date, a decision, a no, or a dispute. A sentence in a transcript that somebody will read on Friday is not an answer. A date is.

The call is where the standard stops being provable at home. The stub can show the first turn was the disclosure. Only a live line shows the words were heard. Every dial needs a lawful basis on the record, and a number with none needs a wash against the Do Not Call Register, which takes an agreement a stub cannot hold; the Debtor Chasing standard dates the obligation (as at 3 October 2026). Calling hours need a real clock in the contact’s real day. Those, with the recording as proof, are the hosted step, and section 9 says how to join it to your own build.

What the call never does: argue with a no, ask a second time after a dispute, or offer a discount, an extension or any concession to get the answer. It records what was said and hands the item to a person. A concession offered by a machine to a customer who was about to say yes anyway is money gone for nothing, and one offered to a customer who had a real complaint is worse.

8. What stays with a person

  • The no. Whether to ring back, revise the quote, or let it go is a conversation, and it is theirs.
  • Anything disputed. The customer who says they never agreed to the variation gets a person, not a third text.
  • Deciding to drop an item. The machine escalates at the cap; a person closes it.
  • Any discount, extension or concession offered to get an answer. The machine has no port that offers one.
  • Writing the cadence: the cap, the gap, the channels and the name at the end of it.
  • Clearing we_owe. Only a person can say the business has done its part.

9. Join It to Your Own System: What to Stub, and What Not to Hand-Roll

One step not to hand-roll: the call on a real line, disclosed and recorded, with calling hours and the lawful basis for each dial underneath it. That is the Get Paid quote call. Everything else a coding agent builds against the stub in an afternoon, and this is what you need to join the two.

For your developer. Show the provider config
provider:
  stub:       local.mock_items
  production: office_voice.recover      # Office Voice / Recover, sold as Get Paid
  default:    stub                       # no live mapping in the conformance kit yet

the hosted step                      # Office Voice, Recover, sold as Get Paid
  - the call itself, on a real line, for open quotes
  - the AI identification and the recording notice, first
  - the existing-customer basis on every dial, so no register
    wash runs on these calls
  - calling hours in the customer's own state
  - the recording and the outcome, as the proof
  The quote call is its own call (outbound.quote_closer), a sibling
  of the invoice call in the same runtime, which is how one product
  serves this standard and Debtor Chasing.

joining it to your build
  - the hosted call takes open quotes, and no other kind of item
  - switched on, it rings each morning on open quotes sent a day
    or more ago, inside the business's daily call cap. Calls you
    queue count against the same cap
  - to queue quote calls in your own ranked order: POST
    /api/v1/campaigns with query_key quotes_older_than_60d or
    quotes_over_5000_not_booked, and customer_external_ids in
    order. Needs the campaigns:initiate scope. At most 50 per
    request, and a single customer needs a basis. A name with no
    quote the query matches comes back unmatched and is not rung
  - every queued call goes through the same gate at dial time

stays local                          # yours, and the standard
  - the register of open items, on your own records
  - the ranking, the cadence and the cap
  - consent, read from your contact record
  - the text and the email
  - the stop on arrival, and the escalation to a person

cannot meet the standard
  - Tradify, for the item side: no API. A register kept beside it is
    the honest route.

A vendor selling automated follow-up is usually selling the reminders. Ask them three things: what stops the sequence the day the document comes back, what happens on the fourth touch, and what the record says the customer answered on the call.

The pass test. On real open items with real numbers, not a sample. Put five things the business is actually owed on the register, of at least three kinds, with the value at risk from the record. Run the cadence the business wrote down over its own days. While it runs, have one of the documents actually come back, mid-cadence: that item must show the arrival as evidence and carry no touch after it. Have one contact say no on the call: the item must carry a declined outcome, be with a named person, and receive nothing further. Let one item run past the cap with nothing back: it must be escalated once, to a named person, with every touch listed, and never texted again. Then listen to every call recording: each opens with the AI identification and the recording notice before the ask, and each ends with an outcome on the record that is a date or a decision, not a paragraph. If any of those four is not what happened, the standard is not implemented, however tidy the reminders look.

10. Conformance checklist

Hold a DIY build or a vendor to this. If a box is empty, it is not in production.

  • 1. Every thing owed is an open item with a kind, a record, a person and a due date. A chase exists only for an OpenItem: a kind from the closed list (quote_decision, signed_variation, certificate, po_number, form), the record it belongs to, who owes it, and when it was due. A chase with no open item behind it fails.
  • 2. The chase order is value at risk, then days open, never age alone. Items are ranked by the value at risk on the record, with days open breaking ties. A build that sorts by age chases the oldest small form while the large quote goes cold. The rule is Debtor Chasing's, lifted on purpose.
  • 3. Touches per item are capped and spaced, on a written cadence. Each kind has a cadence: a maximum number of touches and a minimum gap between them. A touch is made only through the gate, and the gate reads the cadence. A fourth touch inside a cap of three, or two touches closer than the gap, fails.
  • 4. A message goes only on a channel the contact has consented to. SMS or email is sent only where consent for that channel is recorded against the contact. A contact with email consent only is emailed, never texted. A touch on a channel with no consent fails.
  • 5. A follow-up call opens with the AI identification and the recording notice. Before anything is asked, the call says it is an AI calling for the business and that the call is recorded. The first thing said on the line is the disclosure, and no ask precedes it.
  • 6. The call asks for the one thing owed and records the answer as a date or a decision. The call asks for the item and nothing else. The answer is recorded as an Outcome: a date, a decision, a no, or a dispute. Never as a sentence in a transcript that somebody has to read later. A call that ends with no recorded outcome fails.
  • 7. When the item arrives, the chase stops that run. The signed document comes back, the PO number lands, the decision is given: the arrival is filed as evidence against the item and the item leaves the chase. A touch after arrival fails.
  • 8. A no, a dispute, or stop contacting me ends the chase and goes to a person. A no is recorded as declined and a dispute as a dispute. Either ends the chase that moment and routes the item to a named person with what was said. The machine never argues, never re-asks and never offers a concession. A further touch fails.
  • 9. No touch goes out while the ball is with the business. If the record shows the business owes the contact something first, a revised drawing, a corrected quote, an answer to their question, no touch goes out for that item until it is cleared. Chasing a person who is waiting on us fails.
  • 10. An item still open at the cap goes to a named person with its history, not into a longer loop. When the cap is reached and nothing has arrived, the item is escalated once to a named person, carrying every touch so far, and that person is told. It is never put on a second cadence by the machine.
  • 11. Every touch, its channel, its outcome and the arrival are retrievable by item. When the customer says nobody told them, or says they were told five times, the record for the item answers: each touch with its channel and time, each outcome, the escalation if any, and the arrival with its evidence.
  • 12. It survives the builder. Someone other than the builder can explain what it does, and it runs on an account the business owns.
  • 13. The pass test passes. On real open items with real numbers: one arrives mid-cadence and the chase stops, one says no and is escalated, one is over the cap and goes to a person, and every call disclosed first.
  1. 1

    Hold the build to the checklist

    The checks in this standard are what a working build looks like. Implement it yourself, hand it to a developer, or hand the page to an AI with the button below.

  2. 2

    Do not hand-roll

    There is no product for this step. Highest option: none. Checklist plus a build.

  3. 3

    If you are stuck

    Exceptions, three systems, a team that will not maintain a Zap, or an owner who wants it done. We implement when it has to survive the business.

Related reading

Want the whole thing by email?

This paper, plus the rest of the library. One click to stop them.

Run these checks yourself

Every check on this page is published as structured data. This prints them with what to inject, what to assert, and which ones can be proved on your own machine rather than against the live thing.

npx @aipathway/conformance show follow-up-build-standard

Free and open source, CC BY 4.0. The checks are fetched from this page rather than bundled, so a correction here reaches you without a release, and you cannot end up conformant against a stale copy. The raw JSON is there if you would rather wire it into your own harness, and the package shows how to drive your build through the ports.

Built it, and one check failed?

Tell us which one. You have already read the standard and tried it, so the answer is a fixed price to finish that step, not a call to work out what you need.