> For the complete documentation index, see [llms.txt](https://wiki.beabee.io/help-center-english/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.beabee.io/help-center-english/mailchimp-integration/synchronisation.md).

# Synchronisation

In this chapter we explain which data is synchronised between Mailchimp and beabee, when and how.

### From Mailchimp to beabee

#### On events from Mailchimp:

beabee uses a [webhook](https://mailchimp.com/developer/marketing/guides/sync-audience-data-webhooks/) to get updates from Mailchimp, it listens for the following events:

* Subscribe\
  -> A new contact has been added to Mailchimp, create the contact in beabee
* Change email\
  -> A contact's email address has changed, update it in beabee
* Update profile\
  -> A contact's profile data has changed, update it in beabee<br>
* **Note:** We currently only support updating the contact's first name and last name, all other updates are ignored

### From beabee to Mailchimp

#### Immediately when an action is triggered in beabee:

* A new contact is created\
  -> Create the contact in Mailchimp
* A contact is updated (e.g. update address, contribution, etc.)\
  -> Update the contact's merge fields in Mailchimp
* A contact's membership role becomes active\
  -> Add the "Active member" tag
* A contact's membership role becomes inactive\
  -> Remove the "Active member" tag, set their status to unsubscribed
* A contact answers a call out that has been assigned a newsletter merge field\
  -> Update the contact's merge field with their answer to the call out
* Resync is triggered\
  -> All contacts are reuploaded to Mailchimp, overwriting all merge fields and creating any unknown contacts in an unsubscribed state. Contacts that are only in Mailchimp are imported into beabee\
  **Note:** We don't currently sync tags

#### Daily jobs:

* Archive members that have expired in the last day\
  -> Remove the "Active member" tag, set their status to archived
* Update members who have joined a segment in the last day\
  -> Add segment tag to contact in Mailchimp
* Update members who have left a segment in the last day\
  -> Remove segment tag from contact in Mailchimp

#### Problems:

* If a contact manually unsubscribes from Mailchimp they can't be opted back in via the API at a later date
