How does the system decide what to write into the CRM?
It writes only what it can prove from the transcript, and it sorts every field into one of two lanes before anything touches the CRM.
The first lane is low-risk, additive data: a call summary note, the next step, the next step date, competitors mentioned and named stakeholders. These are written straight to the deal because a wrong value costs a rep 10 seconds to fix and nothing downstream depends on it.
The second lane is anything that moves a forecast: deal stage, amount, close date, probability and owner. Those are proposed in a Slack card with the quote that justifies the change, and the rep approves or edits. At launch, err toward putting more fields in this lane. We set the split field by field with your sales lead during the Map stage.
Extraction runs against a fixed JSON schema with your field names and picklist values, enforced with the model provider's structured outputs (opens in a new tab) feature or its equivalent, so the model cannot invent a stage your pipeline does not have. Each value carries a confidence level and a timestamp. Anything below the threshold we agree with you goes to the approval lane or stays blank.
If your team qualifies with MEDDICC, BANT or your own checklist, the schema follows it, with a separate field set for each call type.
The follow-up email is saved as a draft through the Gmail API (opens in a new tab) or Microsoft Graph (opens in a new tab) for Outlook, and the build never calls send. For the general pattern behind this, see human in the loop and function calling.


