Skip to main content

πŸ• Sync contacts only once instead of keeping them in sync

How to sync only new contacts on a monthly basis while keeping contact volume and costs under control.

Updated today

This use case explains how to sync only new contacts from one app to another app (ie HubSpot to Klaviyo) on a recurring basis, while keeping contact volume (and costs) under control. This approach is ideal if you want predictable usage and only need to transfer newly created contacts each month.

Goal

  • Sync only new contacts one-way

  • Limit sync volume to a fixed number (e.g. 1,000 contacts/month)

  • Avoid syncing historical or duplicate contacts

How it works

While Outfunnel excels in bi-directional sync that runs constantly, you can easily also create a controlled, list-based workflow that runs at a set interval.

There are two approaches depending on what you want to happen when contacts stop matching your sync rules in the destination app.

Approach A: Rolling list (recommended when supported)

Create a single list or filter with a rolling time window (e.g. "contacts created in the last 30 days"). The list membership updates automatically β€” new contacts enter, older contacts drop off. You set up the sync once and leave it running.

This approach works best when the destination app does nothing when a contact stops matching. For example:

  • In Mailchimp, you can configure the sync to "do nothing" when a contact stops matching

  • In CRMs like Pipedrive or HubSpot, contacts simply remain in the database when they stop matching a filter

Because the contact is not removed or unsubscribed in the destination, you can safely let them fall off the rolling list β€” they've already been synced and will stay put.

Approach B: New list each month

Create a separate, fixed list for each month (e.g. "April 2026 – New Contacts"), sync it, then pause or delete the sync. Repeat with a new list the following month.

Use this approach when the destination app automatically removes or unsubscribes contacts that stop matching. For example:

  • In Klaviyo, contacts are always removed from the list when they stop matching β€” this is not yet configurable (reach out to support as we are looking to make this configurable)

  • In ActiveCampaign, contacts are unsubscribed when they stop matching

With a rolling list, contacts that age out would get removed from the destination β€” defeating the purpose. A fixed list avoids this because you pause the sync before contacts can drop off.

πŸ’‘ Not sure what your destination app does? See What happens when contacts start or stop matching sync rules for a full overview.


Step-by-step: Approach A (rolling list)

1. Create a rolling list or filter in your source app

Create a list or filter with a time-based condition, such as "Create date is in the last 30 days". This list will automatically update as new contacts are created and older ones age out.

πŸ’‘ Depending on your CRM, the method differs. HubSpot uses active lists, Pipedrive uses People filters, Salesforce uses reports, and Copper uses tags or contact types.

2. Set up the sync

In Outfunnel's App connector, create a new sync. Choose your source app, select your destination app, and pick the rolling list as the audience.

3. Activate and leave running

Once activated, the sync runs continuously. New contacts that enter the list are synced. Contacts that age out of the list are ignored by the destination app (no removal or unsubscribe action is taken).

No monthly maintenance required.


Step-by-step: Approach B (new list each month)

1. Create a monthly contact list in your source app

Create a static or active list with fixed date criteria, such as:

  • "Create date is after April 1, 2026"

  • "Create date is before May 1, 2026"

Name the list clearly (e.g. "April 2026 – New Contacts").

πŸ’‘ Depending on your CRM, the method differs. HubSpot uses active or static lists, Pipedrive uses People filters, Salesforce uses reports, and Copper uses tags or contact types.

2. Set up the sync

In Outfunnel's App connector, create a new sync. Choose your source app, select your destination app, and pick the monthly list as the audience.

3. Run the sync

Allow the sync to process all contacts in the list. Monitor progress on the Status page in Outfunnel to ensure all contacts are successfully synced.

4. Pause or delete the sync

Once all contacts have been synced, pause or delete the sync. This prevents contacts from being removed if they stop matching later.

5. Repeat monthly

Create a new list for the next month, set up a new sync using that list, and repeat the process.


Example workflow (Approach B)

Month

List name

Contacts synced

April

April 2026 – New Contacts

850

May

May 2026 – New Contacts

920

June

June 2026 – New Contacts

1,000

As long as each list stays within your monthly contact limit, your usage remains predictable.

Benefits

  • Cost control β€” Only pay for the contacts you actively sync

  • Clean data flow β€” Avoid re-syncing existing contacts

  • Operational clarity β€” Each sync is tied to a specific timeframe

Considerations

  • Approach B is manual and requires monthly maintenance

  • Ensure list criteria are accurate to avoid overlaps

  • With Approach B, do not reuse lists across months, as this may result in duplicate syncing

When to use this approach

This workflow is ideal if:

  • You have a predictable number of new contacts each month

  • You want strict control over sync volume

  • You do not require real-time or continuous syncing

Need help?

If you'd like assistance setting up your first monthly sync or validating your list criteria, reach out to support and we'll be happy to help.

Did this answer your question?