Workflow

How to Create a Contact

Verified end to end. Demo run create-contact-20260519T030819Z created contact [27] AI Demo Contact 20260519T030819Z and verified it through DT_SelectContactos and NameEntidades.

Evidence Summary

Route
/entidades/contactos
Page title
OG - Contacts
Workflow run
create-contact-20260519T030819Z
Created contact
[27] AI Demo Contact 20260519T030819Z
Verification
DT_SelectContactos returned recordsFiltered: 1
Evidence file
raw/playwright/workflows/latest-create-contact.json

Verified contact creation workflow

When to Use This

Use this workflow for a standalone person or contact record that may later be associated with customers, suppliers, CRM work, attachments, or tickets, without creating a full customer or supplier account.

Step-by-Step

  1. Open Entities / Contacts, or navigate directly to /entidades/contactos.
  2. Click New Contact. The contact form is already present on the page as form_novocontacto; the click opens the modal rather than fetching it through loadForm.
  3. Enter Name. This is the only identity field required in the visible form.
  4. Choose Country. The verified run used Portugal, stored as CodPais=PT.
  5. Optionally enter VAT Number, Address, Location, Zip Code, Email, Phone, and Cell phone.
  6. Click Save. OfficeGest posts createNovoContacto.
  7. After saving, OfficeGest loads contact counters and related-entity selectors for the newly created contact.
  8. Search the Contacts grid by name or VAT number to confirm the new contact appears. The verified record returned recordsFiltered: 1.

Required and Default Fields

FieldVerified behavior
NameRequired. Stored as Nome.
CountryRequired in the route crawl and defaults to Portugal / PT.
VAT NumberOptional. Stored as NContrib.
AddressOptional. Stored as Morada.
LocationOptional. Stored as Localidade.
Zip CodeOptional. Stored as CodPostal. The page called a postal-code selector endpoint after save.
EmailOptional. Stored as EMail.
Phone and Cell phoneOptional. Prefix and number are combined on the saved record, for example +351.244000003 and +351.939030819.

Verified Created Record

FieldValue
Contact id27
NameAI Demo Contact 20260519T030819Z
VAT590308190
AddressRua Contacto Demo 19
LocationLeiria
Zip Code2400-003
Emailai-demo-contact-20260519t030819z@example.invalid
Phone+351.244000003
Cell phone+351.939030819
StatusActivo: T

Backend Calls Observed

ActionPurpose
DT_SelectContactosLoads and filters the Contacts grid. The verified lookup by contact name returned one row for id 27.
createNovoContactoCreates the contact. The response returned id: 27 and the saved contact fields.
Sel2_SelectLooks up postal-code data and can resolve contact names for selectors.
counters&option=contactosLoads counts for contact tabs such as related entities and attachments.
counters&option=tickets_abertosLoads open-ticket count for the contact using entity_type=T and entity_code=27.
Sel2_Select_arraysResolves the contact in the all-entities selector with aent.tipo=T.
NameEntidadesReads the created contact by CodContacto. The correct table parameter is tabla=Contactos; tabla=Contacto returned an empty array.

Raw evidence: raw/playwright/workflows/create-contact-20260519T030819Z.json. Screenshots: assets/screenshots/create-contact-20260519T030819Z-01-contacts-list.png through assets/screenshots/create-contact-20260519T030819Z-05-verified-list.png.

Validation Notes