Skip to content

Add your own fields to deals

Every business tracks a few things about a deal that no standard form has a box for. A consultancy prices its work by the man-day rate. A distributor splits its pipeline by region. A reseller keeps a link to the signed contract. A project business needs the go-live date, which is usually months after the contract is signed. Written into a note, a fact like that can’t be sorted, compared across deals or trusted to be up to date.

Custom fields give it a proper place. You define a field once, and every deal gets it: on the deal’s page, in its drawer on the board, in the New Deal dialog, and as a column in the table.

Until you add the first field, nothing changes anywhere. Deals look exactly as they always have.

  1. Open Deals and click Configure at the top right. Configuring deals needs an administrator account, the same as editing the pipeline stages.
  2. Open the Fields tab.
  3. Under Add a field, give it a label, for example Man-day rate, pick its type and click Add field.

Pick the type for what the field holds. Routario checks every value against it, so a number field never ends up containing “call Petr first”.

TypeHoldsWhat it accepts
TextAnything shortAny text.
NumberAn amount, a rate, a count1200 or 1200.50. A space may group thousands (1 200). A comma is refused, because 1,200 means a thousand and two hundred in English and one point two in Czech.
DateA dayPicked from the calendar.
Yes / NoA flagYes, No, or not answered yet.
SelectOne answer from a list you defineOne of its options. Type the options when you add the field, and press Enter after each one.
LinkA web addressA single http:// or https:// address. Paste example.com/contract and it is saved as https://example.com/contract.

A field’s type can’t be changed later, because the values already entered only fit the type they were entered under. To change a type, archive the field and add a new one.

When you add a field, Routario also gives it a name, made from the first label: Man-day rate becomes man_day_rate, and Hodinová sazba becomes hodinova_sazba. The name is shown on the Fields tab.

The name never changes. If you later rename the label to Daily rate, the field is still man_day_rate, so anything that already refers to it keeps working: the flows and agents that read and write it, and its history.

Once a field exists, every deal has it:

  • The deal’s page and the deal’s drawer on the board list your fields below the deal’s own facts. Click a value to edit it, then press Enter or click away to save. A Select or Yes / No field opens a list to choose from.
  • The New Deal dialog asks for them below the dates, so you can fill them in when you create the deal. Leave any of them empty if you don’t know the answer yet.
  • The table view (the table icon next to New Deal; see Work with your deals) adds one column per field, after Owner. Click a column heading to sort by it. Numbers sort as numbers and dates as dates. Click a cell to edit it right there.

To clear a value, delete it and save. An empty field is simply not filled in. It isn’t stored as a blank.

If a value doesn’t fit the field’s type, it isn’t saved. The cell goes back to what it was and a short message says why, for example ‘Man-day rate’: expected a number, got ‘a lot’.

The Fields tab is also where you manage them:

  • Rename a field: edit its label and click Save. Its name stays the same.
  • Change a Select’s options: add or remove options and click Save. Deals that already use an option you removed keep their value. The value still shows on the deal and can still be chosen, until someone picks something else.
  • Reorder: use the arrows. The order on the Fields tab is the order on every deal and in the table.
  • Archive a field when you no longer need it. It disappears from every deal, the dialog and the table. The values already entered are kept, not deleted. The field’s name becomes free, so if you add a new field with the same label, it gets the same name. The new field starts empty.

Flows and agents use custom fields by their names, the same way they use a deal’s other fields.

Reading. Find Deal returns a custom output with every field, by name:

{"man_day_rate": 1200, "region": "EMEA", "priority_customer": true, "contract_link": null}

A number comes back as a number and a Yes / No as true or false. A field nobody has filled in yet is null. If your Find Deal step is called find_deal, a later step reads the rate as {{ find_deal.custom.man_day_rate }}.

Writing. Update Deal takes a custom input: the fields to set, by name.

{"man_day_rate": 1350, "region": "APAC"}
  • An empty value ("") clears a field.
  • Each value is checked against the field’s type, just as when a person types it. If any value doesn’t fit, the step fails with the reason and writes none of the values, so the deal is never left half-updated.
  • You can set custom fields and ordinary fields (the fields input) in the same step. Each custom field that actually changed is listed in the step’s updated_fields output as custom.<name>.

An agent given the Deals tools reads and writes custom fields the same way. Each change it makes is recorded under its own name, like a person’s.

Changing a value is a change to the deal, so it is recorded like any other edit of the deal: who changed it, when, and from what to what. You find it on the Logs page under CRM, with the field listed by its name, for example custom.man_day_rate. Adding, renaming, reordering and archiving a field are recorded under Automations.

Duplicating a deal from the table copies its field values to the copy, together with its other details. When two contacts or companies are merged, the surviving record keeps its own values and takes over the values that only the other record had.

  • Only deals have custom fields in the app so far. Contacts and companies are next.
  • There are no required fields. A deal is never refused because a custom field is empty, whether a person or an automation creates it.