---
schema_version: "1"
id: 8539f0ff94079a5abc23784d03f23457bd8b72549201c2bf5a55b2a6f9abd954
title: Create a Loyalty Program Process
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/loyalty_program_process.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.loyalty_program_process.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: d93afcf37f9d75bbafe0082d4b3541f0c23fbe7add62fdd873aea8c770e23823
description: A loyalty program can have multiple program processes. A program process can process either Accrual or Redemption-type transaction journals. You can also filter transaction journals further by specifying the subtype of transaction journals that you want to process.
products:
  - Loyalty Management
release: "264"
---
# Create a Loyalty Program Process

A loyalty program can have multiple program processes. A program process can process either Accrual or Redemption-type transaction journals. You can also filter transaction journals further by specifying the subtype of transaction journals that you want to process.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>,&nbsp;<strong>Performance</strong>, <strong>Unlimited</strong>, and&nbsp;<strong>Developer</strong>&nbsp;Editions with Loyalty Management</td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d36678e70">User Permissions
              Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d36678e70 ">To create a loyalty program process:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d36678e70 ">
              <p>Loyalty Management permission set</p>
              <p>AND</p>
              <p>Edit access on Loyalty Program and other required objects</p>
              <p>AND</p>
              <p style="margin-bottom:0;">View Setup and Configuration</p>
            </td>

          </tr>
        </tbody>
      </table>

You can associate a combination of journal type and journal subtype with only one program process. This ensures that a particular type and subtype of transaction journals aren't processed by multiple loyalty program processes.

1. In the Loyalty Management app, open a Loyalty Program record.
2. Click the **Loyalty Processes** tab.
3. On the Program Processes related list, click **New**.
    
    If you don't find the Program Processes related list on the Loyalty Processes tab, add the related list on the Loyalty Program page layout.
4. Specify values for these fields.
    
    <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
            <colgroup>
              <col style="width:50%">
              <col style="width:50%">
            </colgroup>
            <thead class="slds-text-title_caps ">
              <tr class="">
                <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d36678e155">Field</th>
                <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d36678e158">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d36678e155 ">Program Process Name</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d36678e158 "> Enter the name of the loyalty program process.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d36678e155 ">Journal Type</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d36678e158 ">Select whether you want the loyalty program process to process Accrual or
                  Redemption-type transaction journals.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d36678e155 ">Journal SubType</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d36678e158 ">
                  <p>Select the journal subtype the process uses to filter transaction journals.</p>
                  <p style="margin-bottom:0;">This
                    field is optional. Journal subtype records aren't provided with Loyalty Management.
                    Before you select a journal subtype for a process, create Journal Subtype
                    records.</p>
                </td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d36678e155 ">Status</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d36678e158 ">
                  <p>Select the status of the process.</p>
                  <p style="margin-bottom:0;">Only active processes provide outcomes for
                    incoming transaction journals.</p>
                </td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d36678e155 ">Execution Type</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d36678e158 ">
                  <p>Select the mode to process transactions.</p>
                  <ul>
                    <li>Real Time: Incoming transactions are processed as soon as they are generated.</li>
                    <li>Batch: New transactions are grouped and processed in batches based on a schedule that
                      the admin decides.</li>
                    <li>Both: Transactions can be processed in real time and in batches.</li>
                  </ul>
                  <p style="margin-bottom:0;">The value that you select in this field doesn't impact how you decide to trigger the
                    process. This information helps provide added context about the process.</p>
                </td>

              </tr>
            </tbody>
          </table>

![Example](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-loyalty_management-264-0-0-production-enus/0590ce3e-5a09-45ab-8e5e-68f359c35886/images/icon_example.png)

Example

A loyalty program manager creates a process that processes Accrual-type transactions in real time. The manager keeps the status of the process in Draft until the manager creates the parameters and rules for the process.

After you create a Loyalty Program Process record, add parameters and rules for the process.

![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-loyalty_management-264-0-0-production-enus/0590ce3e-5a09-45ab-8e5e-68f359c35886/images/icon_tip.png)

Tip Change the status of a process to Active only after you have set up all your parameters and rules. A process can start to process transaction journals as soon as it's active. If necessary, you can add rules to active processes for a new promotion or for new business scenarios.

- **[Define Eligibility Conditions for a Process](https://help.salesforce.com/s/articleView?id=xcloud.loyalty_process_process_eligibility.htm&release=264.0.0&type=5)**  
    Define the conditions that determine the transaction journals that are eligible for a process. The process eligibility conditions that you define filter ineligible transactions before the transactions are processed by the rules of the process. Process eligibility conditions help ensure that the conditions that are applicable for all rules of the process, are defined at the process-level and not at the rule-level. For example, you can add eligibility conditions to filter out inactive member transactions that are less than a particular amount. Or, you can set a transaction value limit beyond which transaction journals aren’t processed to ensure fraudulent activities aren’t rewarded.

#### See Also

- [_Loyalty Management Developer Guide_: LoyaltyProgramSetup](https://developer.salesforce.com/docs/atlas.en-us.loyalty.meta/loyalty/meta_loyaltyprogramsetup.htm)