Contact processing offers an extension point for responding to the create or updating of a contact. Each time a contact is changed or updated, an event is queued up for processing along with the type of modification that was made. You can create a contact processor to respond to these events.
Contact processing is disabled by default. See Enable contact processing.