The AI assistant can write data on your behalf, but you don't always want it to do so directly. A proposal is a change the AI leaves pending for someone to review: the record is untouched until a person accepts it. This walkthrough runs through the whole cycle with an example — a set of maintenance contracts due for renewal — so you can see how to ask for a proposal, how to review one, what happens when the record changes in the meantime, and how to make a model or a routine always propose instead of write.

You'll use pieces Yellow already provides:

  • the assistant's chat, opened from a record with Ask about this,
  • the Proposals inbox, next to the notifications bell,
  • the AI writes section of the model editor, which sets the write policy, and
  • a routine that proposes instead of writing.

What you'll do

Piece Purpose
Maintenance contract model The records the AI will propose to change.
Four contracts Enough data to see single, bulk and routine-made proposals.
Write policy Decides, per model, whether the AI writes directly or proposes.
renewals routine A weekly automation that proposes renewals.

Before you start

Create a model named Maintenance contract with these properties:

Property Type What it does
Reference Text The contract code; mark it as the primary property.
Client Text Who signed it.
Annual amount Number What is billed each year.
Due date Date When it ends.
Status Text Draft or Signed.
Notes Text Free comments.

And fill it with four records:

Reference Client Annual amount Due date Status
CM-2026-001 Puig SL 18,400 2026-09-30 Signed
CM-2026-002 Ferreteria Vila 6,200 2026-10-15 Signed
CM-2026-003 Escola Vedruna 24,900 2026-11-01 Signed
CM-2025-017 Bar Nou 3,100 2026-09-10 Draft

The italic sentences in the steps are typed into the chat. Make sure the chat is not in read-only mode (the chip below the conversation): in that mode the assistant can neither write nor propose.

Step 1 — Ask for an explicit proposal

With the default policy the AI writes directly. Even so, you can ask it to leave a change for review.

  1. Open CM-2026-001 in the Explorer and press Ask about this on the record bar. The chat opens with the contract as context.
  2. Type: "Propose the renewal of this contract: annual amount 19,320 and due date 30/09/2027. Don't write it directly, leave it for review."
  3. The assistant replies that the change is pending review. The record does not change.
  4. A few seconds later, the Proposals icon (next to the bell) shows a 1. Reopen the record and you'll see the banner 1 AI proposal pending review with a Review button.
  5. Press Review: the inbox opens filtered on this record. On the right, the Current → Proposed table shows Annual amount 18,400 → 19,320 and Due date 2026-09-30 → 2027-09-30.
  6. Press Reject and give a reason (we haven't talked to the client yet). The proposal moves to the Rejected filter.

Because the same person proposed and decided, no notification is sent. When someone else decides, whoever asked for the change gets a notice on the bell.

Step 2 — Make everything go through review

The write policy is set per model and per tenant. It has three values:

  • Written directly — the default: AI changes are saved as one more version, marked as synthetic.
  • Always proposed for review — no AI write touches the record until someone accepts it.
  • Proposed when touching… — only changes affecting the properties you pick wait for review; the rest are written directly.

You can change it from the chat or from the model editor.

  1. In the chat: "Set the write policy of the Maintenance contract model to 'always proposed'." The assistant asks for confirmation before applying it. Check with "What policy does the Maintenance contract model have?", or open the model in the editor: the AI writes section shows the chosen option.
  2. Now ask for an ordinary change, without mentioning proposals: "Change the status of CM-2025-017 to Signed and note that it was signed on 3 September."
  3. The assistant does not insist on writing: it replies that the change is pending review, and the Proposals counter goes to 1.
  4. Open the inbox, select the proposal and press Accept. Its status becomes Accepted, and CM-2025-017 now has Status = Signed and the new notes.

Open the record's history: the new version carries the ✨ mark of a change made by the AI, just as if it had been written directly. The policy decides when the change lands, not how it is recorded.

Step 3 — The record changes before you decide

A proposal is computed against the values the record had at the time. If someone edits it in the meantime, Yellow warns you instead of overwriting.

  1. In the chat: "Propose raising the annual amount of CM-2026-002 to 6,500." The counter goes to 1.
  2. Without deciding it, open CM-2026-002 in the Explorer, change the Notes by hand and save.
  3. Back in the inbox, refresh: the proposal carries the Record changed label. Press Accept: Yellow does not apply it, explains that the record changed since it was proposed, and the button becomes Accept anyway.
  4. Press Accept anyway. The proposal is applied on top of the current version: the notes you wrote are kept and the amount becomes 6,500.

Step 4 — Several proposals at once

When the AI changes many records in one operation, each one gets its own proposal and you can decide them in bulk.

  1. In the chat: "For every signed contract due before 31/12/2026, propose a renewal with 5% more amount and the due date one year later. Do it in a single operation."
  2. As many proposals appear as contracts match, and the counter adds them up.
  3. In the inbox, tick them all with the checkbox and press Accept selected. Each result is reported separately: if one cannot be applied, the others are not held back.

Step 5 — A routine that proposes

Automations follow the same policy as the chat, and you can also ask them explicitly to propose.

  1. In the chat: "Create a routine named 'renewals' that every Monday at 8 finds the signed maintenance contracts due in the next 60 days and, for each one, proposes (does not write) a renewal with the current amount and the due date one year later, and notifies me."
  2. The assistant writes the routine, compiles it and tells you when it will fire. If the compile leaves warnings, you'll see them in the same chat.
  3. Open Automations, filter by Routines and pick renewals. The Source tab holds the text you dictated; Plan holds the compiled plan: the step that updates each contract carries mode: propose.
  4. Press Run now (the play icon). The proposals show up in the inbox with origin routine, and you receive the notification you asked for.

The routine is private: only you see it and it runs with your permissions. To share it with the team, use the share icon on the same screen.

Step 6 — Put it back

In the chat: "Set the write policy of the Maintenance contract model to 'written directly'." Or open the model, choose Written directly in the AI writes section and press Save.

Going further

  • Only some properties. Try "Set the model's policy to 'proposed when touching' only for the Annual amount property". Afterwards, a change to Notes alone is written directly; a change to the amount is proposed.
  • The chat banner. While proposals are pending, a new conversation starts with a Pending proposals banner showing the count and a link to the inbox.
  • Who decides. Accepting or rejecting requires the same permission a direct write on the record would. Someone who cannot edit a contract cannot accept a proposal on it either.

Where to find it

The Proposals inbox is the icon next to the bell in the sidebar; the Pending, Accepted and Rejected filters separate the decisions. Each model's write policy lives in the AI writes section of the model editor and is saved with the Save button like the rest of the model. Routines live under Automations, in the Routines filter.