Custom Automations
Whatever the work, we automate it. This platform runs on ours.
The manual work between your tools, done by software. We automate it in any field, however hard, whatever the business: a copy-paste between two tools, or a pipeline across many systems with AI, schedules, retries and a person told the moment they’re needed. This platform is our own product, for AI phone agents, so its automations are the ones we can take apart. Our team holds 20+ personal Claude accreditations from Anthropic, and our company holds startup grants from Cartesia and ElevenLabs.
+40 774 566 367 · No form: a build starts with a phone call.
Running on this platform
- Inbox
- 8 account emails
- Emails nobody writes by hand
- Receipts, failed payments, usage warnings, refunds, a welcome and a goodbye, each sent when it happens
- Spreadsheets
- 12 columns a call
- A spreadsheet that fills itself
- A workflow step adds each call to Google Sheets as plain text, so nothing a caller says runs as a formula. In beta.
- CRM
- 11 outcomes
- Conversations written up by AI
- What the caller wanted, how they felt, what came of it and the details they gave, saved for a workflow to pass on
- Webhooks
- signed · 3 tries
- Signed, and tried again
- Signed so the receiver knows it’s ours, tried again when the other end is busy, and never sent into a private network
Counted from the repository by the site’s own tests.
Watch them runWhat we automate
Any work your business still does by hand, whatever it sells and whichever tools it uses. Not just calls.
Money and paperwork
- Orders turned into invoices and receipts
- Payments matched against the accounts
- Scans, forms and contracts read into your systems
- Reports and summaries, put together for you
Customers and sales
- Leads into the CRM, and followed up
- Bookings, reminders and waiting lists
- Emails and web forms sorted and answered
- Calls written up and acted on, as on this platform
Operations and people
- Stock kept right across every channel
- Orders to the warehouse, shipments tracked
- New starters set up in every tool
- Approvals asked for and chased
For an online shop, a finance team, a warehouse, a delivery firm, a clinic, a school, an estate agency, a hotel, a factory — or a business this list doesn’t name.
Already running
The automations this platform runs on, from manual to automatic
Four of them, simplest first, and only the last starts with a phone call: the others start with a payment, the time of day and a new document, as work does in any business. Pick one to see the steps a person would do by hand, the flow that does them instead, and a run from start to finish.
By hand
Drawn from the code · not a live feed
Payment provider
- Check the payment provider for new paymentsnow step 01
Invoicing software
- Make sure the payment isn’t invoiced alreadynow step 05
- Type the customer’s company details into the invoicing softwarenow step 06
- Issue the fiscal invoicenow step 06
- Email the customer a receipt with the invoice numbernow step 07
Your admin screen
- If it renews a plan, start the customer’s next month of minutesnow step 04
By itself
By handBy itself
Drawn from the code · not a live feed
What makes it hard
- Blocks
- 8
- Rules
- : yes
- AI
- : no
- A person
- : no
- On a schedule
- : no
- Never twice
- : yes
Step 8 of 8
Done. If Stripe sends this event again within 48 hours, nothing is repeated.
The run
On the call:Ask us to open its code
The block: Marked done
The block the run is on. Choose a step or pick a block to see others.The run’s last block. Choose a step or pick a block to see others.Your pick. Choose a step to follow the run again.
Marked done
Record
The event is marked done, and Stripe is told it arrived, so it stops sending it. Had the renewal failed, the app would have told Stripe so instead, and Stripe would have sent the event again later; the checks before make that repeat safe. An invoice that fails is recorded for the dashboard instead, and a receipt that can’t be sent is let go.
By hand, the only record was someone’s memory.
On this run: step 8 of 8
In the code, for your developers
- app/api/billing/webhook/route.ts
Six more that run by themselves here
A personat most 3 a call
A caller needs someone now
The team alerted mid-call
The agent texts or emails the person on call, and the alert is saved to the dashboard’s inbox. It tells the caller the team knows only once an alert has really gone out, and sends at most three a call.
Sends
A booking is made, and each morning
Bookings confirmed and reminded
On plans with texts, a caller who asks for one gets a confirmation text, and a reminder goes out before the appointment. Each reminder is marked before it goes out, so two runs can’t send it twice, and the mark comes off if the text fails.
Rule
A booking is cancelled or moved
A freed slot offered to the waiting list
The time is offered by text to the caller who has waited longest for that service. They call back to book it, so the system never promises one slot to two people.
Once80% · 100%
Usage passes a mark
Usage emails at 80% and 100%
The owner gets at most one email at each mark in a period. Each is marked before it goes out, so two calls ending together don’t both send it, and if one fails to send, the next call that adds minutes tries again.
Once
Usage is counted
Every minute counted once
Each call’s minutes are counted once, from the phone line’s count or the voice service’s, never both: first against the plan’s included minutes, then against the prepaid extra minutes. If a call the phone line reported was never counted, the morning job counts it.
Record4 triggers · 10 kinds
After a call, on your rules
Workflows you set up yourself
Four moments start one — a call ending, a missed call, a call the AI marks as not resolved and a word you listen for — and each runs up to ten steps in order, picked from ten kinds, with every run recorded.
Every automation above, in words
A customer pays
By hand
- Check the payment provider for new payments
- Make sure the payment isn’t invoiced already
- Type the customer’s company details into the invoicing software
- Issue the fiscal invoice
- Email the customer a receipt with the invoice number
- If it renews a plan, start the customer’s next month of minutes
By itself
- Stripe: invoice paid — Stripe calls the app the moment an invoice is paid, so nobody has to look for new payments.
- Signature checked — The app checks Stripe’s signature over the message exactly as it arrived. A message that doesn’t match is refused, so nobody can fake a payment.
- no →Refused — A message without Stripe’s signature is turned away, and nothing happens.
- Seen this event? — Stripe sends an event again until it hears back. The app remembers every event it finished for 48 hours and answers a repeat without doing anything, and a lock keeps two copies of one event from running at once.
- yes →Nothing repeated — A repeat is acknowledged, so Stripe stops sending it, and nothing runs twice.
- Next period starts — If the payment renews a plan, the customer’s next usage period starts first, so a problem with the invoice can never hold back their minutes.
- Already invoiced? — SmartBill is asked for an invoice only if none is recorded for this Stripe invoice yet.
- yes →One invoice already — An invoice issued on an earlier try is left as it is.
- Fiscal invoice issued — SmartBill issues the Romanian fiscal invoice with the customer’s company details, and the app records it against the Stripe invoice. One that fails is recorded too, so it shows in the dashboard.
- Receipt emailed — ‘Payment received’, with the SmartBill invoice number and a link to view the invoice.
- Marked done — The event is marked done, and Stripe is told it arrived, so it stops sending it. Had the renewal failed, the app would have told Stripe so instead, and Stripe would have sent the event again later; the checks before make that repeat safe. An invoice that fails is recorded for the dashboard instead, and a receipt that can’t be sent is let go.
In the code, for your developers
- app/api/billing/webhook/route.ts
- app/api/billing/webhook/handlers.ts
- lib/billing/usage.ts
- lib/smartbill/emit.ts
- lib/smartbill/client.ts
- lib/email/templates.ts
On the call:Ask us to open its code
Every morning at 07:00 UTC
By hand
- Find answered calls whose minutes weren’t counted, and count them
- Start next month’s minutes for every annual plan
- Buy a prepaid pack for every owner running low who asked for auto top-up
- Text upcoming appointments a reminder
- Check every agent’s copy at the voice providers
- Clear out expired locks and unused uploads
By itself
- 07:00 UTC, daily — Vercel Cron calls the job every day at 07:00 UTC, with a secret. Without the secret, nothing runs.
- Count every call — Counts the minutes of answered calls the phone line reported whose usage wasn’t recorded, without ever counting one twice.
- Next month’s minutes — Gives every annual plan whose month is up fresh included minutes. Monthly plans get theirs when Stripe renews them.
- Auto top-up — Buys the chosen prepaid pack for owners who turned on auto top-up and are below their threshold, charged to the saved card with a Stripe invoice. A failed charge turns it off and emails the owner; nothing is retried.
- Reminders, once each — Texts upcoming appointments a reminder. Each booking is marked as reminded before its text goes out, so two runs can’t text it twice, and the mark comes off if the text fails.
- Re-sync agents — Re-syncs up to 25 agents whose copy at Cartesia or ElevenLabs is missing or out of date.
- Clear expired locks — Deletes the markers whose time has passed: the locks that stop two runs doing one job, and short-lived notes the app keeps.
- Remove unused uploads — Removes day-old uploads that nothing uses.
- Refresh the budget — Works out how much Cartesia credit is left: the same figure the app checks before each call to pick a voice provider.
- Summary of the run — The job answers with what each step did. If one failed, it answers with an error so it shows in the logs; the rest have carried on, and running the whole job again is safe.
The billing steps run in order, so every answered call’s minutes are counted before annual plans get next month’s minutes and auto top-up checks who is running low. Minutes are prepaid, so nothing is billed after the fact. The other five run alongside them.
In the code, for your developers
- vercel.json
- app/api/cron/daily/route.ts
- app/api/cron/auth.ts
- lib/voice-providers/maintenance.ts
- lib/billing/usage-periods.ts
- lib/billing/auto-topup.ts
- lib/scheduling/reminders.ts
- lib/voice/sync/index.ts
- app/api/cron/jobs.ts
- app/api/cron/storage-cleanup.ts
- lib/voice/budget.ts
On the call:Ask to see a morning’s summary
A document is added
By hand
- Read the new price list or policy
- Pick out what callers will ask about
- Paste it into the agent’s instructions
- Take out what’s out of date
- Do it all again when the document changes
By itself
- A file or page added — A file uploaded in the dashboard, or a web address the app fetches itself: https only, never a private address, and every redirect checked again.
- Read and cleaned — The file is read and checked, and its text is taken out and cleaned up.
- Has the text changed? — When a document is read again, or a web page refreshed, from the dashboard, text that hasn’t changed isn’t indexed again.
- no →Nothing re-indexed — Unchanged: nothing is re-indexed, and it goes straight to ready and the copies.
- Indexed for search — Cut into passages and indexed with OpenAI, so the agent can search them in the middle of a call.
- New in, then old out — The new passages go in before the old ones come out, so the agent is never left with half a document, and a refresh that fails keeps the version it already uses.
- Ready, or why not — It never ends in silence: the document is ready, or it carries a plain reason a person can act on.
- Copies to providers — Copies go to the voice providers’ own knowledge bases. If one can’t take it, that’s noted on the document, and the document stays ready.
In the code, for your developers
- app/api/agent/knowledge/upload-url/route.ts
- app/api/agent/knowledge/url/route.ts
- lib/knowledge/fetch-url.ts
- lib/knowledge/extract.ts
- lib/knowledge/ingest.ts
- lib/knowledge/chunk.ts
- lib/knowledge/providers.ts
Now, in this browser:Add a document on the free trial
A call ends
By hand
- Listen back to the call
- Write down what the caller wanted
- Decide how it went: booked, a message, a complaint
- Copy their name and details into your records
- Tell the managers when a caller was unhappy
- Tag the calls that need a call back
By itself
- The call ends — Whichever voice service handled the call, the app saves its transcript. Voice services retry and can report a call twice, so saving it is safe to repeat.
- Not written up yet? — A call that’s already written up is left alone, and two write-ups of one call can’t run at once.
- no →Left alone — Written up already: nothing more happens.
- OpenAI writes it up — Two to four plain sentences on what the caller wanted and what happened, how they felt, one of eleven outcomes, the reason for calling and the details you asked it to collect — only what the caller clearly said, never a guess. It’s saved on the call.
- A test call? — Calls made from the dashboard to try the agent are written up too, but go no further: no workflow runs for them.
- yes →Stops here — A test call’s write-up stays in the dashboard.
- Which rules fire? — ‘Call ended’ always; ‘Call not resolved’ when the AI marks the call as not resolved; ‘Keyword heard’ when a word you listen for was said, as a whole word, whatever the capitals. ‘Missed call’ runs its own workflows the moment the phone line reports a missed call.
- Once per call — Before running, each workflow marks the call as handled, so none can run twice for one call, even when the call’s end is reported twice.
- Your workflows run — Their steps run in order — a tag, a signed webhook, a text to the caller — and stop at the first failure. A webhook is tried again when the other end is busy.
- Managers told in Slack — A Slack message tells the managers who called, how they felt, and the summary, in the channel the workflow names.
- Run recorded — Each run is saved with every step’s outcome, in words the owner can act on, and the workflow’s success rate updates.
In the code, for your developers
- lib/voice/post-call.ts
- lib/openai/analysis.ts
- lib/workflows/executor.ts
- lib/workflows/keywords.ts
- lib/voice/router.ts
- lib/workflows/webhook.ts
- lib/workflows/templates.ts
Now, in this browser:Make a test call on the free trial, and read its write-up
Six more that run by themselves here
- The team alerted mid-call
- The agent texts or emails the person on call, and the alert is saved to the dashboard’s inbox. It tells the caller the team knows only once an alert has really gone out, and sends at most three a call.
- lib/voice/tools/notify.ts
- lib/notifications/index.ts
- Bookings confirmed and reminded
- On plans with texts, a caller who asks for one gets a confirmation text, and a reminder goes out before the appointment. Each reminder is marked before it goes out, so two runs can’t send it twice, and the mark comes off if the text fails.
- lib/scheduling/bookings.ts
- lib/scheduling/reminders.ts
- A freed slot offered to the waiting list
- The time is offered by text to the caller who has waited longest for that service. They call back to book it, so the system never promises one slot to two people.
- lib/scheduling/waitlist.ts
- Usage emails at 80% and 100%
- The owner gets at most one email at each mark in a period. Each is marked before it goes out, so two calls ending together don’t both send it, and if one fails to send, the next call that adds minutes tries again.
- lib/billing/usage.ts
- lib/email/templates.ts
- Every minute counted once
- Each call’s minutes are counted once, from the phone line’s count or the voice service’s, never both: first against the plan’s included minutes, then against the prepaid extra minutes. If a call the phone line reported was never counted, the morning job counts it.
- lib/billing/usage.ts
- lib/twilio/status.ts
- app/api/elevenlabs/webhook/handlers.ts
- Workflows you set up yourself
- Four moments start one — a call ending, a missed call, a call the AI marks as not resolved and a word you listen for — and each runs up to ten steps in order, picked from ten kinds, with every run recorded.
- The ten kinds: a signed webhook to any system that listens, a Slack message, a text to the caller, a tag on the call, a short pause, an email from Gmail, a row in Google Sheets, a follow-up in Google Calendar, a call report in Google Docs and the transcript in Google Drive. The five Google steps are in beta.
- lib/workflows/types.ts
- lib/workflows/executor.ts
Drawn by the team that built them. Swap the caller for a customer, a patient or a guest, and they’re the alerts, reminders, waiting lists and billing most businesses need. Each block names the file it lives in, for your developers.
Your kind of work
Whatever your field, and however hard the work
Pick a field and how hard the job is. The work in every field is made of the same six moves; a simple job makes only a few of them. Under each sample, the legend shows which of its blocks already run on this platform.
Your field
How hard
Several tools, rules, and a person now and then
Sample · Finance · A process
Supplier invoices from the inbox into the accounts
Someone in finance, with a manager’s sign-off
What makes it hard
- Blocks
- 7
- Rules
- : yes
- AI
- : yes
- A person
- : yes
- On a schedule
- : no
- Never twice
- : yes
Open each invoice that arrives by email
- When: An invoice reaches the finance inbox
Find the supplier, number, date and total
- AI: AI reads the supplier, number, date and total
Type them into the accounting software, if they aren’t there already
- Once: Not entered already?
- Writes: A draft bill, with the PDF attached
File the PDF and remember what was done
- Record: Every invoice recorded, with what was read
Ask the manager to approve the big ones
- Rule: Over the approval limit?
- Approval: If so, the manager approves it
- Left for a person
- Approves the big ones, and checks any invoice the AI couldn’t read clearly.
- What makes it hard
- Invoices come in every layout, the same one arrives twice, and some need a yes before they’re paid.
Which of these blocks already run here
When: Runs here
A payment, the end of a call, a new document: each starts an automation. Watch it run: When
AI: Runs here
Documents are indexed with AI, and calls written up with it. Watch it run: AI
Once: Runs here
Checked before every fiscal invoice: SmartBill is asked only when none is recorded for that payment. Watch it run: Once
Writes: Runs here
Fiscal invoices in SmartBill, a record on every call, and rows in Google Sheets, in beta. Watch it run: Writes
Record: Runs here
Every workflow run is recorded step by step, in plain words. See it on this page: Record
Rule: Runs here
A signature, an unhappy caller or a word you listen for decides what runs next. Watch it run: Rule
Approval: Built for yours
On this platform, a pause between two steps lasts at most 30 seconds, and nothing waits for a person’s yes. On yours, a flow can wait days for a signature or an approval.
Samples written for this page, for no business in particular. Not your field? Bring yours to the call.
All 18 samples, in words
Finance
A copy-paste
Every payment, a row in the bookkeeping sheet
Someone in finance, every day
- It arrives
- By hand: Check the payment provider for new payments.
- As a flow: A payment comes in.
- It’s entered
- By hand: Copy each one into the bookkeeping spreadsheet.
- As a flow: Not in the sheet yet? A row in the bookkeeping spreadsheet.
- It’s passed on
- By hand: Email the customer a receipt.
- As a flow: A receipt to the customer.
- Left for a person
- Reads the sheet. Nobody copies anything.
A process
Supplier invoices from the inbox into the accounts
Someone in finance, with a manager’s sign-off
- It arrives
- By hand: Open each invoice that arrives by email.
- As a flow: An invoice reaches the finance inbox.
- It’s read
- By hand: Find the supplier, number, date and total.
- As a flow: AI reads the supplier, number, date and total.
- It’s entered
- By hand: Type them into the accounting software, if they aren’t there already.
- As a flow: Not entered already? A draft bill, with the PDF attached.
- It’s followed up
- By hand: File the PDF and remember what was done.
- As a flow: Every invoice recorded, with what was read.
- A judgement call
- By hand: Ask the manager to approve the big ones.
- As a flow: Over the approval limit? If so, the manager approves it.
- Left for a person
- Approves the big ones, and checks any invoice the AI couldn’t read clearly.
- What makes it hard
- Invoices come in every layout, the same one arrives twice, and some need a yes before they’re paid.
A pipeline
Month-end bank reconciliation
An accountant, every month end
- It arrives
- By hand: Download the bank statement.
- As a flow: On the first working day of the month. The statement, from the bank’s export.
- It’s read
- By hand: Match each line to an invoice or a bill.
- As a flow: Each line matched to an open invoice or bill, messy references included.
- It’s entered
- By hand: Post the matches in the accounting software.
- As a flow: Does it match exactly? If so, posted once in the accounting software. A post that fails is tried again.
- It’s passed on
- By hand: Write up the month-end summary.
- As a flow: The month-end report, ready to review.
- It’s followed up
- By hand: Keep a note of what was matched, for next month.
- As a flow: Every match recorded, so next month starts clean.
- A judgement call
- By hand: Chase and decide the lines that don’t match.
- As a flow: The accountant decides the rest, from a short list with suggestions.
- Left for a person
- Decides only the lines that don’t match. Nobody ticks off a statement by hand.
- What makes it hard
- References are typed by hand, one payment can cover several invoices, and nothing may be posted twice.
Sales
A copy-paste
Website enquiries into the CRM
Someone in sales
- It arrives
- By hand: Check the enquiries inbox.
- As a flow: Someone fills in the website’s form.
- It’s entered
- By hand: Copy each enquiry into the CRM.
- As a flow: A new lead in the CRM.
- It’s passed on
- By hand: Reply to say thanks, and tell the team.
- As a flow: A thank-you email to them. A message in the sales channel.
- Left for a person
- Picks up the lead. Nobody retypes it.
A process
Leads routed and followed up
A sales manager
- It arrives
- By hand: Collect enquiries from the form, the inbox and the phone.
- As a flow: A lead arrives by form, email or phone.
- It’s read
- By hand: Read each one: what they want, how soon, where they are.
- As a flow: AI sorts it: what they want, how soon, where they are.
- It’s entered
- By hand: Check the CRM, so nobody is added twice.
- As a flow: Already in the CRM? Then it’s updated, not added again.
- It’s passed on
- By hand: Decide who should take it, and forward it.
- As a flow: Routed by your rules. The right salesperson is told.
- It’s followed up
- By hand: Check the next day that someone called.
- As a flow: Next working day: has anyone replied? If not, the lead’s owner and their manager are told.
- Left for a person
- Talks to the lead. The chasing is automatic.
- What makes it hard
- Leads arrive three ways, some of them twice. Routing rules change. A lead nobody answered must not be lost.
A pipeline
From won deal to first invoice
Sales, finance and delivery, each by hand
- It arrives
- By hand: Notice a deal was won in the CRM.
- As a flow: A deal is marked won in the CRM.
- It’s read
- By hand: Find the agreed discounts and terms in the deal’s notes and emails.
- As a flow: AI reads the agreed discounts and terms from the deal’s notes and emails.
- It’s entered
- By hand: Build the quote, and once it’s signed, set up the customer and the first invoice.
- As a flow: The quote, built from the price list. Once it’s signed: the customer and the first invoice, created once.
- It’s passed on
- By hand: Send it for signature, and tell delivery once it’s signed.
- As a flow: Sent for e-signature, and to delivery once signed.
- It’s followed up
- By hand: Chase the signature every morning.
- As a flow: Each morning until it’s signed: a reminder.
- A judgement call
- By hand: Decide what to do when nobody signs.
- As a flow: Still not signed after the reminders? Then the salesperson is told.
- Left for a person
- Sells. The paperwork between systems happens on its own.
- What makes it hard
- Four systems, a signature nobody can predict, and a customer who must be created exactly once.
Customer service
A copy-paste
Every support email acknowledged and logged
Someone in support
- It arrives
- By hand: Watch the support inbox.
- As a flow: An email reaches the support inbox.
- It’s entered
- By hand: Copy it into the ticket spreadsheet.
- As a flow: A row in the ticket spreadsheet.
- It’s passed on
- By hand: Reply to say it arrived.
- As a flow: A reply with a reference number.
- Left for a person
- Answers the question. The logging is done.
A process
Messages sorted and sent to the right person
A support lead
- It arrives
- By hand: Keep an eye on email, the form and chat.
- As a flow: A message arrives by email, form or chat.
- It’s read
- By hand: Read every message to see what it’s about.
- As a flow: AI reads it: the topic, the customer and how urgent it is.
- It’s entered
- By hand: Open a ticket for it.
- As a flow: A ticket, with the message attached.
- It’s passed on
- By hand: Forward it to the right person.
- As a flow: Urgent? If so, the person on duty is texted now. If not, it goes to the right team’s queue.
- It’s followed up
- By hand: Check later that someone replied.
- As a flow: No reply by the time you promised? Then the support lead is told.
- Left for a person
- Answers people. Nobody reads every message just to sort it.
- What makes it hard
- Customers write however they write. Urgent means now. A promised reply has to be kept.
A pipeline
Returns and refunds, end to end
Support, the warehouse and finance
- It arrives
- By hand: Read the return request.
- As a flow: A customer asks to return an order.
- It’s read
- By hand: Find the order and check the return policy.
- As a flow: AI reads the request and finds the order. Inside your return policy?
- It’s entered
- By hand: Once it’s back, refund the customer and update the stock.
- As a flow: If so, when it’s back: the refund issued once, or a replacement ordered. Stock updated everywhere.
- It’s passed on
- By hand: Tell the customer at every step.
- As a flow: The customer is told at every step.
- It’s followed up
- By hand: Wait for the parcel to come back.
- As a flow: Waits for the courier’s scan that it’s back. A courier that doesn’t answer is asked again.
- A judgement call
- By hand: Decide on the ones outside the policy.
- As a flow: Outside the policy? A person decides.
- Left for a person
- Decides the exceptions. The rest moves on its own.
- What makes it hard
- Three teams, a parcel in transit and money going back — and a refund that must never be issued twice.
Logistics
A copy-paste
New orders sent to the warehouse
Someone in operations
- It arrives
- By hand: Check for new orders.
- As a flow: An order is placed.
- It’s entered
- By hand: Mark the order as being picked.
- As a flow: The order marked as being picked.
- It’s passed on
- By hand: Email the pick list to the warehouse.
- As a flow: The pick list to the warehouse’s inbox.
- Left for a person
- Picks and packs. Nobody forwards orders.
A process
Reordering before stock runs out
A buyer
- It arrives
- By hand: Check stock levels every morning.
- As a flow: Every morning.
- It’s read
- By hand: Compare them with what’s already on order.
- As a flow: Stock levels and open orders. Below the reorder level, with nothing on order?
- It’s entered
- By hand: Draft a purchase order.
- As a flow: If so, a draft purchase order.
- It’s passed on
- By hand: Email it to the supplier once it’s approved.
- As a flow: Once approved, sent to the supplier.
- It’s followed up
- By hand: Note it in the stock sheet.
- As a flow: Noted, with what started it.
- A judgement call
- By hand: Decide what to buy.
- As a flow: The buyer approves it before it goes.
- Left for a person
- Approves what gets bought.
- What makes it hard
- Stock moves all day, and an order already placed must not be placed again.
A pipeline
Shipments tracked across couriers
Someone in operations, parcel by parcel
- It arrives
- By hand: Go through the day’s parcels.
- As a flow: Through the day.
- It’s read
- By hand: Look up each parcel on each courier’s website.
- As a flow: AI reads each courier’s tracking, however that courier words it. A courier that doesn’t answer is tried again later.
- It’s entered
- By hand: Update each order when it moves.
- As a flow: Every order’s status kept in step.
- It’s passed on
- By hand: Email customers about delays.
- As a flow: Late or stuck? If late, the customer hears before they ask.
- It’s followed up
- By hand: Keep a note of every claim.
- As a flow: Every claim and delay recorded.
- A judgement call
- By hand: Open a claim for a lost parcel.
- As a flow: If lost, a claim is prepared for a person to check.
- Left for a person
- Checks the claims. Nobody refreshes courier websites.
- What makes it hard
- Every courier reports differently, some go quiet, and a delay has to reach the customer first.
People and HR
A copy-paste
A new starter’s first day, set up
Someone in HR
- It arrives
- By hand: Notice a new name in the HR sheet.
- As a flow: A new starter is added to the HR sheet.
- It’s entered
- By hand: Put the first day in the calendar.
- As a flow: The first day in the team calendar.
- It’s passed on
- By hand: Email the manager the starter checklist.
- As a flow: The checklist to their manager.
- Left for a person
- Welcomes them.
A process
Holiday requests
A manager and HR
- It arrives
- By hand: Read the request.
- As a flow: Someone asks for time off.
- It’s read
- By hand: Check the days left and the calendar.
- As a flow: Their days left and the team calendar. A clash, or not enough days?
- It’s entered
- By hand: Once approved, update the balance and the calendar.
- As a flow: Once approved: balance and calendar updated.
- It’s passed on
- By hand: Reply to the person who asked.
- As a flow: The manager’s answer goes back to them.
- A judgement call
- By hand: Ask the manager.
- As a flow: The manager says yes or no in one click.
- Left for a person
- Says yes or no. Nothing else.
- What makes it hard
- Clashes, balances and a manager who must decide, without a spreadsheet in between.
A pipeline
Joiners and leavers, across every system
HR and IT, system by system
- It arrives
- By hand: Hear that someone was hired, or is leaving.
- As a flow: A contract is signed, or someone hands in their notice.
- It’s read
- By hand: Work out the role, the team and the start or leaving date.
- As a flow: AI reads the contract or the notice for the role, the team and the date.
- It’s entered
- By hand: Open or close an account in every tool, and update payroll.
- As a flow: Accounts opened or closed in each system. Payroll updated.
- It’s passed on
- By hand: Order the equipment, or arrange its return.
- As a flow: Equipment ordered, or its return arranged.
- It’s followed up
- By hand: Chase the signed documents.
- As a flow: Waits for each document to be signed, with reminders. Every step recorded, so leaving undoes exactly what joining did.
- A judgement call
- By hand: Check the right-to-work documents.
- As a flow: HR checks the documents only a person should check.
- Left for a person
- Checks the right-to-work documents. Nobody opens or closes an account by hand.
- What makes it hard
- Many systems, legal documents, and a leaver whose access must be removed everywhere at once.
Online shops
A copy-paste
Paid orders into the accounts
Someone in finance
- It arrives
- By hand: Check the shop for paid orders.
- As a flow: An order is paid.
- It’s entered
- By hand: Copy each order’s total and tax into the accounting software.
- As a flow: A sales entry in the accounting software.
- It’s passed on
- By hand: Send the customer an invoice.
- As a flow: The invoice to the customer.
- Left for a person
- Nothing, until the accounts need a look.
A process
Stock kept in step across every channel
Someone in e-commerce
- It arrives
- By hand: Notice a sale on any channel.
- As a flow: Something sells on any channel.
- It’s read
- By hand: Check whether it sold out.
- As a flow: Sold out?
- It’s entered
- By hand: Lower the stock on every other channel.
- As a flow: Counted once, even if the channel reports it twice. Stock lowered everywhere.
- It’s passed on
- By hand: Hide it everywhere and tell the buyer.
- As a flow: If so, hidden on every channel. The buyer is told.
- Left for a person
- Reorders. Nobody updates every admin panel by hand.
- What makes it hard
- Channels report sales late and sometimes twice, and one oversold item is a refund.
A pipeline
Marketplace payouts reconciled
An accountant, payout by payout
- It arrives
- By hand: Download each marketplace’s payout report.
- As a flow: A marketplace pays out. Its payout report.
- It’s read
- By hand: Match orders, fees and refunds.
- As a flow: Orders, fees and refunds matched line by line.
- It’s entered
- By hand: Post what matches in the accounting software.
- As a flow: What matches, posted once in the accounting software. A post that fails is tried again.
- It’s followed up
- By hand: Keep the working for the auditor.
- As a flow: Every payout recorded with how it was matched.
- A judgement call
- By hand: Find what’s missing.
- As a flow: Anything that doesn’t add up goes to the accountant, listed.
- Left for a person
- Looks into what doesn’t add up: a short list, not the whole report.
- What makes it hard
- Every marketplace formats its report its own way, and the totals must match to the cent.
When it breaks
What happens when a step fails at 3 a.m.
Pick what the CRM does when this sample workflow sends it a call’s details; on yours, it could as well be an order, an invoice or a lead. Every result below is worked out by this platform’s own delivery code when the page is built; nothing is actually sent.
Sample workflow
Unhappy callers to the CRM
- When:Call not resolved
- Tag:Tag the call: “follow-up”
- CRM:Send webhook to the CRM
- Slack:Notify Slack: #managers
What the CRM does
200 means it was taken; 503, busy or down; 404, the address no longer exists.
Drawn to scale from the code: it waits 1 second, then 4, and gives each try 10 seconds to answer; answers are drawn as instant. When it plays, the waits run in real time and each 10-second silence plays four times faster.
Tried at 0, 1 and 5 seconds after the start.
Its run history
Failed
- Succeeded:
1. Tag the call
Tag “follow-up” added to the call.
The sample’s own step
- Failed:
2. Send webhook
crm.example.com answered 503 after 3 attempts.
3 attempts · 5.0 s · HTTP 503
Worked out by the platform’s code
- Skipped:
3. Notify Slack
Didn’t run because an earlier step failed.
Worked out by the platform’s code
In the code, for your developers: lib/workflows/webhook.ts
Now, in this browser:Send a test from the free trial
Workflows → New workflow → Send webhook, save it, then Send test
Who finds out
On ours, a failed run is recorded with its reason, the workflow’s success rate drops, and nobody is paged.
On yours, an alert reaches a person — by email, text or Slack — the moment a run fails.
And the other ways it stays safe
Once per call
A workflow runs at most once for a call, even when the call’s end is reported twice.
A time limit on every run
Each run gets four minutes, so its record always ends as succeeded or failed, never left running.
Failures stay contained
Of the morning job’s eight steps, one failing never stops the others, and the job is safe to run again.
A Stripe event done once
A Stripe event that arrives again within 48 hours is acknowledged, not repeated.
All six results, in words
- Takes itanswers 200
- Succeeded. Your endpoint accepted it (200).
- HTTP 200
- Tried once, at the start.
- Busy, then takes it503, then 200
- Succeeded. Your endpoint accepted it (200) on attempt 2.
- 2 attempts · 1.0 s · HTTP 200
- Tried at 0 and 1 seconds after the start.
- Down all night503, three times
- Failed. crm.example.com answered 503 after 3 attempts.
- 3 attempts · 5.0 s · HTTP 503
- Tried at 0, 1 and 5 seconds after the start.
- Doesn’t answersilent, three times
- Failed. crm.example.com didn’t answer within 10 seconds after 3 attempts.
- 3 attempts · 35 s
- Tried at 0, 11 and 25 seconds after the start.
- Has movedanswers 404
- Failed. crm.example.com answered 404: the address no longer exists. Check the link in this step.
- HTTP 404
- Tried once, at the start.
- Points inside a private networknever sent
- Failed. We can’t send to this address: it points to a private or internal network, which call data is never sent to.
- Tried once, at the start.
Who builds it
The people who automate it hold 20+ Claude accreditations
The team that built this platform and the automations it runs on, and builds both for any business.
Personal accreditations
20+
Claude accreditations, from Anthropic
Each was earned by one of the people who’d map and build your automations, for building with Claude, Anthropic’s AI. We build with it too, this platform included: where a step should read, sort or draft — an email, a scanned invoice, a call — the people building it already know how.
They’re personal, not a certification of our company.
On the call:Ask to see the accreditations
Startup grants, awarded to our company
- Cartesia
- ElevenLabs
Their technology runs inside this platform: where a flow should speak or listen, we already build on it.
What each one is, and how to see itA grant isn’t an endorsement of this page, or of any build we quote.
On the call:Ask to see the grants
How a build goes
Every copy-paste between your tools, replaced by a workflow that runs itself.
Three stages, each ending in something you can hold and check before the next one starts.
01Stage
A map of the manual steps worth automating
We sit with the people who do the work and write down every step: who does it, in which tool, and where it goes wrong. Then we mark what software should do, and what should stay with a person.
You hold
The map: every step, what it becomes, and what stays with a person.
Now, in this browser:See four of ours mapped above
02Stage
Workflows across inbox, sheets, CRM and APIs
Built as code that talks to your tools through their APIs and webhooks — the ways one system hands something to another without a person — and tried on copies of your real inputs: the odd email, the scanned PDF, the order that arrives twice.
You hold
The automations, working on your examples, before anything goes live.
On ours
Signed webhooks tried up to three times, a check before every fiscal invoice that the payment isn’t invoiced already, and a morning job where one failing step never stops the other seven.
Now, in this browser:Break one above
03Stage
Alerts the moment something needs a person
It goes live with alerts that reach a person — by email, text or Slack — when a run fails or a case needs a decision, and the code is handed over with its tests and a guide to running it.
You hold
Automations that are live, watched, and yours.
On ours
The team texted mid-call when a caller needs someone, usage emails at 80% and 100%, and every workflow run recorded with its outcome.
On the call:Ask how ours are watched
When you don’t need us
If you use our AI phone agent and all you need is follow-up after its calls — a signed webhook to any system that listens, a Slack message, a text to the caller and a tag on the call — you can set it up yourself in the dashboard, in three steps, with no build. Texts to callers start on the Starter plan, and the five Google steps, in beta, on Pro.
Before it starts
What we’ll ask, what you’ll get, and what we say up front
There’s no price or date on this page: both go in the quote, because both depend on the work. Here’s what moves them.
What sets the price and the date
- How many steps and tools the work passes through
- How messy the inputs are: forms, emails, scans or handwriting
- How many cases need a person’s decision
- Whether it runs the moment something happens, on a schedule, or both
- Whether the tools it touches have a way in for software
- What has to be reconciled, or must never happen twice
What we’ll need from you
- Time with the people who do the work today
- Real examples of the inputs — emails, files, exports — with anything private taken out
- Access to the tools it works in, or copies to build against
- One person who can say what counts as done
- Your yes before anything goes live
What you get
- A map of the manual steps worth automating
- Workflows across inbox, sheets, CRM and APIs
- Alerts the moment something needs a person
- The code, with its tests and a guide to running it
Said up front
- Some work shouldn’t be automated. The map says which, and why.
- AI reads messy input well, not perfectly: where a mistake would cost you, a person checks it.
- The tools it connects to bill for what they supply, on top of the build; the quote lists them.
- Which accounts it runs in, and whose name they’re in, are agreed before the build starts.
- If a ready-made automation tool would do the job, we’ll say so on the call.
- Who makes changes after launch — your team, us, or both — is agreed when the build is quoted.
If it’s a whole platform or a phone agent you need, the same team builds those too.
Check it yourself
The claims that matter most, and where to check them
Some you can check now, in this browser.
Some we show you on the call.
The rest you get in your build.
Now, in this browser:
The automations under ‘Already running’ run on the platform you can try.
Start the free trial: make a test call and read its write-up, or add a document and watch it become ready.
Start freeNow, in this browser:
Every workflow step’s result is written in plain words.
On the trial, add a workflow with a ‘Send webhook’ step, save it, and press Send test: each step’s result, its attempts and how long it took.
Start freeNow, in this browser:
The results under ‘When it breaks’ are the platform’s own.
Each was worked out by its delivery code when this page was built.
When it breaksNow, in this browser:
Follow-up after our phone agent’s calls needs no build.
Set one up in three steps in the dashboard.
See what you can set up yourselfNow, in this browser:
We’re an EU company, registered in Romania.
The legal name, the CUI and the address are at the foot of this page.
On the call:
Our team holds 20+ Claude accreditations from Anthropic.
Ask to see them.
On the call:
Cartesia and ElevenLabs each awarded our company a startup grant.
Ask to see them.
On the call:
Every delivery from a ‘Send webhook’ step is signed.
Ask us to show you a delivery’s X-NTV-Signature header.
On the call:
Every figure about this platform is counted from its code.
By a test that fails if a figure stops being true. Ask us to run it.
In your build:
You get a map before anything is built.
It’s what stage 01 delivers. Four of ours are drawn above.
How a build goesIn your build:
Failures reach a person.
It’s what stage 03 delivers: alerts by email, text or Slack, tried on your build before it goes live.
In your build:
The code is handed over.
The code, its tests and a guide to running it are yours at the end of the build.
How you check yours
Yours starts with a call. Then come the three stages above, each one yours to check as it lands: the map of your manual steps, the automations working on your examples, and alerts that reach a person, with the code handed over.
Questions
What people ask before a build
+40 774 566 367
What can you automate?
Any repeated work that moves information between people and tools: emails into systems, documents into data, orders into invoices, a CRM kept in step with everything around it, reports that build themselves, and the checks and reminders in between. If the steps can be described and the information is somewhere software can reach, we can automate it, and we’ll say on the call which parts should stay with a person.
Your name says ‘Voice’. Do you only automate calls?
No. We automate work for any business — a law firm, a dental practice, a courier firm, a restaurant group, a letting agency, a charity — in the tools it already uses. Neuro Tech Voice is also the name of our own product, a platform for AI phone agents, so some of the automations it runs are about calls; they’re on this page because they’re ours to take apart, not because they’re all we build. Even here, three of the four under ‘Already running’ start the way work does in any business: with a payment, the time of day or a new document.
How complex can it get?
As complex as the work is. The automations this platform runs on write up phone calls with AI, check before every fiscal invoice that the payment isn’t invoiced already, and run eight steps every morning, three of them in a set order; one failing never stops the others. Pipelines across many systems, with schedules, retries, AI that reads documents and people who decide the exceptions, are the work we do.
What does it cost, and how long does it take?
It’s quoted after the call, because both depend on the work: how many steps and tools it passes through, how messy the inputs are, and how many cases need a person. We won’t put a number here that we’d have to walk back. The map comes first, so you’ll know what gets automated before anything is built.
What happens when something breaks?
We build it to fail safely. A step that fails is tried again where a retry can help; if it still fails, the steps after it don’t run, so nothing acts on a failed result. What must never happen twice is checked first — on this platform, whether a call’s workflows have already run, and whether a payment already has its fiscal invoice — and a webhook that’s tried again carries the same reference, so the system receiving it can ignore the repeat. Every run is recorded, and every failure with its reason. On yours, an alert also reaches a person. ‘When it breaks’ on this page shows the platform’s own delivery code at work.
Why not a ready-made automation tool?
We build when the work outgrows one: when it has to read messy input, reconcile figures, run exactly once, handle a long chain of exceptions, or stay in your own accounts and code. When a ready-made tool would do the job, we’ll say so on the call, and where one is the right piece, we build on it.
Does it need AI in it?
Only where it helps. Most automation is moving information reliably. Where a step has to make sense of messy input, like a scanned document, a free-text email or a phone call, AI does it, and where a mistake would cost you, a person checks it. The people who’d build it hold the Claude accreditations above.
Who owns it?
You do. At handover the code is yours, with its tests and a guide to running it. Which accounts it runs in, and whose name they’re in, are agreed with you before the build starts.
Can you work with the tools we already use?
Yes: most tools have a way in for software, an export, or an inbox it can read. Where one has none, we’ll tell you on the call what the options are.
We already have automations that keep breaking. Can you take them on?
Yes. Tell us about them on the call, then show us how they’re built, and we’ll say plainly whether we’d fix them or rebuild them, and why.
Where would our data live?
Only where the work needs it to go, chosen with you before anything is built. This platform keeps its database and file storage in the EU, in eu-west-1 (Ireland), while its call recordings stay with the provider that captured them, and ElevenLabs or Cartesia can keep their own copy of a call they handled. Twilio and ElevenLabs keep theirs in the US, and we haven’t confirmed Cartesia’s country. Some of the other services it uses are outside the European Economic Area too, and the privacy policy says how those transfers are safeguarded. The company that builds it is in the EU as well, registered in Romania.
Read the privacy policyStart
Bring any work nobody should do by hand
A build starts with a phone call, not a form. Tell us the work, the tools it touches and where it goes wrong. We’ll tell you what we’d automate first, what stays with a person, and what it would take.
+40 774 566 367 · Quoted after the call, never on the page
About this page
- The automations on this page
- Neuro Tech Voice’s own, built by the team this page describes. They’re shown because they’re ours to take apart, not because calls are all we automate. The drawings are made from its code; they’re drawings, not a live feed.
- The figures
- Every figure about the platform is counted from its repository by the site’s own tests.
- When it breaks
- Every result is worked out when the page is built, by the platform’s own delivery code, against two addresses that receive nothing: one at example.com and one inside a private network. Nothing is sent. The tag and Slack lines are the platform’s own words for those steps succeeding.
- The samples
- The fields, moves and flows under ‘Your kind of work’, and the workflow under ‘When it breaks’, were written for this page, for no business in particular.
- Accreditations and grants
- The accreditations are held by people on the team; the grants were awarded to the company by Cartesia and ElevenLabs. Both are shown on the call, on request.
- What isn’t here
- No client names, logos, testimonials, prices, dates or time-saved figures appear on this page.
- Anthropic and Claude
- Anthropic and Claude are trademarks of Anthropic, PBC. Naming them is not an endorsement by Anthropic of this page or of any build.
- Other names on this page
- Cartesia, ElevenLabs, OpenAI, Stripe, SmartBill, Slack, Twilio and Vercel are trademarks of their respective owners. We build on them; none of them endorses this page or any build we quote.
- Google, Gmail, Google Sheets, Google Calendar, Google Docs and Google Drive are trademarks of Google LLC. Neuro Tech Voice works with them and is not endorsed by Google.