contact.deleted event fires when a contact is removed from active use at a location. FPT uses soft delete — the record is flagged inactive rather than physically removed — so the contact’s history and associated data remain intact for audit purposes.
Payload
Fields in data
What triggers it
- Staff explicitly deletes a contact from the FPT admin
- Bulk deactivation flows (e.g., importing a new contact list and marking old contacts inactive)
- Location transfers (the contact appears to “leave” this location — though in that case you may also see it appear at another
locationIdviacontact.created)
What does NOT fire this
- Membership cancellation alone doesn’t delete the contact — the contact stays active with
contactGroupIdflipped to a non-member group. You’d seecontact.status_changedfor that, notcontact.deleted. - Hard deletes from the database (very rare in FPT’s data model) are not surfaced as
contact.deletedevents.
What you might do with this
- Soft-deactivate the matching record on your side (mark inactive, archive, hide — but don’t delete physically; reactivation is possible)
- Stop active campaigns targeting the contact in your marketing system
- Notify the sales team that the lead is no longer pursuing
- Reporting — track churn rate, deactivation reasons (if known)
Common gotcha
Are deleted contacts gone forever?
Are deleted contacts gone forever?
No — they’re flagged inactive but the row remains. Staff can reactivate from the admin, which fires a fresh
contact.created event for the same contactId. Don’t assume “deleted = gone.”Will I receive any more events for a deleted contact?
Will I receive any more events for a deleted contact?
Generally no, while it remains inactive. If it’s reactivated, future events will start arriving again. If it’s deleted then reactivated then deleted again, expect two
contact.deleted events with the same contactId but different eventIds.