What we shipped
- A client knowledge bank that updates itself. Starting with onboarding surveys it routes questions to the right person in the client's organisation. PR questions for the PR manager, board-level KPI questions for the CMO.
- After that it keeps learning. Anything a client tells us, in a Google Doc comment, a Slack message, a call transcript or an email, is checked against their profile, and genuinely new information is filed for review and merged in.
Why we built it this way
The problem with a fixed client profile is tacit knowledge. You naturally learn things about a client business that don't surface in formal onboarding or questionnaires but through conversations and interactions with deliverables. If the client profile doesn't change constantly, that means we're not recording information about their business effectively and eventually this cruft shows up in deliverables. From small corrections on copy to larger missed opportunities as teams align with older and older information.
So we built an agent that keeps the clients information fresh and up to date so other agents that use the client profile have the most up to date information. Furthermore, any account manager or specialist that needs to get information about the client can query our agency MCP via Slack or any AI surface to get up-to-the-minute information about the client, even the last thing they said in our last call.
This effectively liberates knowledge from the heads of client contacts, account managers and the marginalia of Google Docs and centralises it in a clean queryable way.
How it benefits clients
- Clients stop repeating themselves. A correction or a new fact is learned once and applied everywhere afterwards.
- Every deliverable, a fact-check for copy, an idea for PR, context for a report, reads from a profile that is current.
- Fewer errors in copywriting and a faster approval time. Since going live our average time to publish has dropped by around 80%.
What's next
- Tighter clustering so recurring themes surface on their own, and more surfaces feeding the bank.
- More ways for the client to interact with the client profile including letting our AI call them.
- Ad-hoc clarifications from our AI if it finds conflicting information
Technical innovations
It began as Comment Sweeper: a Google Doc comment gets diff-checked against the profile, synthesised, and the model decides whether it is genuinely new or additive. If it is, it becomes a GitHub issue, then a pull request a human approves and merges. Nothing auto-applies. We then pointed the same mechanism at every surface a client touches, so the bank updates in near real time.
How it fits the agentic journey
This is the manifesto's human-in-the-loop rule and its compounding gains over time. The machine spots the new information and drafts the change; a person signs it off. The more we ship, the more feedback we get, and the more accurate the whole thing becomes, a virtuous cycle rather than a maintenance chore.
This is the perfect application of AI in the modern workplace - to manage information drift and keep everyone informed to produce higher quality deliverables across all domains.