AI / Commodity operations · CommodityAI
The best reporting we have audited, running on a workspace updated entirely by hand.
CommodityAI builds AI agents for physical commodity operations. Their Attio reporting went deeper than anything else we have audited, and their ICP model was exactly right for their market. The whole audit came down to one line: a reporting layer built for an automated company, running on a workspace that nothing automated.
Free 48h audit
Engagement
0
Native workflows found
0
Open tasks found
4 to 1
Money fields consolidated
14
Findings prioritised
The problem.
Two things were already right, and they are the hard things. The reporting was the best we have audited: pipeline, lead-gen and sales-management funnels, and a full revenue suite, with agency-sourced pipeline tracked separately from the in-house reps. The ICP model was exactly right for a commodity market, with structured commodity class, company type, and CTRM/ERP status on the company. The HubSpot migration had come across clean.
Underneath it, nothing ran. Not a single native workflow, and not a single task in the workspace. Every deal, every stage, and every field was entered by hand.
Attio was an island. The outbound tool, the scheduling tool, the website form, and the call recorder all fed Attio manually, or not at all. The website form fired a Slack notification and created no record.
So the dashboards were only ever as accurate as what someone remembered to fill in. Fields captured at creation sat near full. Lifecycle and judgment fields collapsed, because nothing prompted anyone to update them. That is the signature of a manual CRM, and it is why reports resting on sparsely filled fields could not be trusted.
Objectives.
- Make the tools feed Attio directly instead of by hand, so the workspace becomes the single source of truth.
- Give every active deal an owned, dated task, replacing a free-text next step that was rarely filled.
- Pick one canonical money field and repoint the revenue reports at it.
- Rebuild the funnel and velocity reports on Attio's native stage-change history, then retire the hand-kept date fields.
- Separate quick wins from the longer build, so the team knows what to act on this week.
What we found.
Fourteen findings, prioritised by what to fix now versus later. The four that shaped the roadmap:
Zero workflows, zero tasks
No native automations and no follow-up engine anywhere in the workspace. The root cause of every manual habit downstream, and the reason lifecycle fields sat empty.
The deal board doubled as a lead list
A deal was created for every booked meeting, so a large share of the board sat disqualified, mostly no-shows and poor fits. Every funnel inherited that noise. Qualify before the deal exists, or exclude the noise from the funnel views.
Four money fields, none filled reliably
TCV, ARR, NRR, and the Attio default deal value all disagreed. NRR was typed as currency when it is a ratio, and TCV's description contradicted its own name. Make ARR canonical, auto-populate it, and repoint the reports.
The journey was tracked three ways
Deal stage, a hand-maintained multi-select, and a set of date fields, all kept in parallel. Attio already tracks stage-change history natively. Rebuild funnel and velocity on that, then retire the manual layer.
The roadmap we handed over.
Three horizons, so the team could start the same week the audit landed.
Now: settings
Connect the outbound and scheduling tools with native apps and webhooks. Fix the money fields and pick a canonical one. Archive the clutter, collapse the duplicate reason taxonomy, and stand up tasks with views.
Next: the automation layer
A booking creates the deal, whatever the source. The website form writes a real record. A next-step guard creates an owned, dated task when a deal advances without one. Then repoint the reports and rebuild the funnel on native stage history.
Later: single source of truth
Move to Attio's native call recorder so transcripts live where automation can read them, and every call writes its summary, next step, and facts back onto the deal. Then backfill history so the existing dashboards become trustworthy retroactively.
A note on the reporting.
We did not rebuild the dashboards. They were already the strongest part of the workspace. The point of the whole engagement was that the same reports, fed by wiring instead of by memory, start telling the truth. Close the wiring gap and the reporting they already built does its job.
Results.
- A prioritised roadmap that separates what to automate now from what can wait, grounded in where the real pain sits.
- Fill statistics across every deal attribute, which is what made the reporting problem visible instead of arguable.
- A named canonical money field and a repointing plan, so the revenue reports stop disagreeing with each other.
- An automation layer specified end to end: booking creates the deal, calls write back, tasks generate with an owner and a deadline.
- Agents specified to run on the team's own Claude subscription. No Python, no separate API key, no extra AI bill.
“George's audit was insightful and highly actionable. He laid out a clear prioritization of what to automate now versus later, grounded in a thoughtful assessment of where our highest needs and biggest pain points actually are. Rather than treating every workflow as urgent, he separated quick wins from longer-term initiatives, giving us a practical roadmap we could act on immediately. His recommendations were specific and well-reasoned. I'd recommend George without hesitation.”
Chris Bertolini
Founding GTM, CommodityAI
Ready when you are.
Two ways in. Pick the friction that fits.