Guide

Post-call data write-back (fields, notes and outcomes)

Last updated: September 8, 2026

A call isn't over when the line drops. GodSetter runs a post-call analysis on every finished call and writes the results back to your CRM, so the contact record reflects what actually happened — without anyone typing.

Three things can be written, all on the contact that was on the call.

What gets written

WriteWhat it containsWhere you control it
Outcome tagA tag matching the call's outcome (booked, no answer, DNC, …), plus a dedicated tag when the retry plan ends without ever reaching the contact.Settings → CRM tags — see CRM tags: the 15 events.
Contact noteThe call summary from the analysis, prefixed [AI Call].Automatic — added once, when the analysis delivers the summary (usually a moment after the call ends).
Custom fieldsThe values you mapped in the agent's Data & GHL tab.The GHL field mapping editor, described below.

Other automatic notes

Besides the call summary, GodSetter writes a CRM note whenever something happened that a human needs to read later: an appointment cancelled or moved during a call, a "not interested", a callback the lead asked for (in their own words), the end of a retry plan that never reached the contact, and an agreed callback that went unanswered. All of them are best-effort and never block the call.

Map analysis values to contact fields

In the agent editor, open the Data & GHL tab → GHL field mapping. Each row maps one value the post-call analysis extracts to one contact custom field in your CRM:

  • Analysis field — the name of the value to extract (letters, digits and underscores, e.g. budget).
  • Type — text, number or yes/no.
  • GHL fieldKey — the field's stable key, found in your CRM under Settings → Custom Fields (e.g. contact.budget).
  • Description — the extraction instruction, in plain language. This literally tells the analysis what to listen for, e.g. "The budget stated by the lead".

Add rows with Add field, then press Save mappings. From the next call on, the analysis extracts those values and GodSetter writes them to the contact.

Shared template, per-location fields

An agent template is shared across many client sub-accounts, but your CRM gives the "same" custom field a different internal id in every location. That is why a mapping stores the stable fieldKey rather than an id: at the end of each call, GodSetter resolves the key to that specific location's field and writes there.

Practical consequence: the field must exist (same fieldKey) in every sub-account the agent serves — snapshots make this automatic. If a location doesn't have the field, the write is skipped for that location and logged; the other writes still proceed.

How values are handled

  • A field is only written when the analysis actually extracted a value. An empty extraction leaves the CRM field untouched.
  • number accepts decimal commas: "2500,50" is written as 2500.5.
  • yes/no accepts yes/no, true/false, 1/0 — and the Italian "si"/"sì".
  • A value that can't be represented in the declared type is skipped. Nothing malformed is ever written to the contact.

Agents created before this integration

If an agent existed before field mappings and the in-call CRM tools shipped, press Sync GHL tools once, in the same Data & GHL tab. It re-registers the tools and the analysis configuration on the live agent; saving the agent's settings has the same effect. New agents need no sync.

Best-effort, by design

Every CRM write is best-effort. If your CRM is unreachable or rejects a write, the call itself is untouched: the call log entry, transcript, recording, outcome and lead history in GodSetter are already saved before any CRM write starts. The error is logged for operators — GodSetter's own record is always the source of truth.

On an in-app test lead the write-back is simulated: the contact is synthetic and does not exist in your CRM, so no tag, no note and no custom field are written.

Next