--- title: "Profile-based Automations" slug: "profile-based-automations" updated: 2026-01-29T13:20:49Z published: 2026-01-29T13:20:49Z canonical: "docs.mapp.com/profile-based-automations" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.mapp.com/llms.txt > Use this file to discover all available pages before exploring further. # Profile-based Automations Profile-based automations in Mapp Engage are used to **modify or enrich contact profiles** based on the data already stored in profile attributes. They are ideal for tasks like scoring, categorizing, or transforming data – for example, after a file import or a form submission. > [!NOTE] > Note > > This type of automation is not triggered by time or events, but by profile data itself. For an overview of different automation types, see: [Automation Basics](/v1/docs/automation) --- ## 1. Key Concepts Profile-based automations always write a value to a target attribute, based on an expression or condition applied to one or more source attributes. There are two types: | **Type** | **Description** | | --- | --- | | **Operation** | Applies an expression to an attribute (e.g. calculate age, transform text). The result is computed dynamically. | | **Mapping** | Assigns values based on defined conditions (e.g. categorize contacts into tiers or segments). Each condition has a separate result. | > [!NOTE] > Operations are ideal for calculations or transformations. > > Mappings are best suited for categorization based on defined rules. Both types use expression language – a flexible syntax that allows you to reference profile attributes, apply functions, and calculate results. For a list of supported functions, see: [Mapp Engage Functions](/v1/docs/mapp-engage-functions) --- ## 2. Use Cases You can use profile-based automations for a variety of backend and data management tasks, such as: - Calculating lead scores or lifetime purchase value - Assigning product interest or activity levels - Capitalizing first names for better personalization - Categorizing contacts into “Hot”, “Warm”, “Cold” - Creating VIP segments based on purchase frequency and membership duration You can find detailed instructions for common use cases in the dedicated [How-To Section](/v1/docs/automation-scenarios-for-customer-lifecycle-marketing). --- ## 3. Limitations and Data Sources - Profile-based automations work only with profile attributes (string, number, date, boolean). - They cannot directly use: - Group membership data - Message activity (opens, clicks) - Related Data records - However, you can use event-based automations to copy such data into profile attributes (e.g. store “last open date” or “group join date” as attributes) – and then use those in profile-based automations. For details, see: [Event-Based Automations](/v1/docs/event-based-automation) --- ## 4. Activation and Application Profile-based automations require two steps: 1. **Activate** The automation is saved and enabled. It runs when a relevant profile attribute is updated (via API or in the UI). 2. **Apply** Click *Apply Automations* to apply the logic to all existing contacts. This is useful after creating a new automation or after a file import. Changes made via import do not automatically trigger profile-based automations. To apply them after an import, create an event-based automation: - Event: Contact Import Finished - Job: Execute Profile-Based Automations You can also schedule this job using a [time-based automation](/v1/docs/engage-automation-time-based-available-time-based-jobs).