Text version. The interactive version, with live examples, is at https://app.proptonomy.ai/docs/property-profile. This page as Markdown: https://app.proptonomy.ai/docs/property-profile.md. Index of all pages: https://app.proptonomy.ai/llms.txt.

Setting up the property profile

The field pool, the structure and the Express, Full and Continuation forms; the built-in fields to use instead of custom copies; field options, show-when rules, translations and publishing.

https://app.proptonomy.ai/docs/property-profile

How the profile fits together

One field pool, one structure, three owner forms. Owners only ever see a form that was published from the structure.

Edit it in Settings → Owner onboarding (Profile for the structure, Fields for the field pool, Forms for the generated owner forms). Editing the pool or the structure saves a draft. Owners keep getting the last published version until someone publishes again (see Drafts and publishing below).

Built-in fields

Built-in fields write straight into the property record, the owner's contact and what Proptonomy sends to the PMS. A custom copy of one stores its answers somewhere nothing reads.

The keys never change; the labels are the defaults and an organisation can reword them. Fields marked PM are set by the PM, never asked in an owner form, and in a new organisation they sit in the staff-only Listing settings group.

Field options

Set when a field is created and changed later in the pool. Type and per-room source are fixed once the field exists.

Show-when rules

A rule on a placed field decides whether owners are asked it at all.

Group headings and the photo step

What owners read above each group, and on the built-in listing-photo step.

Drafts and publishing

Nothing reaches owners until the form is prepared.

Who can change the profile

Only admins change it, in Settings, through the in-app assistant and through Claude or another AI over MCP.

Common changes, step by step

The tool calls the assistant makes, in order. Every change is confirmed with the PM first.

  1. Check the setup first. Call CheckProfileSetup. It lists custom copies of built-in fields, show-when rules that can never hold, missing translations in the languages your owners use, required Express questions that depend on fields Express does not ask, custom fields nothing asks and unpublished forms, each with the call that fixes it.
  2. Add a question. Call SearchProfileFields with the question’s subject. If a built-in field covers it, place that field with AddFieldsToProfileStructure and its key. Only when nothing fits, create a field with CreateProfileField, then place it the same way.
  3. Move a question. Call UpdateProfileStructureField with the field key and a new group, an afterFieldKey, or both.
  4. Make it conditional. Call UpdateProfileStructureField with showWhenFieldKey, showWhenOperator and showWhenValue, or with showWhenRules and showWhenMatch for several rules. clearShowWhen removes the rule.
  5. Translate. Read the current translations first, then send the whole map. Use UpdateProfileField for questions and UpdateProfileGroupHeading for group headings. For the photo step use UpdateProfileFormSettings with that form’s draftHash from GetProfileStructure as the expected version.
  6. Fix a custom access question. Call AdoptBuiltInAccessField with the custom field’s key and show the PM the option mapping it returns; choices it cannot place stop the change. With confirm=true it moves the question onto accessMethods in the same group, order and required setting, points show-when rules at accessMethods, fills each property’s access method from its answer without overwriting one already confirmed, and archives the custom field. Publish afterwards.
  7. Fix any other custom copy of a built-in field. Call AdoptBuiltInField with the custom field’s key and the built-in key, for example lockboxCode. The custom field’s type must fit the built-in one: a free-text answer cannot become Bedrooms. The preview gives the counts; with confirm=true it moves the question onto the built-in field in the same group, order and required setting, points show-when rules at it, binds the questions on forms to it, fills each property’s built-in value from its answer only where that value is empty, and archives the custom field. A form question whose type cannot hold the built-in fact, or a rule that would make the built-in depend on itself, stops the change; a profile that already asks the built-in keeps it.
  8. Rename, reorder or delete a group. RenameProfileGroup keeps the group’s fields and heading translations under the new name. ReorderProfileGroups takes every group name once, in the new order. DeleteProfileGroup moves the group’s fields into moveFieldsToGroup; it previews first and applies with confirm=true.
  9. Archive a custom field. Call ArchiveProfileField. The preview says how many properties hold a value and which groups ask it; with confirm=true the field leaves every profile and its values are kept. Built-in fields cannot be archived (take them out of the structure with RemoveFieldFromProfileStructure), and show-when rules that depend on the field must be cleared first. While a live form still asks the field, remove it from the structure and publish, or remove the question from a hand-made form, first.
  10. Publish. Call PrepareProfileForm with Express or Full and show the PM the changes it lists. After they confirm, call it again with confirm=true and the expectedDraftHash from that preview.

All documentation pages