Article summary
Store Poland +48 WhatsApp Activity as timestamped events with expiry and access controls instead of overwriting one CRM field.
A single “WhatsApp active” field in CRM removes the change history of a Poland +48 list. When today’s observation overwrites last month’s, the team cannot explain the earlier queue decision, expiry or task source.
An event needs at least six columns
| Column | Role |
|---|---|
| contact_id | Internal subject |
| phone_observed | Checked phone |
| activity_value | Task observation |
| checked_at | Observation time |
| task_version | Semantic version |
| valid_until | Business expiry |
Separate source phone and event tables
phone_raw remains in the contact source, +48 candidates and exceptions live in preparation, and activity observations enter the event table. None overwrites another.
Append every new result
A later check creates another event and retains the previous value. Change may reflect time, visibility or task version; it is not automatically a behavioural change by the person.
Calculate a current view
The operating view selects the newest qualified, unexpired event. After expiry it shows expired rather than inactive. History remains for audit but stops ordering the queue.
Limit retention in an EU context
The organisation assesses necessity, transparency, access and rights under its circumstances. Event history is not permission for permanent storage; apply delete_after or irreversible aggregation.
TXT carries execution phones only
Upload one phone per line and retain CRM context and permission internally. Excel enters staging through batch_row and appends events only after acceptance.
Grant access by event purpose
Support can see the current queue without full history, avatars or mappings. Audit roles receive need-based access with access records.
Migrate a legacy single field honestly
Mark the existing value legacy_unknown_date rather than inventing a check time. Start complete events at the next task; an undated legacy value cannot order a current queue.
The core redesign
Turn activity from a permanent label into a short-lived event. The model preserves explanation while allowing the result to expire for real.
