Create a List Maintenance Program (All Contacts)

  • Updated

List Maintenance Programs let you automatically update contact fields in your database based on criteria you define. They’re ideal for values that change over time, like scores, statuses, timezones, or counters and for keeping data ready for segmentation, sending, CRM sync, and reporting.

Quick Reference (Advanced Users) – Click to Expand
  • Runs on a single source segment and updates selected fields.
  • Supports set value, increment, decrement, clear, timezone, and score-based updates.
  • Best for values that change regularly (e.g., campaign score, counters, status timestamps).
  • Programs can run manually or on a schedule (daily/weekly/monthly).
  • Segments used by a running program are temporarily locked.
Try it like this: Build a nightly program that increments a “Campaign Engagement Score” field whenever a contact takes a tracked action. Use a source segment filtered to contacts with new behaviors since yesterday so only the records that need updates are processed.

Common Uses for List Maintenance Programs

  • Recording bounce categories (hard bounces, soft bounces, etc.) for CRM sync
  • Changing a specific field across every record in a segment
  • Injecting campaign scores into a segment
  • Incrementing or decrementing counters when behaviors occur
  • Setting or updating a contact’s timezone
  • Adding a timestamp when a contact’s status changes

List Maintenance Programs overlap with Automated Programs in some ways, but the two are built for different jobs. Automated Programs run a contact through a sequence once and are best for values that should not change after initial assignment (e.g., original lead source). List Maintenance Programs are built for recurring updates and support more field-change options like increments, score injection, timezones, and clearing field values.

Best Practices

Because List Maintenance Programs often run daily, limit your source segment to contacts that require updates. For example, if you’re assigning timezones, create a segment of contacts with a blank timezone field. This reduces processing time and avoids unnecessary overwrites.

Instructions

Create a New Program

  1. Go to Automation → List Maintenance Programs and select + New Program.
  2. Enter a program name and a description.
  3. Choose whether the program runs manually or on a schedule (daily, weekly, monthly). 
    Best practice: Schedule programs outside active email send windows.
  4. Click Continue.

List Maintenance New Program screen

  1. Select your source segment. A List Maintenance Program works with one segment at a time.

Add Steps to Your Program

  1. Click Add a step and give the step a name.
  2. Open the Change field value options.

Change field value step

  1. Select the field you want to update.

Select field in LMP step

  1. Choose how the field should change. Options include:

    • Set value to… 
      Enter a value matching the field’s data type. You can use personalization tokens, for example, {{First Name}} {{Last Name}} to populate a Full Name field or draw from CRM fields.
    • Clear the value
    • Increment value by…
    • Decrement value by…
    • Set value to behavioral score
    • Set value to campaign score
    • Set value to today’s date
    • Set value to timezone
    • Assign a unique number (starting at 1)
    Tip: If your CRM is mapped to receive behavior score fields, Act-On updates those automatically before each CRM sync. You don’t need a List Maintenance Program for that field.
  2. Choose whether to apply the step to:
    • All contacts in the program, or
    • Only contacts in an additional segment (useful if you only want to update blanks or a subset of records)

Additional segment targeting

  1. Add additional steps as needed, then save your program.

Managing Your Programs

Hover over a program to run it manually, edit it, favorite it, move it to another folder, or delete it. Folders and tags help keep larger automation libraries organized.

Use the info hover icon to see program details, including the last run time.

Program info hover

Tip: While a program is running, any segments it uses are temporarily locked. Emails that target those segments won’t send until the run completes.

Was this article helpful?

Have more questions? Submit a request