Services
AI strategy & the systems it turns into.
Two services: the strategy that finds the expensive problem, and the build that fixes it. Every system is built to sound like your business, to run in your own accounts, and to be yours the day we leave.
Full services
What we do
Work out what is worth automating
A short audit of where the hours go, ending in a written map: what to automate first, what to leave alone, and what a spreadsheet already solves. Sometimes the map says build nothing yet. You get it either way, and it is yours to hand to another firm if you would rather.
Build the system that does it
The build itself: custom agents wired into the tools you already run, standing up inside your own accounts on your own cloud. You approve a written specification before anyone opens an editor, you watch it run on your data with writing switched off, and the workflow, the prompts and the runbook are in your repository at the end.
Brand-first
Every reply is a brand impression.
Your agents talk to customers more often than any ad you run. We build your brand in first, so every reply sounds unmistakably like you, and the whole system is yours to keep.
Before the build we write how your agent speaks, what it will and will not say, and where it hands off to a person. That voice lives in the prompts, and they ship to you as plain text you can read and change. A default corporate persona is the first thing we remove, not the fallback you are left with.
No agent we build pretends to be a person on your team. It says it is an agent in its first message, and it hands the conversation to a human the moment someone asks. Sounding like your brand and being honest about what it is are the same promise, not a trade-off.
A slow reply, a generic answer, a form where a conversation should be: these are where a brand is quietly lost. We treat the repeated moments a customer actually meets as the brand surface they are, because that is where a reputation is made or spent.
The workflow, the prompts and the runbook land in your repository, running on your own accounts. No standing fee keeps it alive, and nothing is glued to a login only we hold. Owning your brand's voice means owning the system that speaks it.
One agent carries about one hire's worth of the repeat work.
Your people spend their hours on judgment and on your brand; the system takes the retyping.
See what that is worthAgents
What that usually turns into
Most of what we get asked for isn't one of these three. If your team does the same job by hand every week, we can probably automate it. Tell us the job; sometimes the answer is buy the tool instead.
Nobody forgets the follow‑up
Enquiries qualified as they arrive, follow-ups sent on the schedule you set, and every WhatsApp conversation logged into your CRM with the thread attached. Which CRM depends on what you run. We build against the one you already pay for, and we name it in the specification once we have seen the account.
Answers where they already are
If your customers message you on WhatsApp, that is where the agent sits: order status, opening hours, bookings, every question with a documented answer, around the clock. It says it is an agent in its first message. The moment a question has no documented answer, it stops and hands the thread to a person.
Back office, minus retyping
Plain questions answered from your own files, with the source named next to the answer so you can check it. The same agent takes on the paperwork nobody wants: invoices read and posted, data moved between systems, the retyping that fills a day.
Stack
What your agents run on
Nothing exotic, and nothing you have to learn. Four decisions sit under any agent we build, and each one gets made against your job rather than our habits.
OpenAI's GPT, Anthropic's Claude, or Google's Gemini. We pick per build rather than per preference, and the specification says which one and why before anyone opens an editor.
You'll get your own API keys, in your own accounts, from the first day.
The cloud your business already runs: AWS Bedrock, Azure, Google Cloud, whatever is already there. We stand the system up inside your own infrastructure rather than hosting it and handing you a login.
You'll get the system running inside your cloud account, never ours.
n8n on most jobs, because most of what we automate is a path someone can draw: a message arrives, a record gets read, a reply goes out. When the deciding is the work itself, the steps live in agent code we write against the model directly. When the job has to hold state and wait on a person to approve something halfway through, we build that graph explicitly in LangGraph. Reach for the heavy option on a simple job and you pay to understand it every time you touch it. The audit tells you which one yours is.
You'll get the workflow and every prompt, as files in your repository.
Whatever you already pay for. Your agents reach your tools over MCP, the protocol the model vendors publish themselves, and n8n's catalogue covers several hundred services without anyone writing anything. Connecting your CRM or your calendar is usually a scoping question and not a rebuild.
You'll get your credentials, scoped to exactly what the specification says.
Worked example
Exactly how your agent works
You approve a specification like this before anyone opens an editor, and you get it back with the code. This one is real: a WhatsApp booking agent, followed through a single message.
- Trigger
- A customer message arrives on the WhatsApp Business API webhook. That is the only thing that starts this agent. It does not poll, it does not run on a timer, and nothing else in your stack can wake it up.
- Reads
- The message text, the sender's number, the last twenty messages in that thread, and two tabs of one Google Sheet: the price list and the availability grid. It can read nothing else in your Google account. That limit is in the credential itself, so you can verify it without asking us.
- Writes
- One reply on the thread. One row appended to the Sheet with the timestamp, the question, and the decision it made. One Google Calendar event, if a slot was confirmed. Appends only: it has no permission to delete a row or overwrite one, so the worst mistake it can make is a row you delete yourself.
- Decides alone
- Anything with a documented answer. Quoting from the price list, reading availability off the grid, booking a free slot, sending the confirmation. If the answer is in the sheet, the agent gives it and does not ask anyone first.
- Escalates
- Everything else. Refunds, complaints, a price it cannot find, and any message where the customer asks for a person. It says a person is picking this up, stops replying on that thread, and posts the thread into your team's channel. It does not guess, and it does not apologise on your behalf.
- When the API is down
- n8n retries three times with a widening gap, then stops and writes the failure to the error log with the message text intact. The queue holds. When WhatsApp comes back, the backlog sends in the order it arrived. If the outage outlasts the retries, a named person on your team gets an email, and the messages are still sitting in the queue instead of gone.
- In the repo on day one
- The n8n workflow exported as JSON, every prompt as a plain text file under version control, the Sheet and Calendar schemas, the credential names with a note saying which of your accounts each one belongs to, the runbook, and the instructions for switching the whole thing off. In your GitHub organisation. Our access comes off the same day.
FAQ
Before you ask
The questions this page tends to raise, answered on the page.
Yes, by design, because that is the part we build first. Before anyone opens an editor we write how your agent speaks, what it will and will not say, and where it hands off to a person, and you approve it. That voice ships to you as plain text prompts you can read and change. A generic corporate persona is the first thing we remove, never the thing you are left with.
The audit, in almost every case. Finding out that the expensive problem is not the one you assumed is cheaper than building for the wrong one, and the audit produces the written process the build needs anyway. If you arrive with that process already written down, we can start at the build, and we will tell you if that is the case.
Almost always, and it is usually a configuration question rather than a rebuild. Your agents reach your tools over MCP, the protocol the model vendors publish, and n8n connects natively to several hundred services beyond that. We name the exact connections in your specification once we have seen the account, so the answer you get is a commitment and not a maybe.
No. The system runs in your own accounts, on your own credentials, and it does not check in with us to keep working. Nothing switches off if you never speak to us again. Training is included so your team can operate it, and if you want a change later you ask, and we price that change on its own.
The three agent types here are the shapes the work usually takes; they are examples, not a menu. If your job involves something arriving, a decision that follows a rule someone could write down, and a system that needs updating afterwards, it is probably in scope. Describe it and you get a straight answer, including a no.
No, and it is built not to. The agent takes the repeat work, the reading and typing and chasing, and hands every judgment call to a person. Your team gets the hours back for the customers and the decisions an agent is not for, which is also where your brand is actually made. You decide how that time is spent before anything ships.