The failure worth designing against is quiet: a country filled from a phone prefix that was half recognised, an industry taken from the shape of a company name, and a workspace that slowly fills with values nobody can trace. OpenCode leaves the underlying model your choice, so the fix for that behaviour is a model change while the rules, the objects and the Slack channel stay exactly as they are.
Run a staged conversation — no account needed. The agent handles it for real while a simulated world answers its tool calls; nothing touches real accounts, and nothing is actually sent.
Kirana Foods Pte Ltd
Created during a prospecting session. Domains holds kiranafoods.sg. Categories is empty, Employee range is empty, Location reads Singapore, Owner is unset, and the description attribute carries one line pasted from their site about cold chain logistics for grocery retail. No people are associated with it yet.
Using this template drops you into a guided setup. It asks exactly this, nothing else:
Connect Attio
One sign-in. The agent acts through your account, scoped to what this template uses.
Connect Slack
One sign-in. The agent acts through your account, scoped to what this template uses.
Crm rules
Which objects the agent may work in, the attributes it is allowed to fill on each, when a record earns a follow-up task and who that task belongs to, and the short list of signals worth a Slack line, such as a company on your target list or a deal above your threshold.
Runs on OpenCode
Preselected for this page — connect your OpenCode account during setup, or switch to NoClick's built-in models with one click.
Watch it handle a test run
A staged conversation against a simulated world — then it’s live.
A domain lifted from a work address is derivation, and a headcount produced from a brand is not. Weaker models blur that line first, and swapping the engine is the correction available to you.
Where the record cannot support a value, the attribute is meant to stay empty and be named in the note. A model that dislikes empty fields will always find something to put in them.
More there than anywhere else in this workflow. The attributes are fenced by your rules and by the options each attribute already offers, so the visible difference between engines is whether the note says unknown plainly or dresses a guess as a fact. Run Badge Scan Person, where the address has no domain suffix and the name is lower case, and read which of the two you got.
Free to start. Guided setup, a test run against staged conversations, and it's live.