## Overview

During a conversation people routinely correct and complete their own details: *"actually my email
is a different one"*, *"take down my tax ID for the invoice"*, *"I moved to another city"*. Until
now, the **Bot** could **read** the whole profile and correct **nothing** — somebody had to reread
the conversation afterwards and retype it into the record.

The Bot now **writes** that data while it talks. There are **six capabilities**: three for the
**Contact** and three for the **Company**.

| What the Bot fills in | Where |
|---|---|
| Name, email, phone, external identifier and country | Contact |
| Tax ID (CPF/CNPJ) and legal type | Contact |
| Main address **or** billing address | Contact |
| Legal name, website, domain, industry, size, lifecycle stage, email, phone, timezone and description | Company |
| Tax ID (CNPJ) and legal name | Company |
| Company address | Company |

Three guarantees hold it together: the Bot only records what the person **just told it**, the contact
is always the one **in this conversation** (it cannot write onto somebody else's record), and every
successful write leaves an **audit note** in the conversation.

## Prerequisites

- **Maestro enabled** and a Bot configured on the inbox.
- An **autonomy level set** on the Bot — it decides whether the write runs straight away or waits for
  approval (see "Settings & options").
- The three **Contact** capabilities are **built in**: every Bot already has them, which is why they
  **do not appear** in the tool list to be ticked.
- The three **Company** ones are regular tools and **must be ticked** in the Bot's configuration:
  `crm_org_update`, `crm_org_set_fiscal` and `crm_org_set_address`.
- Also tick `crm_list_organizations`: that is how the Bot finds out **which** company to update.
  Without that lookup it cannot identify the record and writes nothing.
- The **Companies** module must be available on the account.

## Step by step

1. Open the **Bot** configuration and confirm the **autonomy mode**.
2. In the tool list, tick the Company ones (`crm_org_update`, `crm_org_set_fiscal`,
   `crm_org_set_address`) and the `crm_list_organizations` lookup. The Contact ones are already on.
3. **Save** and work normally. When the person gives a detail — *"note down my tax ID:…"* — the Bot
   records it on the record.
4. In **Hybrid (Require approval)** mode the write is **held** and becomes an **approval card** in
   the Maestro panel, with a private note mentioning the assignee. Open it and choose **Approve** or
   **Reject**. In **Autopilot** it runs straight away.
5. Check the result on the **contact profile** (or the **company record**) and the **audit note**
   logged in the conversation.

## Settings & options

### Contact fields

| Field | Expected format |
|---|---|
| Name | Text |
| Email | Email address |
| Phone | E.164, with country code (e.g. `+5521999999999`) |
| Identifier | This person's external id in your system |
| Country | ISO-3166 alpha-2 (e.g. `BR`) |
| Tax ID | The digits as the person gave them; the type (`cpf`/`cnpj`) can be inferred |
| Legal type | Individual or company |
| Address | Street, number, complement, district, city, state, postal code and country |
| Billing address | The same fields, stored separately from the main address |

The Bot chooses between the **main address** and the **billing address** from the context of the
conversation. If the person explicitly says it is the invoicing address, have that said in the
conversation — that is what drives the choice.

### Company fields

| Field | Note |
|---|---|
| Trading name | Commercial name |
| Legal name | Registered name |
| Domain / Website | `acme.com` / full URL |
| Industry | Sector |
| Size | Headcount band (e.g. `11-50`) |
| Lifecycle stage | E.g. lead, customer |
| Email and phone | Phone in E.164 |
| Timezone | IANA standard (e.g. `America/Sao_Paulo`) |
| Description | A short description of the company |
| Tax ID and legal name | Tax identity, to invoice it or put it on a contract |
| Address | Street, number, complement, district, city, state, postal code and country |

### Autonomy: there is no new switch

All six capabilities count as **sensitive actions** — exactly the same treatment as CRM, Calendar and
Payments writes. That means:

| Bot mode | What happens to the write |
|---|---|
| **Autopilot** | Runs straight away. |
| **Hybrid (Require approval)** | It is **held** waiting for human approval, in the usual panel. |
| **Copilot** | Nothing goes out without your review. |

There is no separate toggle just for contact data: what governs it is the **Bot's autonomy level**.

## Use cases

- **Issuing an invoice**: the customer gives the tax ID and address mid-conversation, and the record
  comes out ready for billing.
- **Closing a contract**: the company's legal name and tax ID recorded on the spot, with nobody
  retyping them from the history later.
- **Billing**: email and phone corrected the moment the person says they changed — the payment link
  starts arriving in the right place.
- **Delivery**: a billing address kept separate from the main address.
- **B2B qualification**: the company's industry, size and lifecycle stage filled in from what the
  contact says, feeding segments and reports.

## Tips, limits & best practices

- **A stored document comes back masked — and the Bot refuses to rewrite it.** A stored tax ID is
  returned on read as `***`. If the Bot tried to "confirm" that masked value, it would overwrite the
  real document with a mask. So it **refuses** and asks the person for the document instead. The Bot
  only stores a document it has just heard in the conversation.
- **A partial address is merged, never replaced.** If the person gives only the city, the postal code
  and street already stored **stay there**. The same holds for every field: **anything not said keeps
  its stored value**. An incomplete answer never wipes a record.
- **The contact is always the one in this conversation.** The Bot cannot be pointed at somebody
  else's record — that is exactly how one customer's document would land on another's profile.
- **The company, however, is found by lookup.** If the account has two similarly named companies, ask
  the contact for the full name or the tax ID before requesting an update — the write lands on the
  record the Bot found.
- **The audit note only appears when the action succeeded.** If the write failed, there is no note
  claiming it was done.
- **Start on Hybrid.** Identity data is sensitive: review a few approvals before moving to Autopilot.

## Troubleshooting

- **"The Bot said it noted it down, but the field did not change"**: the mode is **Hybrid** and the
  action is **held**. Open the Maestro panel in the conversation and **approve** it.
- **"The document was not saved"**: the value sent was **masked** (read from the record, not given by
  the person). Ask for the document in the conversation and record it again.
- **"The Bot does not update the company"**: the Company tools are **not ticked** in the Bot
  configuration, or the `crm_list_organizations` lookup is missing so it cannot find the record.
- **"The address came out incomplete"**: the Bot records **only what was said**. Ask for the missing
  parts — they are added to what already exists, wiping nothing.
- **"It updated the wrong company"**: there was more than one record with a similar name. Fix it on
  the company record and, next time, confirm the full name or the tax ID first.
- **"I want it to stop touching the record"**: use **Copilot** (nothing goes out without you) or
  untick the Company tools. The Contact ones follow the Bot's autonomy level.

## See also

- [Bot autonomy modes and human approval (HITL)](/hc/ajuda/articles/maestro-brain-autonomia-e-aprovacao-humana-en)
- [Maestro tools per module and how to enable them](/hc/ajuda/articles/maestro-brain-ferramentas-maestro-por-modulo-en)
- [Checking what the Bot claims before it is sent](/hc/ajuda/articles/maestro-brain-verificacao-do-que-o-robo-afirma-en)
- [Contact fiscal data and address (tax ID, billing)](/hc/ajuda/articles/contacts-crm-dados-fiscais-e-endereco-en)
- [Companies and contact linking](/hc/ajuda/articles/contacts-crm-empresas-en)