Register your interest: Tag @Cody, get an agent
BlogResources

Close and CodeWords: automating around calls and email

Close is built for sales teams that phone people. Activity data as the real asset, smart views as an API, and why enrichment beats enforcement in a CRM reps actually live in.

Rithul PalazhiRithul Palazhi11 min read

Summarize with AI

Close and CodeWords: automating around calls and email
On this page

Close is built around the assumption that selling means talking to people. Calling and emailing happen inside it rather than alongside it, which means the activity record is unusually complete — every call, its duration, its outcome, every email, in sequence.

That completeness is the thing worth automating around. Most CRMs know what a rep said happened; Close knows what actually happened, and that difference supports reporting and coaching that other systems cannot.

What we'll cover

Find out what already runs

Close has built-in automation that usually covers part of what people set out to build.

Workflows sequence outreach steps with defined timing and exit conditions.

Email templates and sequences handle the repetitive sending.

Smart views are saved searches that drive how reps work their day.

Installed integrations write to leads and contacts, sometimes to the same custom fields you intend to use.

List what exists before adding anything. An external automation setting a field that a workflow also sets produces a value dependent on ordering, which is a bug nobody can reproduce.

If a workflow can do it, use the workflow — it is visible to the team and adjustable by the people who manage the sales process.

Activity data, the real asset

Close records the activity itself, which supports questions other CRMs cannot answer.

Call duration and outcome are recorded, so connection rates and talk time are measured rather than reported.

Email opens and replies are attached to the lead, in sequence with everything else.

The sequence is complete. What was tried, in what order, with how long between attempts — this is the raw material for understanding what actually works.

Attempts before connection is a metric most teams guess at and this data answers directly.

Time of day patterns by segment are available and almost never examined.

Reporting on this is the highest-value automation here, and it needs no writes. It answers "what is the pattern behind the reps who connect most" with evidence rather than anecdote.

What the Close API reaches

Leads are the central object, holding contacts, opportunities, and activity.

Contacts belong to leads, with phones and emails.

Opportunities carry value, status, and expected close date.

Activities — calls, emails, notes, SMS, meetings — can be read and created, which is the richest data here.

Custom fields on leads, contacts, and opportunities can be read and set.

Smart views can be queried, which lets an automation reuse a definition the sales team already maintains.

Tasks can be created, which is how automation puts work in front of a rep.

Webhooks fire on object changes.

Bulk actions and search support working across many leads with a query language.

Connecting it to CodeWords

CodeWords connects to more than 3,000 integrations, and the connection is made once and reused.

  1. Open CodeWords and start a new automation.
  2. Describe what should happen in plain language to Cody, the automation builder: which leads, what triggers it, and what should result.
  3. Authorize the connection with an API key belonging to a dedicated integration user rather than a rep.
  4. Describe the exceptions: a duplicate lead, a contact with no reachable phone or email, a smart view returning nothing.
  5. Test against a small set of leads before anything runs across the organisation.

You describe the outcome; Cody builds it, connects it, and deploys it. The free plan covers light use, with Pro at $39 per month and Business at $100 per month as usage grows; details are on the pricing page.

Seven automations worth building

Activity pattern reporting. Connection rates by time of day, attempts before connection, and what the highest-connecting reps do differently. Evidence for coaching rather than opinion.

Inbound lead creation with deduplication. Forms, trials, and demo requests becoming leads with fields populated, checked against what exists.

Enrichment from your own systems. Product usage, support history, and billing status on the lead, so the rep opens a call informed.

Task creation on real signals. A trial ending, a usage threshold crossed, a support escalation — each producing a task with the reason attached.

Stalled opportunity reporting. Opportunities with no activity or past their close date, sent to the owner.

Post-close handoff. When an opportunity is won, create whatever onboarding needs, carrying the context from the lead's activity.

Data quality reporting. Leads with no reachable contact, duplicated organisations, and opportunities with placeholder values.

Smart views as an interface

A capability worth using deliberately, because it keeps automation aligned with how the team works.

A smart view is a saved query the sales team already maintains, and automation can read it rather than duplicating its logic.

The definition stays with the sales team, which means the criteria change when the process changes without anybody editing an automation.

Use it for selection, not for state. A smart view tells you which leads match; what happens to them is the automation's business.

Expect it to change. Somebody will edit the view, and an automation acting on its contents should report how many it acted on so a sudden jump is visible.

Do not rebuild a view's logic in code. Duplicating it means two definitions that diverge, and the sales team will not know yours exists.

Enrichment beats enforcement

The general principle for CRM automation and it applies sharply in a system reps live in all day.

Adding required fields reduces data quality, because reps route around them with placeholder values.

Putting information on the lead increases it, because the rep sees something useful and engages with the record.

Automate the typing, not the judgement. Logging what happened, creating the follow-up, attaching the context — these save time. Deciding a deal's stage does not.

Surface, do not block. A report saying twelve opportunities have no next step works; a rule preventing saving without one does not.

Measure adoption of what you build. An automation whose output nobody acts on is worth removing, and only measurement tells you which one that is.

Automating around a dialler touches rules that apply to the calls themselves, and they are not optional.

Do not automate the dialling itself past what the platform provides. Close has calling features designed within its own compliance posture; bolting something else on top is a decision with legal implications rather than a technical shortcut.

Honour do-not-call lists, and honour them across systems rather than only where the request arrived.

Calling hours are regulated in many jurisdictions and are based on the recipient's local time, not yours — which means an automation scheduling tasks should know the contact's timezone.

Recording requires consent in many places, and the rules differ by jurisdiction and sometimes by party.

An opt-out anywhere means opt-out everywhere. Somebody who unsubscribes from email has not necessarily opted out of calls, and somebody who asks not to be called has. Record which, and apply it.

Build the suppression check into the automation, not into a rep's memory, since that is the only version that holds up when volume increases.

Building it so it survives

Search before creating, since duplicate leads in a small CRM get noticed by customers.

Store the source identifier in a custom field so creation is idempotent.

Normalise phone numbers to international format before matching or writing, since a nationally formatted number fails in ways that are not obvious.

Handle at-least-once webhooks by keying on the record and change.

Report the outcome. Leads created and updated, duplicates avoided, and tasks created.

Limits worth knowing about

Rate limits apply and bulk work needs pacing and batching.

Search has its own query syntax, and complex selection is sometimes easier done by filtering retrieved results.

Pagination applies to listings, and reports built from a first page understate.

Activity volume is large for an active team, so anything analysing history across months should fetch selectively.

Custom field identifiers are opaque, which makes them stable and makes queries harder to read.

What to build first

Activity pattern reporting: connection rate by time of day, attempts before connection, and how those differ between reps, reported monthly. It writes nothing, it uses data no other CRM would have, and it turns coaching conversations from opinion into evidence.

Two habits make the difference. Report the pattern rather than ranking people, since a leaderboard changes behaviour in ways that make the numbers better and the selling worse. And segment by lead source, because connection rates differ enormously between inbound and cold and comparing across them tells you nothing.

Frequently asked questions

What can Close tell me that another CRM cannot?

What actually happened, rather than what was reported. Calls, durations, outcomes, and email sequences are recorded because the work happens inside the tool, which supports connection-rate and attempt-pattern analysis that logged-after-the-fact data cannot.

Will automation improve our CRM data?

If it enriches, yes. If it enforces, no — required fields produce placeholder values, and the data gets worse. Put useful information on records and let reps engage with it.

Should automation use smart views?

For selecting which leads to act on, yes, and it is one of the better features here. The sales team maintains the definition, so the criteria change with the process without anybody editing an automation.

How do I avoid duplicate leads?

Search on normalised email and phone before creating, and store the source identifier in a custom field. Automations that create without looking are the main source of duplicates in any CRM.

Should automation move opportunity stages?

No. Stage reflects a judgement about a relationship. Report that an opportunity looks stalled and let the owner decide, which respects the judgement and keeps the pipeline meaningful.

What enrichment matters most?

Whatever the rep currently asks somebody else for before a call — usage, open tickets, payment status. It exists in your systems, it is invisible in the CRM, and putting it on the lead removes a recurring interruption.

Why does phone number matching fail?

Formatting. Numbers stored nationally do not match numbers stored internationally, and the failure is silent. Normalise to a consistent international format on both sides before comparing anything.

Can automation handle the calling itself?

Use the platform's own calling features rather than building around them. Dialling automation touches regulated territory — do-not-call lists, permitted hours in the recipient's timezone, and recording consent — and those rules are a legal question rather than a technical one.

How should opt-outs work across channels?

Record what was actually requested, since an email unsubscribe is not a request not to be called, and apply it everywhere. The check belongs in the automation rather than in a rep's memory, which is the only version that survives more volume.

What is the most useful thing to report to a sales manager?

Attempts before connection, and connection rate by time of day, segmented by lead source. Both come free from the activity data, neither is available in a CRM where calls are logged afterwards, and both change how a day is structured rather than merely describing it.

Should reporting rank individual reps?

Report the pattern, not the league table. A ranked list changes behaviour towards whatever is being counted — more dials, shorter calls — which improves the number and not the selling.

Get started today

Your first workflow is free to build.

Describe what you need. Cody handles the build, the connections, and the deployment.