Simpro
The Simpro integration is built for trade and field-service businesses (plumbing, electrical, HVAC, and similar) that run their jobs and invoicing in Simpro. Once connected, Knock Knock can:
- Let your AI voice agent create jobs in Simpro during a call, routed to the right cost centre — and, if you turn it on, book a free technician for the job while the caller is still on the line.
- Chase overdue invoices with outbound AI calls and log the outcome back on the invoice.
- Turn Tapi work-order emails into Simpro jobs (see Tapi work orders below).
Connecting Simpro
- Go to Integrations and find the Simpro card, then click Setup.
- Enter your:
- Build URL — your Simpro address, e.g.
https://yourbuild.simprosuite.com. - API Key — create one in Simpro under System Setup → API → Applications using the API Key authentication method, then paste it here.
- Build URL — your Simpro address, e.g.
- If your Simpro build hosts more than one company, pick which one to connect.
Once connected, the card shows the company name and build URL you're linked to. You can disconnect at any time; your data in Simpro is never deleted.
Cost-centre mapping
The AI voice agent describes the work a caller needs in plain language ("blocked drain", "hot water not working"). Cost-centre mapping tells Knock Knock which Simpro cost centre each kind of job should be created under.
Open Cost Centres on the Simpro card to edit the mappings:
- Job classification — the kind of work, in your own words (e.g. "Blocked drain").
- Cost centre — the Simpro cost centre to create the job under (searchable from your Simpro build).
- High ticket — when ticked, the voice agent never books this job itself; instead it routes the caller to a human callback. Use this for high-value or complex work you want a person to scope.
You can also set a default cost centre as a fallback for classifications you haven't mapped.
In-call job creation
When the AI voice agent is handling a call, it classifies the work the caller describes and — if that classification isn't marked High ticket — creates the Simpro job during the call, under the mapped cost centre. The job appears in your Simpro build straight away, so a tech can pick it up without anyone re-keying the details. Job names are title-cased, and the address the caller spoke is split into Simpro's street, suburb, city, and postcode fields rather than dumped on one line.
Post the call summary on the job (in the Cost Centres modal, on by default) adds an internal note to each job the voice agent logs — titled "Call Summary - Status: Booked", with what the caller said. It's never visible to the customer. The same summary and subject appear in the call transcript email.
For high-ticket classifications, the agent collects the details and routes the caller to a human callback instead of booking the job automatically.
Booking appointments during the call
With Book appointments during the call switched on (in the Cost Centres modal), the voice agent offers the caller real appointment times from Simpro's technician availability and books the job against whoever is free. Off (the default) means it logs the job unscheduled and promises a callback.
How it plays out on a call:
- Once the agent knows the kind of work, it checks availability for that job's cost centre — for a day the caller asked for, or the next free times.
- It reads out a few options with the technician's name ("Monday 14 September at 8:00 AM with Blake"). It never invents a time; if the requested day is full it offers the alternatives, and if nothing is free it logs the job and promises a callback instead.
- When the caller picks one, the job is created in Simpro already scheduled against that technician.
Offered times are spread out — at most three a day, a full appointment length apart — so the list is short enough to read over the phone.
Settings
- Appointment length (minutes) — the block booked for each job (default 120).
- Earliest booking (hours from now) — no slot sooner than this (default 2).
- Offer from / Offer until — the daily window times are offered in, in your Simpro build's timezone (default 8:00–16:00).
- Look ahead (days) — how far ahead to offer (default 7, up to 30).
- Weekdays only — skip Saturdays and Sundays (on by default).
- Also book Tapi work orders — books the earliest free technician on each Simpro job created from a Tapi work order, using the same settings, so the Tapi accept step has a date. Off means those jobs are created unscheduled.
- Never book — staff kept out of every cost centre, such as an apprentice who can't attend alone, or someone whose blank working hours in Simpro make them look free around the clock.
- Technician preference — per cost centre, who gets offered first. Naming anyone makes the list exclusive: only those technicians are offered, best first. Leave a cost centre alone to offer whoever Simpro says is assigned to it. Reorder by dragging or with the arrow buttons.
Booking needs your Simpro API key to read labour rates. If it can't, the modal says "This API key can't read Simpro's labour rates, so no appointment can be booked." — grant it access to Setup → Labour Rates, then reconnect. A cost centre with nobody assigned in Simpro (People → Employee → Cost Centers) can't be offered either.
Reviewing bookings
When the agent books a job, the call transcript email leads its subject with BOOKED and the appointment, and shows an Appointment booked card, so the office can check or change it before the customer expects someone. If the chosen slot is taken by the time the job is created, the job is still logged — just unscheduled.
Automatic job tags
Jobs the AI creates in Simpro are tagged automatically: the AI reads the job description and picks the single best-matching tag from your own build's tag list. This applies to jobs booked over the phone and to jobs created from Tapi work-order emails alike, so your Simpro reporting and workflows keep working without anyone tagging jobs by hand.
Invoice chasing
Invoice chasing places outbound AI calls to customers with overdue Simpro invoices and records the outcome on the invoice. Open Invoice Chasing on the Simpro card to configure and monitor it.
Settings
- Chase overdue invoices — the master on/off switch. Calls are placed on weekdays, within your call window, in your company timezone.
- Outbound agent — which AI agent makes the calls.
- Max call attempts and Days between attempts — how persistently to retry an unanswered invoice.
- Grace period (days past due) — how long to wait after an invoice falls due before the first call.
- Minimum balance to chase — only chase invoices at or above this amount.
- Call window start / end — the hours (24-hour, in your timezone) during which chase calls may be placed.
- Calling mode — Automatic — call every overdue invoice, or Manual approval — only call invoices I approve in the Call Queue. In manual mode each overdue invoice waits in the queue as needs approval until you click Approve (or Skip) on its row. Test mode still dials without approval.
Customers flagged Do Not Call in Simpro are never called.
Call queue
The queue lists invoices in the chase pipeline with their balance, due date, attempt count, and status:
- Needs approval — waiting for you to approve the call (manual mode).
- Calling — a call is in progress right now. Use Listen to listen in live.
- Pending / Retry — waiting for the next attempt, with the scheduled time shown.
- Done / Paid — chasing complete.
- Failed / Skipped — didn't complete; a short reason or last error is shown.
For finished calls, open the Transcript to read the conversation, play the recording, and see the call summary. You can Skip an invoice you don't want chased, or Call again to requeue one.
Tapi work-order emails
If you receive work orders from Tapi, Knock Knock can read them from email and turn them into Simpro jobs. Tapi has no API, so the integration reads work-order emails from a dedicated mailbox.
Connecting Tapi
- Forward (or route) your Tapi work-order emails to a dedicated inbox.
- On the Tapi card, click Setup and enter the mailbox details:
- Email provider — pick your provider (Gmail / Google Workspace, Outlook / Microsoft 365, Yahoo, iCloud, Zoho, or custom) for provider-specific instructions.
- IMAP host, Port, and Folder — the mailbox connection details (e.g.
imap.gmail.com, port993,INBOX). - Mailbox email and App password — use an app password, not your normal account password.
- Tapi sender filter — only emails from this sender (e.g.
@tapihq.com) are treated as work orders.
When connected, the card shows the mailbox it's reading.
Work orders
Open Work Orders on the Tapi card to see the emails that have been read. Use Check now to poll the mailbox immediately. For each work-order email you can:
- Extract fields — pull the structured job details (job number, address, description) out of the email.
- Create Simpro job — create the job in Simpro from the extracted details. Once created, the row shows the Simpro job number and, when Also book Tapi work orders is on, the booked appointment and technician.
Related
- AI Voice Calls — how the AI voice agent handles calls.
- Integrations Overview — all available integrations.