September 11th, 2026
- Added Affinity’s smart activity fields as columns on the
persons,companies, andopportunitiestables (v1_0schema):first_email_date,last_email_date,first_event_date,last_event_date,next_event_date,first_chat_message_date,last_chat_message_date, andlast_contact_date. These match the First Email, Last Email, First Event, Last Event, Next Event, First Chat Message, Last Chat Message, and Last Contact fields shown in Affinity, so there is no need to derive them from theemails,meetings,calls, andchat_messagestables. An event is a meeting or a logged call — the underlying field does not distinguish the two — andnext_event_dateis the only column that looks forward.last_contact_dateis the most recent oflast_email_date,last_event_date, andlast_chat_message_date. An entity with no recorded activity has NULL in every column. These are current values, not a history of changes. Opportunity values are the combined activity of the people associated with the opportunity. Because these columns now live on the entity itself, new activity updates the entity’slast_updated_at, so a person, company, or opportunity appears in an incremental pull when only its activity changed.
September 1st, 2026
- Added the
persons_value_changes,companies_value_changes,opportunities_value_changes, andlist_entries_value_changestables (v1_0schema). Each row is one tracked change to a field value:field_ididentifies the field (join tofields_metadata.id), andvaluecarries the new value for an add or update, or the removed value for a delete. Changes to global fields appear in the table for the entity they were made on. Changes to list-specific fields appear inlist_entries_value_changes, scoped to the list entry, and reach their entity throughlist_entries_persons,list_entries_companies, andlist_entries_opportunities— so the full history for one entity is the union of both. Only fields with change tracking enabled record changes.
July 22nd, 2026
- Added the
is_restrictedcolumn to theopportunitiestable (v1_0schema). This boolean indicates whether the opportunity is marked as restricted in Affinity.
June 22nd, 2026
- Added the
is_currentcolumn to thecompanies_personstable (v1_0schema). This boolean indicates whether the person–company association represents the person’s current company.