# mulesoft Financial Services - Full Documentation --- product: Financial Services version: 1.12 is-latest-version: true --- # Anypoint MQ Setup Guide > For the full documentation index, see: https://docs.mulesoft.com/llms.txt The Postman collection `Anypoint-MQ-Configuration` can be used to pre-create all Anypoint MQ destinations required by the accelerator components. This collection can be found in the [FINS Common Resources project](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-common-resources-src/). ## Environment Settings The collection requires the `dev` environment to be created and assigned proper values reflecting your target Anypoint org before running any of the requests. A template for this environment, which can be imported directly into your Postman workspace, has also been provided in the FINS Common Resources project. ## Running the Collection The collection itself defines variables that must be overridden prior to running any requests. The contents of the collection have been organized into separate folders, which should be executed in the following order: 1. Authorization 2. Client-Management (optional) 3. Queue-Management 4. Exchange-Management Requests in the `Verification` folder can be run to validate the results of the above operations. If desired, objects created by the collection can be cleaned up by running requests found in the `Deletions` folder. ## Verify Destinations The following MQ destinations will be created on successful execution.
Queue NameBound to ExchangeDead Letter Queue Name

accelerator-notification-queue

accelerator-notification-exchange

accelerator-notification-dl-queue

fins-account-update-queue

fins-account-update-exchange

fins-account-update-dl-queue

fins-ach-inbound-queue

fins-ach-inbound-exchange

fins-ach-inbound-dl-queue

fins-ach-outbound-queue

fins-ach-outbound-exchange

fins-ach-outbound-dl-queue

fins-address-update-queue

fins-address-update-exchange

fins-address-update-dl-queue

fins-card-update-queue

fins-card-update-exchange

fins-card-update-dl-queue

fins-fedwire-inbound-queue

fins-fedwire-inbound-exchange

fins-fedwire-inbound-dl-queue

fins-fedwire-outbound-queue

fins-fedwire-outbound-exchange

fins-fedwire-outbound-dl-queue

fins-lead-update-queue

fins-lead-update-exchange

fins-address-update-dl-queue

fins-loan-document-update-queue

fins-document-update-exchange

fins-loan-document-update-dl-queue

fins-opportunity-update-queue

fins-opportunity-update-exchange

fins-opportunity-update-dl-queue

fins-party-update-queue

fins-party-update-exchange

fins-party-update-dl-queue

fins-partyrole-update-queue

fins-partyrole-update-exchange

fins-partyrole-update-dl-queue

fins-payments-webui-queue

fins-payment-notice-exchange

fins-payments-webui-dl-queue

fins-reconciliation-queue

fins-reconciliation-exchange

fins-reconciliation-dl-queue

fins-swift-inbound-queue

fins-swift-inbound-exchange

fins-swift-inbound-dl-queue

fins-swift-outbound-queue

fins-swift-outbound-exchange

fins-swift-outbound-dl-queue

fins-transaction-update-queue

fins-transaction-update-exchange

fins-transaction-update-dl-queue

fins-wealth-document-update-queue

fins-document-update-exchange

fins-wealth-document-update-dl-queue

Note that the `accelerator-notification` destinations may already exist in your target environment. ## See Also - [Prerequisites](https://docs.mulesoft.com/financial-services/latest/prerequisites) - [MuleSoft Accelerator for Financial Services](https://docs.mulesoft.com/financial-services/latest/) --- product: Financial Services version: 1.12 is-latest-version: true --- # MuleSoft Accelerator for Financial Services > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MuleSoft Accelerator for Financial Services simplifies customer 360 initiatives by unlocking both core banking and insurance platforms, systems of engagement (such as CRM and ITSM), Insuretechs, and FinTech data. This enables a higher level of customer service, real-time relationship management, and a more connected digital experience. ## Use Cases ### Core Banking Foundation The Core Banking Foundation use case enables a 360 view of your customers' financial information. There are two variations of this use case: one to jumpstart the unlocking of any core, and one to unlock a specific core. - [Unlock any core](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/a5h-00q/Use%20case%201a%20-%20Unlock%20any%20core/) - Unlock and display financial summaries from multiple systems. - [Unlock Jack Henry SilverLake core](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/32n-se5/Use%20case%201b%20-%20Unlock%20Jack%20Henry%20SilverLake%20core/) - Accelerate the delivery of your customer 360 initiatives by unlocking your Jack Henry SilverLake core. - [Unlock Thought Machine Vault Core](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/n7d-jvs/Use%20case%201c%20-%20Unlock%20Thought%20Machine%20Vault%20Core/) - Accelerate the delivery of your customer 360 initiatives by unlocking your Thought Machine Vault Core. ### Onboarding This use case accelerates the delivery and development of an enhanced onboarding solution to streamline banking loan origination and wealth management client account opening procedures. There are two extensions for this use case: - [Customer Onboarding - Banking](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/Use%20case%202a%20-%20Customer%20onboarding%20-%20Banking/) - Create an easy and straightforward onboarding experience by empowering consumers to apply for a loan via a digital channel. - [Client Onboarding - Wealth management](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/Use%20case%202b%20-%20Client%20onboarding%20-%20Wealth%20management/) - Accelerate the delivery and development of a streamlined and automated client onboarding solution. ### Payments Modernization The [Payments Modernization](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/Use%20case%203%20-%20Payments%20modernization/) use case accelerates the development of modern payment solutions for Financial Institutions. Banks and Credit Unions will be able to deliver a diverse payments landscape that can address multiple types of financial transactions and customer needs. ### Address Change Orchestration This use case accelerates the delivery and development of a home address validation solution for streamlining downstream processes impacted by postal address changes. There are two extensions for this use case: - [Address Change Orchestration: Insurance](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/Use%20case%204a%20-%20Address%20change%20orchestration%20-%20Insurance/) - Streamline downstream events that result from policyholder or carrier postal address adjustments. - [Address Change Orchestration: Banking](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/Use%20case%204b%20-%20Address%20change%20orchestration%20-%20Banking/) - Enhance customer service teams to upsell, cross-sell, and service opportunities that result from customer postal code address changes. ### Optimize Customer Experiences The [Optimize Customer Experiences with Salesforce CDP](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/dcb-oxw/Use%20case%205%20-%20Optimize%20customer%20experiences%20with%20Data%20Cloud/) use case provides support for ingesting data from multiple sources into Data Cloud and then using the results of Data Cloud activations to optimize customer experiences by providing Customer Service Representatives (CSRs) with marketing insights. ### Salesforce Org Sync The [Salesforce Org Sync](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/0pg-v87/Use%20case%206%20-%20Salesforce%20org%20sync/) use case enables financial institutions using a multi-org strategy to sync customer data across Salesforce Financial Services Cloud, Sales Cloud, and Service Cloud orgs. ### Unlock AMS Through Automation for Insurance Brokers The [Unlock AMS Through Automation for Insurance Brokers](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/3cn-8tr/Use%20case%207%20-%20Unlock%20AMS%20through%20automation%20for%20insurance%20brokers/) use case enables insurance brokers to view policy data from an Agency Management System (AMS) platform in their CRM platform. ### Additional Assets The following **use-case agnostic** assets are also available: - [BIAN assets](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/BIAN%20assets/) - Jumpstart your BIAN standard implementation using these BIAN-compliant assets, including API specs and implementation templates. ## See Also - [Getting Started Guide](https://docs.mulesoft.com/accelerators-home/getting-started) - [Prerequisites](https://docs.mulesoft.com/financial-services/latest/prerequisites) - [Release Notes](https://docs.mulesoft.com/release-notes/accelerators/financial-services/financial-services-release-notes) - [Upgrade Notes](https://docs.mulesoft.com/financial-services/latest/upgrade-notes) - [MuleSoft Accelerator for Financial Services on Exchange](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/) --- product: Financial Services version: 1.12 is-latest-version: true --- # Optimize Customer Experiences Use Case Setup Guide > For the full documentation index, see: https://docs.mulesoft.com/llms.txt The [Optimize Customer Experiences with Data 360](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/dcb-oxw/Use%20case%205%20-%20Optimize%20customer%20experiences%20with%20Data%20Cloud/) in MuleSoft Accelerator for Financial Services requires initial configuration in Salesforce Data 360. Complete the core configuration by following the [Data 360 learning path](https://help.salesforce.com/s/articleView?id=data.c360_a_customer360_lm.htm&type=5). After completing the setup, apply the use case-specific guidance on this page. For additional use case information and the downloadable assets, refer to the use case documentation in Anypoint Exchange. ## Data Connectors and Sources Configure Salesforce CRM and Ingestion API connectors to bring CRM and external system data into Data 360. - Salesforce CRM serves as the primary source for Financial Services Cloud customer and account data. - Marketing Cloud is the target destination for audience activation outputs. - The Ingestion API is used for external data sources such as Snowflake, Databricks, and Amazon S3. The use case expects source data to include globally unique party identifiers for downstream profile unification. ## Ingestion API Schema Scope The ingestion schema includes: - FinancialAccount - FinancialTransaction - ExternalFinancialAccount - WebEngagement Refer to the [FINS Salesforce Data 360 System API Implementation Template](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-salesforce-cdp-sys-api/) for the Ingestion API schema file and payload examples. ## Data Streams and Mapping Focus Create the required data streams, and then map source objects to the target data model to make sure customer profiles and engagement data are segmented and activated. - Define the streams for the Financial Services objects that are required for profile, transaction, and engagement analysis. - Map source objects to the target model objects that are needed for identity, segmentation, and activation outcomes. - Confirm that required relationships are present before audience publishing. ## Identity Resolution Focus Configure the identity logic to unify person and account signals that are needed for customer-level profile views used in personalization and engagement targeting. ## Calculated Insights Focus Use calculated insights to support audience definitions, campaign decisions, and financial engagement analytics. For more information, see [Enhance Data with Insights](https://help.salesforce.com/s/articleView?id=data.c360_a_insights.htm&type=5). ## Segmentation and Activation Focus Build audience segments from unified profiles and financial engagement signals. Activate segment outputs to configured downstream channels, including Marketing Cloud where applicable. ## Guidance for Standalone Deployments If you deploy the [FINS Salesforce Data 360 System API](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-salesforce-cdp-sys-api/) independently of the use case, do the following: - Omit use case-specific segmentation and activation configuration. - Omit use case-specific Marketing Cloud activation setup. - Omit use case-specific calculated insights unless required by downstream consumers. - Keep only the connectors, schemas, streams, and mappings that are required by your API data contracts. ## See Also - [Prerequisites](https://docs.mulesoft.com/financial-services/latest/prerequisites) - [MuleSoft Accelerator for Financial Services](https://docs.mulesoft.com/financial-services/latest/) --- product: Financial Services version: 1.12 is-latest-version: true --- # Payments Modernization Demo Setup Guide > For the full documentation index, see: https://docs.mulesoft.com/llms.txt This guide provides instructions for setting up all the components required to run the Payments Modernization use case demo. ## Summary - A Docker runtime will be required to deploy containers needed by the solution - A generic core banking system will be used as the primary system of record - Moov.io containers will be used to simulate the processing of ACH and Fedwire messages - A third-party Java library will be used to simulate the processing of SWIFT messages - A custom process will be used to simulate incoming payment confirmations - A [Payments Front-end Web UI](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-payments-frontend-webui-src/) has been built to demonstrate the functionality implemented by this use case - MultiChain Wallet Node is used to support processing of BlockChain Transactions ## Setup This guide sets up a demo environment with the supported backend services used by the provided API implementations. When these APIs are adopted by a MuleSoft customer, it is expected that the customer will replace these example backend services with their preferred services. The following containerized services are deployed on docker. For demo purposes, it is recommended to deploy all containers on a single Docker node. - moov.io ACH service - moov.io Fedwire service - [Payments Front-end Web UI](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-payments-frontend-webui-src/) - Blockchain based on [MultiChain](https://www.multichain.com/) The [Payments Front-end Web UI](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-payments-frontend-webui-src/) can also be run locally, outside of a container, by following the instructions provided in its README file. **Payments Front-end Web UI recommended setup:** 1. Install Docker and its dependencies on the server of your choice. 2. Configure the [Payments Front-end Web UI](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-payments-frontend-webui-src/) by modifying the following properties in the .env file: - `REACT_APP_PAYMENTS_WEBUI_EXP_API_ENDPOINT` should point to an instance of the [Payments Web UI Experience API](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-payments-webui-exp-api-spec/) - `REACT_APP_PAYMENTS_WEBUI_EXP_API_WEBSOCKET_ENDPOINT` should point to an instance of the [Payments Web UI Experience API](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-payments-webui-exp-api-spec/) 3. Build the docker image by running its docker-build.sh script. 4. Start the docker container by running the docker-run.sh script on the machine running the Docker server, or use a Docker administration UI to manage the containers. 5. Update `https.cors.allow-url` property in the [Payments Web UI Experience API](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-payments-webui-exp-api/) with the Payments Front-end Web UI endpoint to allow CORS. **Moov.io recommended setup:** The moov.io images are provided pre-built as-is. They can be started on the Docker server by using the included docker-run.sh scripts. **MultiChain setup:** To run the MultiChain node as a docker container, perform the following steps: 1. Use the Dockerfile from the scripts folder in the [Blockchain System API](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-blockchain-sys-api-spec/) to build the MultiChain image. 2. Run the `docker-run.sh` script to deploy the container and setup network ports. Run `docker-exec.sh` to create MultiChain and configure the json-rpc service to interact with the MultiChain container. ## See Also - [Prerequisites](https://docs.mulesoft.com/financial-services/latest/prerequisites) - [MuleSoft Accelerator for Financial Services](https://docs.mulesoft.com/financial-services/latest/) --- product: Financial Services version: 1.12 is-latest-version: true --- # Prerequisites for MuleSoft Accelerator for Financial Services > For the full documentation index, see: https://docs.mulesoft.com/llms.txt This page provides a summary of the guides available for configuring the various systems and products required to implement the use cases provided by this solution. The individual systems needed, and amount of configuration required, depend on which assets are to be deployed in your target environment(s) - refer to the use case pages for more details. ## Available Guides The following setup and configuration guides are available for this accelerator: - [Anypoint MQ setup guide](https://docs.mulesoft.com/financial-services/latest/anypointmq-setup-guide) - [Payments modernization demo setup guide](https://docs.mulesoft.com/financial-services/latest/payments-setup-guide) - [RPA Setup Guide](https://docs.mulesoft.com/financial-services/latest/rpa-setup-guide) - [Optimize Customer Experiences Use Case Setup Guide](https://docs.mulesoft.com/financial-services/latest/sfdc-data-cloud-setup-guide) - [Salesforce Financial Services Cloud setup guide](https://docs.mulesoft.com/financial-services/latest/sfdc-fsc-setup-guide) - [Salesforce Marketing Cloud setup guide](https://docs.mulesoft.com/financial-services/latest/sfdc-mc-setup-guide) Most of the implementation templates also contain details on requirements specific to those applications. ## See Also - [Getting Started Guide](https://docs.mulesoft.com/accelerators-home/getting-started) - [MuleSoft Accelerator for Financial Services](https://docs.mulesoft.com/financial-services/latest/) --- product: Financial Services version: 1.12 is-latest-version: true --- # RPA Setup Guide > For the full documentation index, see: https://docs.mulesoft.com/llms.txt This guide provides instructions for implementing the [Unlock AMS Through Automation for Insurance Brokers](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/3cn-8tr/Use%20case%207%20-%20Unlock%20AMS%20through%20automation%20for%20insurance%20brokers/) use case, which is part of the MuleSoft Accelerator for Financial Services. The use case leverages MuleSoft’s Robotic Process Automation (RPA) solution to retrieve customer data from your Agency Management System (AMS) and automatically load the data into Salesforce Financial Services Cloud (FSC). To implement this use case, you must set up RPA on the device that runs the automation process and configure the solution to your specific AMS. ## Before You Begin - Ensure that the Anypoint Platform account to use has [the RPA Automations Manager and RPA Bots Manager permissions](https://docs.mulesoft.com/rpa-home/automation-userrolesandpermissions-anypointrpapermissions). - Install the latest version of MuleSoft [RPA Builder](https://docs.mulesoft.com/rpa-builder/latest/install-and-configure) and [RPA Bot](https://docs.mulesoft.com/rpa-bot/latest/installation) from the RPA Manager home page. - Ensure that you have access to your AMS and its database metadata. Configure the custom fields in the \[FINS AMS Salesforce Sync Handler - Implementation Template\], ensuring that the custom field names match the column names on the CSV file. - Ensure that you have access to the Salesforce Financial Services Cloud organization to which your AMS data will be loaded. - Download the `AMS_to_FSC.crpa` file to the same device on which RPA Builder is installed. ## Workflow Overview 1. Create two projects in RPA Manager: - The first project contains the process for getting all relevant datasets and looping over them in your AMS. For each dataset, the second project is called. - The second project contains the process for getting the data from one AMS dataset and adding it to a CSV file, which is imported at a later step to FSC. 2. Import and adapt the CRPA file in the second project in RPA Builder. 3. Publish the second project to Anypoint Exchange in RPA Manager. 4. Build the process for the first project from scratch in RPA Builder. 5. Deploy a scheduled configuration for the first project. ## Create a Project in RPA Manager To create a new project in RPA Manager, see [Create an Automation Project](https://docs.mulesoft.com/rpa-manager/processautomation-manage#create-an-automation-project). If a new category is needed when creating a project, see [Create a Category](https://docs.mulesoft.com/rpa-manager/processautomation-prepare-project-category#create-a-category). Once you create the project, [move it directly to the Build phase](https://docs.mulesoft.com/rpa-manager/processautomation-develop#build-a-process) without making any changes. ## Import the CRPA File to RPA Builder 1. Log in to RPA Builder on the device on which the process runs. 2. On the [Repository tab in the Explorer pane](https://docs.mulesoft.com/rpa-builder/latest/ui-overview) in RPA Builder, click the name of the process you created. 3. Click **File** on the [Menu Bar](https://docs.mulesoft.com/rpa-builder/latest/ui-overview#menu-bar), and then click **Import Project**. 4. Select the CRPA file you downloaded from Exchange. The project opens in the model pane and includes three activities, which you must adapt to your AMS. ## Adapt the CRPA File to Your AMS 1. Double-click each activity on the model pane to open the workflow. 2. Compare the displayed process with your process and adapt the action steps accordingly. See [Example of Adapting the CRPA File](#example-of-adapting-the-crpa-file) for a detailed example. 3. Save and upload the project to RPA Manager. ## Transfer the Second Project to the Test Phase and Test It Now that you have adapted the file to your AMS, [transfer the project to the Test phase and test it](https://docs.mulesoft.com/rpa-manager/processautomation-deploy#test-a-process-automation). ## Transfer the Second Project to the Production Phase After successfully testing the project, transfer the project to the Production phase and publish the project to Anypoint Exchange [as an invokable run configuration](https://docs.mulesoft.com/rpa-manager/processautomation-deploy#publish-automation-exchange). For help with this process, refer to: - [Connecting to RPA Processes from Salesforce Products](https://docs.mulesoft.com/rpa-manager/settings-connect) - [Use Flows with MuleSoft RPA](https://help.salesforce.com/s/articleView?id=sf.flow_build_use_flows_with_mulesoft_rpa.htm&type=5) ## Implement and Deploy the First Project Now that you have published the second project as an invokable run configuration, you can call it from within another process by using the [REST Call Action Step](https://docs.mulesoft.com/rpa-builder/latest/toolbox-network-rest-call). The second process should take a list of lookup codes provided via a file, use the [File Controlled Loop Action Step](https://docs.mulesoft.com/rpa-builder/latest/toolbox-flow-control-file-controlled-loop) to iterate over all codes, and use the codes within the request body of the REST call. [Deploy the project](https://docs.mulesoft.com/rpa-manager/processautomation-deploy#deploy-a-process-automation) and schedule it as needed. ## Example of Adapting the CRPA File > [!NOTE] The example in this guide uses real-world data to show you how to adapt a CRPA file to a > specific AMS. All values for the Activity Parameters used in RPA Builder are test values that you must overwrite with your own values when creating the run configuration for the process in RPA Manager. ### Process Model The process model contains the following activities: 1. Log in to the AMS using credentials and a database name. 2. Open a record in the AMS database using a lookup code. 3. Copy data from various fields on the record pages to a CSV file. ![RPA Builder process model](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-process-model.png) Add activities by clicking on an element on the model panel and choosing an element from the context menu. For example, the following image shows how to branch off to a second AMS if you are using more than one AMS and not finding the data you need in the first AMS: ![RPA Builder option for adding an activity to the process model](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-add-activity.png) The linter automatically checks the model for completeness and displays error and warning messages to indicate what to change. Click on an activity to open the editing workflow. ### Activity 1: Log In to the AMS #### Overview of the Activity Workflow 1. Decrypt the AMS login credentials that go in through an Activity Parameter. 2. Run the AMS. 3. Log in to the AMS by using the decrypted credentials. 4. Select the database by using another in-going Activity Parameter. ![RPA Builder Activity Parameter Wizard](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-activity-parameters-wizard.png) #### Minimum Steps to Adapt in This Workflow 1. Change the following in the [Run Program Action Step](https://docs.mulesoft.com/rpa-builder/latest/toolbox-control-run-program): 1. Replace the values in the **File name**, **Parameters**, and **Window Title** fields with the values from your AMS. 2. Click **Test** to run the application so that you can use it to adapt the following Action Steps: ![RPA Builder Run Program Wizard](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-run-program-wizard.png) 2. Use the **Start from scratch** option to capture and test a new pattern that indicates that the login page of the AMS is visible onscreen: ![RPA Builder pattern-selection wizard](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-image-search-wizard.png) 3. Reidentify the field to enter the password. You might have to add another [Keystrokes to App Element Action Step](https://docs.mulesoft.com/rpa-builder/latest/toolbox-app-automation-keystrokes-to-app-element) for entering the user name, which would go before the password step. ![RPA Builder Keystrokes to App Element Wizard](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-keystrokes-app-element-wizard.png) 4. Reidentify the **Login** button, which is used in the [Click App Element Action Step](https://docs.mulesoft.com/rpa-builder/latest/toolbox-app-automation-click-app-element): ![RPA Builder Click App Element Wizard](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-click-app-element-wizard.png) 5. Wait for the login process to complete by choosing a pattern that disappears after completion: ![RPA Builder pattern-selection wizard](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-choose-pattern.png) 6. Adapt the other Action Steps of the same types in a similar way. Or, add or delete Action Steps based on what is needed to log in to your AMS. ### Activity 2: Find a Record in the AMS The second activity finds a record in the AMS by using a lookup code. 1. Enter the lookup code, which was provided as an Activity Parameter, as locate criterion to search for the account data set. 2. Click on the result entry to open the account data, and then wait until it’s fully loaded. ![RPA Builder workflow that enters a lookup code](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-lookup-code.png) Change the following Action Steps: 1. Adapt the first Action Steps as you did in the previous Activity. 2. Adapt the scan area in the [AI OCR Action Step](https://docs.mulesoft.com/rpa-builder/latest/toolbox-text-recognition-ai-ocr-screen-based) in which RPA Bot searches for the record entry with the lookup code: ![RPA Builder AI OCR wizard](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-ai-ocr-wizard.png) 3. Adapt the rest of the Action Steps as you did in the previous Activity. ### Activity 3: Retrieve and Export Data from the AMS The third activity retrieves data and exports the data from the AMS so that it can be imported to Salesforce Financial Services Cloud. 1. Retrieve account data. 2. Retrieve the policy data of the account. 3. Export the data to a CSV file. ![RPA Builder workflow that exports data to a CSV file](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-export-data.png) Change the following Action Steps: 1. To retrieve the data, reidentify the fields from which to read in each of the [Read Text from App Element Action Steps](https://docs.mulesoft.com/rpa-builder/latest/toolbox-app-automation-read-text-from-app-element) and add or delete them as needed. ![RPA Builder Read Text from App Element Wizard](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-read-text-app-element-wizard.png) If necessary, click into a field before reading the text and then use a keystroke to get out of the field. ![RPA Builder workflow for entering and leaving a field before reading text](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-read-text-tip.png) To search for text in a special format, you can use [Optical Character Recognition](https://docs.mulesoft.com/rpa-builder/latest/toolbox-text-recognition-ai-ocr-screen-based) in combination with regular expressions. ![RPA Builder workflow that uses optical character recognition](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-optical-character-recognition.png) 2. Ensure that all retrieved data is [pinned](https://docs.mulesoft.com/rpa-builder/latest/common-properties#variables) to the [Combine Strings Action Step](https://docs.mulesoft.com/rpa-builder/latest/toolbox-variable-handling-combine-strings) and adjust if necessary. You can also link more Activity Parameters. ![RPA Builder Combine Strings Wizard](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-combine-strings-wizard.png) 3. Add the string to a CSV file as `Pin Variable` and adjust the properties as needed. The CSV file must be in the specified format. ![RPA Builder Write to Text File Wizard](/mulesoft/current/en-us/financial-services/latest/_images/rpa-setup-write-text-file-wizard.png) ## See Also - _Salesforce Help_: [Account](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_account.htm) - _Salesforce Help_: [Prepare a CSV File for an Import or Update in Salesforce](https://help.salesforce.com/s/articleView?id=000381876&type=1) - _Salesforce Help_: [Standard Objects](https://developer.salesforce.com/docs/atlas.en-us.248.0.object_reference.meta/object_reference/sforce_api_objects_list.htm) - [MuleSoft Accelerator for Financial Services](https://docs.mulesoft.com/financial-services/latest/) --- product: Financial Services version: 1.12 is-latest-version: true --- # Salesforce Financial Services Cloud Setup Guide > For the full documentation index, see: https://docs.mulesoft.com/llms.txt This page describes how to configure an existing Salesforce Financial Services Cloud (FSC) instance to support the default MuleSoft Accelerator for Financial Services functionality. These instructions assume that the required FSC packages have been deployed to the target Salesforce instance and that the appropriate permissions have already been assigned. ## Record Types The following record types must exist in the corresponding objects for the accelerator assets to function correctly.
Salesforce ObjectRecord Type

Account

Household

Financial Account

Blockchain Account

Financial Account

General Ledger Account

Financial Account

Money Market Account

Financial Account Transaction

Financial Account Transfer Transaction

Lead

Lead

Follow the instructions for each object below. ### Account & Lead To enable the `Household` record type in `Account` object, follow the below steps: 1. Click the Salesforce Setup icon. 2. Navigate to `Users -> Profiles`. 3. Select the target profile for the service account user. 4. Navigate to `Object Settings -> Accounts` and click the **Edit** button. 5. Under `Record Types and Page Layout Assignments` check the `Household` record type. 6. Click the **Save** button. Follow the same steps but this time enable the `Lead` record type on the `Lead` object. ### Financial Account To create the `Blockchain Account` record type in the Financial Account object, first create a page layout for it based on an existing layout. 1. Select the `Object Manager` tab from the Setup home page. 2. Select the `FinServ_FinancialAccount__c` object. 3. Select `Page Layouts` from the left nav and click **New**. 4. Select an existing page layout (for example, "Financial Account (Savings Account) Layout"). 5. Set the `Page Layout Name` field to "Financial Account (Blockchain Account) Layout". 6. Click **Save** to create the new layout. Select `Page Layouts` from the left nav to return to the list and repeat the above steps to create the `General Ledger Account` and `Money Market Account` page layouts. Now create the new `Blockchain Account` record type: 1. Select `Record Type` from the left nav and click **New**. 2. Select an existing record type (for example, "Savings Account"). 3. Fill out the following fields as indicated. - `Record Type Label` -> "Blockchain Account" - `Record Type Name` -> "Blockchain" (change default value). - `Description` -> "Represents a Blockchain account" 4. Enable the `Active` checkbox. 5. In the list of profiles, check the `Make available` option the profile assigned to the target API service account (at a minimum). 6. Click **Next** and select the option `Apply one layout to all profiles`. 7. Select the page layout "Financial Account (Blockchain Account) Layout". 8. Click **Save**. Repeat the above steps to create the `General Ledger Account` and `Money Market Account` record types. Be sure to select the correct page layout corresponding to the record type. The new record types should now be available in the `Record Types` section. You can verify that the new record type is also available to the target user profile as follows: 1. Navigate to `Users -> Profiles`. 2. Select the target profile. 3. Navigate to `Object Settings -> Financial Accounts` (the object you edited earlier) and click the **Edit** link. 4. Verify that the new record types are listed under `Record Types and Page Layout Assignments`. ### Financial Account Transaction The standard record type **Financial Account Transaction** supports the transaction types `DebitTransaction` and `CreditTranction`. The **Financial Account Transfer Transaction** record type must be created to support the `TransferTransaction` and `PaymentTransaction` transaction types. The steps for creating the `Financial Account Transfer Transaction` record type are similar to those above, but for the `Financial Transaction` object instead. 1. In the Object Manager, select the `FinServ_FinancialAccountTransaction__c` object. 2. Select `Page Layouts` from the left nav and click **New**. 3. Select an existing page layout (for example, "Financial Account Transaction Layout"). 4. Set the `Page Layout Name` field to "Financial Account Transfer Transaction Layout". 5. Click **Save**. 6. Select `Record Types` from the left nav and click **New**. 7. Select an existing record type (for example, "Financial Account Transaction") if available, otherwise use "--Master--". 8. Fill out the following fields as indicated. - `Record Type Label` -> "Financial Account Transfer Transaction". - `Record Type Name` -> "Financial\_Account\_Transfer" (change default value). - `Description` -> "Defines a transaction that represents a generic transfer from one account to another". 9. Enable the `Active` checkbox. 10. In the list of profiles, check the `Make available` option the profile assigned to the target API service account (at a minimum). 11. Click **Next** and select the option `Apply one layout to all profiles`. 12. Select the page layout "Financial Account Transfer Transaction Layout". 13. Click **Save**. The new record type can be verified as above. ## Custom Fields The following fields must be created in the corresponding objects.
Salesforce ObjectField LabelField NameData TypeLengthUnique*ExternalId

Account

Global Billing Address ID

Global_BillingAddress_Id

Text

36

Y

Y

Account

Global Customer ID

Global_Customer_Id

Text

36

Y

Y

Account

Global Email Address ID

Global_EmailAddress_Id

Text

36

Y

Y

Account

Global Fax Number ID

Global_FaxNumber_Id

Text

36

Y

Y

Account

Global Mailing Address ID

Global_MailingAddress_Id

Text

36

Y

Y

Account

Global Mobile Number ID

Global_MobileNumber_Id

Text

36

Y

Y

Account

Global Party ID

Global_Party_Id

Text

36

Y

Y

Account

Global Phone Number ID

Global_PhoneNumber_Id

Text

36

Y

Y

Account

Global Shipping Address ID

Global_ShippingAddress_Id

Text

36

Y

Y

Account

Customer Status

Customer_Status

Picklist

-

N

N

Contact

Global Email Address ID

Global_EmailAddress_Id

Text

36

Y

Y

Contact

Global Individual ID

Global_Individual_Id

Text

36

Y

Y

Contact

Global Phone Number ID

Global_PhoneNumber_Id

Text

36

Y

Y

Contact

Global Mobile Number ID

Global_MobileNumber_Id

Text

36

Y

Y

Contact

Global Other Address ID

Global_OtherAddress_Id

Text

36

Y

Y

Contact

Global Mailing Address ID

Global_MailingAddress_Id

Text

36

Y

Y

FinServ_Card__c

Card Type

Card_Type

Picklist

-

N

N

FinServ_Card__c

Cardholder Name

Cardholder_Name__c

Text

100

N

N

FinServ_Card__c

Credit Card Type

Credit_Card_Type__c

Picklist

-

N

N

FinServ_Card__c

Global Card ID

Global_Card_Id__c

Text

36

Y

Y

FinServ_FinancialAccount__c

Global Account ID

Global_Account_Id__c

Text

36

Y

Y

FinServ_FinancialAccount__c

Initial Transaction ID

Initial_Transaction_Id__c

Text

36

N

N

FinServ_FinancialAccount__c

Last Payment Amount

LastPaymentAmount__c

Currency

(16,2)

N

N

FinServ_FinancialAccount__c

Last Payment Date

LastPaymentDate__c

Date

-

N

N

FinServ_FinancialAccount__c

Last Statement Date

LastStatementDate__c

Date

-

N

N

FinServ_FinancialAccount__c

Last Transaction Amount

LastTransactionAmount__c

Currency

(16,2)

N

N

FinServ_FinancialAccount__c

Last Transaction Type

LastTransactionType__c

Picklist

-

N

N

FinServ_FinancialAccount__c

Last Transaction ID

Last_Transaction_Id__c

Text

36

N

N

FinServ_FinancialAccount__c

Maximum Monthly Withdrawals

Maximum_Monthly_Withdrawals__c

Number

18

N

N

FinServ_FinancialAccount__c

Monthly Withdrawal Limit

Monthly_Withdrawal_Limit__c

Number

(16,2)

N

N

FinServ_FinancialAccountTransaction__c

Debit Financial Account

Debit_Financial_Account__c

Lookup

-

-

-

FinServ_FinancialAccountTransaction__c

Credit Financial Account

Credit_Financial_Account__c

Lookup

-

-

-

FinServ_FinancialAccountTransaction__c

Global Transaction ID

Global_Transaction_Id__c

Text

36

Y

Y

FinServ_FinancialAccountTransaction__c

Originator ID

Originator_Id__c

Text

36

Y

N

InsurancePolicy

Global Policy ID

Global_Policy_Id__c

Text

36

Y

Y

Opportunity

ACH Transfer Authorization Document ID

Ach_Transfer_Auth_Document_Id

Text

36

N

N

Opportunity

Asset Transfer Authorization Document ID

Asset_Transfer_Auth_Document_Id

Text

36

N

N

Opportunity

Document Signatures Received

Document_Signatures_Received__c

Checkbox

-

-

-

Opportunity

KYC Completed

KYC_Completed__c

Checkbox

-

-

-

\*Unique fields should be case-sensitive ### Create via Apex Script An Apex class called `CustomFieldUtility` can be used to create custom fields programmatically. The source for this class can be found in the [FINS Common Resources](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-common-resources-src) project. Download this project and follow the steps below. 1. Click on Salesforce Setup icon and select `Developer Console` to open a new console window 2. Go to `File -> New -> Apex class` and create a new class named `CustomFieldUtility` 3. Copy the code from `fins-common-resources/salesforce/CustomFieldUtility.apxc` to the script editor 4. Select the `File -> Save` menu option to compile and save the class 5. Select `Debug -> Open Execute Anonymous Window` 6. Copy and paste the contents of `fins-common-resources/salesforce/CreateCustomFields.txt` into the window. 7. Enable the `Open Log` option and click the **Execute** button. Once the script completes, select the `Debug Only` filter option to show just the results of each create request. Verify that all fields have been successfully created. ### Create Manually via Salesforce To create each of these custom fields and enable visibility for them on page layouts: 1. Click the Salesforce Setup icon. 2. Select the `Object Manager` tab from the Setup home page. 3. Find and select the target Salesforce object. 4. Select the `Fields & Relationships` page. 5. Click the **New** button and create the field as specified above. 6. Once the field has been created, click the `Set Field-Level Security` button (or do these steps later - see below). 7. Enable for desired profile, or tick the checkbox next to `Visible` to enable visibility for the desired profile(s). Repeat these steps for each custom field in the above list. > [!TIP] Instead of adjusting permissions for each field as you go, if you are only making them > available to one or two profiles it may be more efficient to go to the > `Users -> Profiles -> {profile} -> Object Settings` for each object and adjust the permissions for > multiple fields at once. ### Additional Notes - The **Card Type** picklist values are **DebitCard** and **CreditCard**. - The **Credit Card Type** picklist values are **Amex**, **Discover**, **Mastercard**, **Visa**, and **Other**. - The **Last Transaction Type** picklist values are **CreditTransaction**, **DebitTransaction**, **TransferTransaction**, and **PaymentTransaction**. - The **Customer Status** picklist values are **Prospect**, **Onboarding**, **Active**, **Inactive**, **Closed**, **Deceased**, **Delinquent**, and **Dormant**. - The **Debit Financial Account** and **Credit Financial Account** fields looks up respective Financial Accounts. - All `Global_*_Id__c` fields should be visible in layouts (as described above) but made **read-only** to avoid issues with data synchronization. ## Enable Financial Accounts in Sales When the Financial Services Cloud feature is added to the Salesforce instance, the Commercial and Retail Banking apps are provided to work with financial accounts. If you want to enable the Financial Accounts tab on the Sales app, follow these steps: 1. Navigate to the `Sales` app home page. 2. Click the pencil icon on the right corner of the navigation pane, which opens the `Edit Sales App Navigation Items` dialog box. 3. Click **Add More Items**. 4. Navigate to `All` under the `Available Items` menu. 5. Search for `Financial Accounts` and Select it. 6. Click `Add 1 Nav Item` and then click **Save**. ## Enable Transaction Status The default implementation of the solution requires the enablement of additional values for the transaction status picklist in the target FSC instance. This can be done as follows: 1. Click the Salesforce Setup icon. 2. Select the `Object Manager` tab from the Setup home page. 3. Find and select the `FinServ_FinancialAccountTransaction_c` Salesforce object. 4. Navigate to `Fields and Relationships` and select the `FinServ_TransactionStatus_c` picklist field. 5. Scroll down to the `Values` section and click **New**. 6. Enter the values for `Cancelled` and `Initial` on separate lines and click **Save**. ## Enable Transaction Types The default implementation of the solution also requires the enablement of additional transaction types. The steps are similar to those above: 1. Click the Salesforce Setup icon. 2. Select the `Object Manager` tab from the Setup home page. 3. Find and select the `FinServ_FinancialAccountTransaction__c` Salesforce object. 4. Navigate to `Fields and Relationships` and select the `FinServ_TransactionType__c` picklist field. 5. Scroll down to the `Values` section and click **New**. 6. Enter the values for `Payment` and `Transfer` on separate lines and click **Save**. ## Workflow Rules To display a specific page layout based on the record type, a Workflow rule is created. To ensure the page layout changes based on the record type `Financial Account Transfer Transaction`, follow the below steps: 1. Click the Salesforce Setup icon. 2. Navigate to `Process Automation -> Workflow Rules`. 3. Click the **New Rule** button. 4. Select `FinServ_FinancialAccountTransaction__c` from the **Object** dropdown. 5. Enter **Rule Name** as `Transfer Transaction Type` and description as `Defines a transaction that represents a generic transfer from one account to another`. 6. Set `Evaluation Criteria` as `created, and any time it`s edited to subsequently meet criteria\`. 7. In the `Rule Criteria` section, select `criteria are met`. 8. In the first row, select the field as `Financial Account Transaction: Transaction Type`, operator as `equals`, and value as `Transfer`. 9. In the second row, select the field as `Financial Account Transaction: Transaction Type`, operator as `equals`, and value as `Payment`. 10. Set filter logic `1 OR 2`. Click **Save**. 11. In `Workflow Actions`, under `Immediate Actions`, select `New Field Update`. 12. Set `Name` as `Transfer Transaction Type`. 13. In `Field to Update`, select `Record Type`. Click **Next**. 14. In `Specify New Field Value`, select `Financial Account Transfer Transaction` from the record type dropdown. 15. Click **Save**. ## Enable Multiple Currencies The default implementation of the solution requires the enablement of multiple currency support in the target FSC instance. This can be done as follows: 1. Click the Salesforce Setup icon. 2. Navigate to `Company Settings -> Company Information`. 3. Click **Edit** and enable the `Activate Multiple Currencies` option. 4. Click **Save**. If desired, click the **Currency Setup** button to add support for additional currency codes (for example, EUR). ## Create Platform Events and Apex Triggers The following Platform Event Objects and Apex Triggers must be created in order to capture updates from Salesforce. The scripts to create these Apex Triggers and add fields to Platform Event Objects are located in the [FINS Common Resources](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-common-resources-src/) project.
Salesforce ObjectSalesforce Platform Event ObjectSalesforce Platform Event API NameApex Trigger Name

Account

Account

Account__e

AccountEventsPub

Contact

Contact

Contact__e

ContactEventsPub

Account

AccountAddresses

AccountAddresses__e

AccountAddressEventsPub

Account

Household

Household__e

HouseholdEventsPub

Lead

Lead

Lead__e

LeadEventsPub

Opportunity

Opportunity

Opportunity__e

OpportunityEventsPub

FinServ_FinancialAccount__c

FinancialAccount

FinancialAccount__e

FinancialAccountEventsPub

FinServ_FinancialAccountTransaction__c

FinancialAccountTransaction

FinancialAccountTransaction__e

TransactionsEventsPub

FinServ_Card__c

FinancialCard

FinancialCard__e

CardsEventsPub

### Create Platform Event Object This implementation requires creation of Platform Events in Salesforce. To create a Platform Event Object following the below steps: 1. Login to Salesforce. 2. Click Setup to search for Platform Events in Quick Find Box. Platform Events Page under Integrations section appears with list of available Platform Events. 3. Click **New Platform Event** button to create an Object and enter Platform Information Details fields like Label, Plural Label and Object with Object Name and Event API Names as above table. Click Save. Repeat this step for creating multiple Salesforce Platform Event Objects as mentioned in the above table. 4. To add Custom Fields & Relationships to Platform Event Definitions, run the utility scripts (`CreatePlatformEventsCustomFields.txt`) available in the [FINS Common Resources](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-common-resources-src/) under the `/salesforce` folder. ### Create Apex Triggers Follow the below steps to create the Apex Triggers 1. Login to Salesforce. 2. Click Setup to search for Object Manager in Quick Find Box. 3. Search for the Salesforce Object. A page appears with Details of the Object. 4. Click Triggers unders the Details section to see list of available triggers on the Object. Click New. 5. Copy the Trigger Script code searching by Apex Trigger Name (mentioned in the above table for the SalesforceObject) in CreateApexTriggers.txt of [FINS Common Resources](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-common-resources-src/) to the script editor. CreateApexTriggers.txt file is available under /salesforce folder. 6. Obtain the `LastModifiedById` and `RecordTypeId` (if it exists) by running the queries mentioned in the trigger from Developer Console. 7. Replace the values in the script and Save the trigger. 8. Click Save and ensure isActive checkbox is ticked. 9. Repeat the steps for all the Salesforce objects in the above table. ### Additional Notes - All the Apex Triggers created above filters records based on `LastModifiedBy <> {Service account ID}`. This is to filter out updates done by the Salesforce Customers and Salesforce Financial System APIs to avoid cyclical updates. This can be obtained by running the query `SELECT Id FROM User WHERE Username=''` in the Developer Console. - The Apex Triggers AccountEventsPub, and AccountAddressEventsPub also filter records based on record type ID. The record type ID can be obtained by running the query `SELECT Id,Name FROM RecordType where Name='Household' and sObjectType='Account'` in the Developer Console. - The Apex Trigger HouseholdEventsPub also filter records based on record type ID. The record type ID can be obtained by running the query `SELECT Id,Name FROM RecordType where Name='Account' and sObjectType='Account'` in the Developer Console. ## Adding Mailing Address to Person Account details Page The following instructions assume that [support for Person Accounts](https://help.salesforce.com/s/articleView?id=sf.account_person_enable.htm&type=5) is already enabled. Perform the following actions to enable Mailing Address on the Person Account detail page. 1. Click the Salesforce Setup icon. 2. Select the `Object Manager` tab from the Setup home page. 3. Search for `Person Account` and select it. 4. From the menu on the left, click on `Page Layouts` and select the layout you want to adjust. 5. Click the `Fields` tab on the palette to show all the available fields. 6. Search for `MailingAddress` and select it. 7. Drag the field from the palette and drop it in the `Address Information` section of the layout 8. Click the **Save** button. ## Creating Contacts not Associated with an Account These instructions assume that the Salesforce FSC instance includes access to the `Contact` object. 1. Click the Salesforce Setup icon. 2. Select the `Object Manager` tab from the Setup home page. 3. Search for `Contact` and select it. 4. From the menu on the left, click on `Page Layouts` and select the layout you want to adjust. 5. Find the `Account Name` field on the layout and hover over it. Then, click the wrench icon to show the field properties. 6. Deselect the `Required` checkbox and confirm your changes. 7. Click the **Save** button. ## Adding Fields to Opportunity Page Perform the following actions to enable custom fields in Opportunity default page. 1. Click the Salesforce Setup icon. 2. Select the `Object Manager` tab from the Setup home page. 3. Search for `Contact` and select it. 4. From the menu on the left, click on `Page Layouts` and select the layout you want to adjust. 5. Click the `Fields` tab on the palette to show all the available fields. 6. Search for `KYC Completed` and select it. 7. Drag the field from the palette and drop it in the `Opportunity Information` section of the layout. 8. Repeat the last two steps to add the `Document Signatues Recieved`, `Ach Transfer Auth Document Id`, and `Asset Transfer Auth Document Id` fields. 9. Click the **Save** button. ## Configure Connected App for Authentication Follow the below steps to generate the `Consumer Key` and `Consumer Secret` values required for Salesforce authentication. 1. Click the Salesforce Setup icon. 2. Navigate to `Apps -> App Manager`. 3. Select `New Connected App`. 4. Enter Connected App Name: `MuleSoft Accelerator`, API Name: `MuleSoft_Accelerator` and set your email address. 5. In the `API (Enable OAuth Settings)` section, check the box `Enable OAuth Settings`. 6. Set the callback URL `http://localhost`. 7. From the `Selected OAuth Scopes` list, select `Full access (full)`. 8. Click **Save** and then **Continue**. 9. Click the **Manage** button to view details for the new connected app. 10. Click the **Edit Policies** button. 11. In the `OAuth Policies` section, for `Permitted Users` select `All users may self-authorize`. 12. For `IP Relaxation`, select the `Relax IP restrictions` option. 13. Click **Save**. You now need to copy the `Consumer Key` and `Consumer Secret` values for use in configuring Mule application deployments. More specifically, these must be supplied as the values for the `sfdc.fsc.client-id` and `sfdc.fsc.client-secret` properties found in the `FSC-BANKING-DEV`, `FSC-Insurance-DEV` and `FSC-WEALTH-DEV` profiles in your Maven `settings.xml` file. 1. On the Setup Home page, navigate to `Apps -> App Manager`. 2. Locate your new connected app and choose `View` from the actions dropdown for that item (last column on the right). 3. Under the `API (Enable OAuth Settings)` section, click the **Manage Consumer Details** button. 4. Verify your identity by entering the verification code that was emailed to you. 5. Copy the key and secret values and update your `settings.xml` file as described above. Download the [FINS Common Resources project](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-common-resources-src) for a sample `settings.xml` file that can be used as a starting point. ## Generating Security Token for Service Account A token needs to be generated for the service account used by the Mule applications in order to connect to the FSC instance. 1. Login to Salesforce as the Service Account User (the account that will be used by the Mule applications for connecting to Salesforce). 2. Click the Username icon in the top right corner and select `Settings` from the menu. 3. Select `My Personal Information -> Reset My Security Token` (if not found, see note below). 4. Click **Reset Security Token**. 5. Check the email inbox for an email from Salesforce with the new security token. > [!NOTE] If the option to reset your security token is not available, it is likely that one or more > Login IP Ranges are in effect. These can be temporarily removed from the settings page of the > profile assigned to the service account user. ## Contact Point Mappings The following table lists the conditions used to assign ContactPoints in Salesforce:
CIM PartyRole - PartySalesforce Object - Record TypeConditionAction in SalesforceComments

Customer - Individual

Account - PersonAccount

ContactPointAddress with isUsedForBilling set as false

Assign Address as PersonMailingAddress

If multiple addresses match this condition, the one with primaryFlag set to true is used; if none set the first one will be used

Customer - Individual

Account - PersonAccount

ContactPointAddress with isUsedForBilling set as true

Assign Address as BillingAddress

Customer - Individual

Account - PersonAccount

ContactPointPhone with isSMSCapable set as false

Assign Phone Number as Phone

If multiple phones match this condition, the one with primaryFlag set to true is used; if none set the first one will be used

Customer - Individual

Account - PersonAccount

ContactPointPhone with isSMSCapable set as true

Assign Phone Number as PersonMobilePhone

Customer - Organization

Account - Account

ContactPointAddress with isUsedForBilling set as true

Assign Address as BillingAddress

If multiple addresses match this condition, the one with primaryFlag set to true is used; if none set the first one will be used

Customer - Organization

Account - Account

ContactPointAddress with isUsedForBilling set as true

Assign Address as BillingAddress

If multiple addresses match this condition, the one with primaryFlag set to true is used; if none set the first one will be used

Customer - Organization

Account - Account

ContactPointAddress with isUsedFoShipping set as true

Assign Address as ShippingAddress

Customer - Organization

Account - Account

ContactPointPhone with isFaxCapable set as false

Assign Phone Number as Phone

If multiple phones match this condition, the one with primaryFlag set to true is used; if none set the first one will be used

Customer - Organization

Account - Account

ContactPointPhone with isFaxCapable set as true

Assign Phone Number as Fax

\*The default value for all flags is `false`. ## Creating Stop Check and Stop ACH Buttons To enable Stop Check and Stop Automated Clearing House (ACH) features, you must create a button for both features in your Salesforce org. Follow these steps to create the buttons: 1. Set up [named credentials](https://help.salesforce.com/s/articleView?id=sf.nc_named_creds_and_ext_creds.htm&type=5) for making HTTP calls to Mule APIs. 2. Deploy the Stop Check and Stop ACH flows from the package provided in [FINS Common Resources](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-common-resources-src/). See [Flow Builder](https://help.salesforce.com/s/articleView?id=sf.flow.htm&language=en_US&type=5) in Salesforce Help for information about creating flows. 3. Add **Stop Check** and **Stop ACH** buttons to the Financial Account object in your Salesforce org. See [Customize Standard and Custom Buttons on Page Layouts](https://help.salesforce.com/s/articleView?id=sf.customizing_detail_page_buttons.htm&type=5) in Salesforce Help for information about creating buttons. 4. Create a quick action for each button to enable users to access the buttons easily. See [Create a Quick Action for a Flow](https://help.salesforce.com/s/articleView?id=sf.fsc_slack_app_create_a_quick_action_for_a_flow.htm&type=) for information about creating quick actions. ## See Also - [Prerequisites](https://docs.mulesoft.com/financial-services/latest/prerequisites) - [MuleSoft Accelerator for Financial Services](https://docs.mulesoft.com/financial-services/latest/) --- product: Financial Services version: 1.12 is-latest-version: true --- # Salesforce Marketing Cloud Setup Guide > For the full documentation index, see: https://docs.mulesoft.com/llms.txt This guide provides the setup instructions for Marketing Cloud for the following use cases that are part of the [MuleSoft Accelerator for Financial Services](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/): - [Use case 2b - Client onboarding - Wealth management](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/Use%20case%202b%20-%20Client%20onboarding%20-%20Wealth%20management/) - [Use case 4a - Address change orchestration - Insurance](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/Use%20case%204a%20-%20Address%20change%20orchestration%20-%20Insurance/) - [Use case 4b - Address change orchestration - Banking](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/Use%20case%204b%20-%20Address%20change%20orchestration%20-%20Banking/) - [Use case 5 - Optimize customer experiences with CDP](https://anypoint.mulesoft.com/exchange/org.mule.examples/mulesoft-accelerator-for-financial-services/minor/1.12/pages/dcb-oxw/Use%20case%205%20-%20Optimize%20customer%20experiences%20with%20Data%20Cloud/) ## Create Data Extension for Sync Process The steps listed below are not specific to any use case, they are needed for the sync process, which is common for all the use cases. It is assumed that the Salesforce Marketing Cloud has been provisioned and access is granted appropriately. To create the data extension to store Individuals (for example, `Individual`), log in to Marketing Cloud as the administrator and perform the following steps: - Click on Email Studio. - Click on Subscribers Menu. - Click on Data Extensions link. - On right side tab under Data Extensions section, click Create button to create Data Extensions. - Select Standard DataExtension from the popup. Click Ok. - On the next popup screen, choose Creation Method as Create from New. Enter the Name of the DataExtension as 'Individual', check the Is Sendable? checkbox, and click Next. - On Data Retention Policy popup, set the Retention Setting to On and select Apply To Delete : as All records and data extensions. Set the Period: as After 6 Years from the dropdown and click Next. - Add fields and create a relationship. - Add a field EmailAddress with EmailAddress Data type and mark it as Primary Key. - Add below fields as Text Data type with Length as 500 and mark them as Nullable. - FirstName - LastName - PersonName - GlobalPartyId - CompanyName - State - Add below fields as Text Data type of Length 500. - SubscriberId - CreatedBy - UpdatedBy - Add below fields as Date Data type - CreatedDate - UpdatedDate. - From the Send Relationship dropdown, choose Email Address relates to Subscribers on as Subscriber Key. - Click Create. The steps listed below are specific to this use case, and assume that the Salesforce Marketing Cloud instance has been provisioned and appropriate access granted. ## Setup instructions for the Client Onboarding Use Case Log into Marketing Cloud as the administrator and perform the steps outlined below. ### Create Data Extension This is needed to capture data for the email and online submission form (HTML). - Navigate to Audience Builder, click Contact Builder - Navigate to Data Extensions at the top navigation - Click Create Create the data extension for the onboarding form (for example, `WAM_Onboarding_Form`) with the following fields: - First Name - Last Name - Email Address ### Create Email Template The email is the template that is populated and sent to prospective clients so they can provide their details through the onboarding form created above. - Navigate to Email Studio - Click Email - Click Content at the top nav - Click Create, Email Message - Click Select Creation Option, click Template - Select a desired template - Input the following fields: - Name - Description - Location = Content Builder - Click Next, add the content including Subject and Preheader ### Create Email Journey Journey Builder is used to trigger emails to a list of email addresses. The following steps outline the process to create a journey to send emails to prospective clients. The journey is configured to resend the email in 5 days if a prospective client does not respond to the first email. - Navigate to Journey Builder, click Journey Builder - Click Create New Journey - Drag and drop Data Extension as the starting event - Select the data extension created above (for example, WAM\_Onboarding\_Form) - Drag and drop Email as the next event - Select the email created in Email Studio - Drag and drop Wait by Duration as the next step - Configure the desired duration (example - 5 days) - Drag and drop a Decision Split. This event type will decide what actions to take if the user submits or doesn’t submit the online form - Configure the Filter Criteria to be Email Address is not null - Configure Remainder to be that all remaining people will be sent down this path - For the Remainder Path - Drag and drop an email event and select the desired email - Drag and drop Wait by Duration - Configure the desired duration (example - 1 minute) - For the Form Submitted path - Drag and drop Wait by Duration - Configure the desired duration (example - 1 minute) ### Create Online Submission Form This is the form that the client will submit so that the [Salesforce Wealth Experience API](https://anypoint.mulesoft.com/exchange/org.mule.examples/fins-salesforce-wealth-exp-api/) will be invoked to create a lead in FSC: - Navigate to Web Studio and click Cloudpages - Create a Collection - Under Add Content, click a Landing Page. This is where the WAM Onboarding Form will be created - Create the WAM Onboarding Form via HTML - Drag and drop the HTML object into the content body - Input the following code, save, and then publish ```html

WAM Onboarding Form

Please fill out the following fields to completion:

First Name:*
Last Name:*
Email Address:*


``` ### Create Confirmation Landing Page This is the page that the user will see once they submit the onboarding form. - Click Add Content, click Landing Page - Drag and drop the Code Snippet object into the content body - Input the following code, save, and then publish ```bash %%[SET @firstName = RequestParameter('firstName') SET @lastName = RequestParameter('lastName') SET @emailAddress = RequestParameter('emailAddress') SET @var0 = '{"firstName": "' SET @var1 = '","lastName": "' SET @var2 = '","emailAddress": "' SET @var4 = '"}' SET @content = Concat(@var0, @firstName, @var1, @lastName, @var2, @emailAddress, @var4) SET @return_code2DEFAULT3 = HTTPPost("https:///api/leads","application/json", @content, @response_data2,"Authorization",@Bearer) ]%% ``` - Add a Free Form object below the code snippet object - Enter text: `"Thanks for your submission!"` ## Setup Instructions for the Address Change Orchestration Use Case Log into Marketing Cloud as the administrator and perform the steps outlined below. ### Create Installed Package This is needed for the System API to connect to Salesforce Marteing Cloud. - Navigate to Settings -> Setup -> Users -> Roles and check the role is assigned by selecting and clicking on View Assignments. The role shoudld include Administrator. - Navigate to Settings -> Setup -> Apps -> Installed Packages. - Click New and add a new Package by providing a Name and Description. - Click on the Add Component button that appears under Details tab. A pop-up opens with few options under Choose your Component Type section. - Select API Integration as component type and click Next. - Select Server-to-Server as Integration Type and click Next. - Select Appropriate Scopes as needed for Integration and click Save. Note: These scopes listed are needed for using the Marketing CloudREST API and may not be used by the MuleSoft connector used in this application. Email: Read, Write Automations: Read, Write, Execute List and Subscribers: Read, Write Data Extensions: Read, Write Once Saved, API Integration appears under Components section with Client Id, Client Secret, and SOAP Base URI that can be used to configure in `config-local.yaml/config-dev.yaml` properties file for each environment. ### Create Data Extension To create the data extension for the Postal Address Change (for example, `Postal_Address_Change_DE`): - Click on Email Studio. - Click on Subscribers Menu. - Click on Data Extensions link. - On right side tab under Data Extensions section, click Create button to create Data Extensions. - Select Standard DataExtension from the popup. Click Ok. - On the next popup screen, choose Creation Method as Create from New. Enter the Name of the DataExtension as 'Postal\_Address\_Change\_DE', check the Is Sendable? checkbox, and click Next. - On Data Retention Policy popup, set the Retention Setting to On and select Apply To Delete : as All records and data extensions. Set the Period: as After 6 Years from the dropdown and click Next. - Add fields and create a relationship. There will be no Primary Key set for this Data Extension as it’s to only trigger events for a Journey. - Add a field EmailAddress with EmailAddress Data type. - Add a field LastUpdated with Date as Data type and default value as current date by selecting the use the current system date checkbox. - Add PersonName field as Text Data type with Length as 500. - From drop downs of Send Relationship, choose Email Address relates to Subscribers on as Subscriber Key. Click Create. ### Create Email Journey - Ensure an email message has been already composed with the correct Content that can be used in the Journey. - Navigate to Journey Builder, click Create New Journey. - Click Build in Multi-Step Journey. - Drag and drop an API Event into the Entry Source, click Create an Event, enter a name for the API Event into the Activity Name, and select the relevant Data Extension. - Drag and drop an Email event in between the API Event and Wait by Duration event in the Journey Builder flow diagram. - Enter in a name for the Activity Name and provide a description in the Description field. - Click Select Message and click the email message you’ve created and click Summary. Click Done. - Click the Wait By Duration event in the Journey Builder flow (diamond shape diagram).Change duration to 1 minute and click Done. - Click Save and Click Activate. ## Setup Instructions for the Optimize Customer Experiences Use Case Log into Marketing Cloud as the administrator and perform the steps outlined below. ### Prerequisites Please refer to the [Salesforce Data Cloud Setup Guide](https://docs.mulesoft.com/financial-services/latest/sfdc-data-cloud-setup-guide) for instructions on how to publish and activate a Data Cloud segment. Once the segment is published and activated, it will trigger the creation of a data extension in Marketing Cloud with the same name as the Data Cloud segment. ### Check Data Extension Ensure the newly created data extension from Data Cloud is active within Marketing cloud. - Navigate to Contact Builder - Click Data Extension at the top navigation - Search for the Data Extension - Confirm that the segment is created and shared with the Data Cloud segment and proceed to the next step ### Create Email Template - Navigate to Email Studio - Click Email to create the email to send out to prospective clients - Click Content at the top navigation - Click Create Email Message - Click Select Creation Option, click Template - Select the desired Template - Input the following fields - Name - Description - Location = Content Builder - Click Next, then add the content of your email including Subject and Preheader - Click Save ### Create Multi-step Journey - Navigate to Journey Builder, click Journey Builder - Click Create Multi-Step Journey - Link the Data Extension shared with Data Cloud - Set the Schedule - Set the start date - Set the time zone - Set the cadence for the Journey (timing) - Set the Evaluate New Record Only equal to True - Select the email message - Set the Subject - Select the Sender Profile - Set the Wait period to 1 minute - Save and activate the journey ## See Also - [Prerequisites](https://docs.mulesoft.com/financial-services/latest/prerequisites) - [MuleSoft Accelerator for Financial Services](https://docs.mulesoft.com/financial-services/latest/) --- product: Financial Services version: 1.12 is-latest-version: true --- # Upgrade Notes > For the full documentation index, see: https://docs.mulesoft.com/llms.txt This page provides some basic information for those upgrading to newer releases of the MuleSoft Accelerator for Financial Services. ## Release 1.7 to Release 1.8 As mentioned in the release notes, a number of technical and architectural changes introduced in this release will have an impact on existing deployments. These impacts, and the corresponding upgrade considerations, should be addressed in the following order as appropriate for your deployments: - Create platform event and triggers in Salesforce, deploy Accelerators Salesforce Party Listener and Accelerators Salesforce Financial Account Event Listener. - Replace FINS Customer Process API with the Accelerator Customer Process API. - A large number of other assets, which have not been included in the asset list for this release, have also been published to reflect changes in dependencies on both API specifications and other applications. ## Release 1.6 to Release 1.7 As mentioned in the release notes, a number of technical and architectural changes introduced in this release will have an impact on existing deployments. These impacts, and corresponding upgrade considerations, should be addressed in the following order as appropriate for your deployments. - If changes have been made to the data types in the FINS Common, Banking, or Insurance RAML libraries, it is recommended that you deploy the new CIM libraries to your local environment and reflect the same changes there for use by the updated API specs. - While the new applications may work correctly against a MySQL database, it is recommended that you provision a new MariaDB instance and start with a fresh schema. The data structures have largely stayed the same, so it should be possible to transfer existing data (via export/import) from the old DB to the new one, if desired. However, new constraints have been introduced, which may prevent some existing data from being loaded successfully. - After deploying the new Global Data Management APIs and other applications referenced by this use case you should undeploy the original MDM System APIs to ensure they are no longer being referenced. Depending on your environment you may also need to redeploy the latest versions of the following applications: Bank Loans Process API, Customer Addresses Process API, Mobile Experience API, Salesforce Financial Experience API, and Salesforce Insurance Experience API. - Since the new Jack Henry SilverLake and Synergy System APIs, along with the Events Experience API, replace the original generic Core Banking database implementations, the following applications can be undeployed: Core Banking Poller Process API, Core Banking Accounts System API, and Core Banking Customers System API. - A large number of other assets, which have not been included in the asset lists for this release, have also been published to reflect changes in dependencies on both API specifications and other applications. It is therefore highly recommended that you upgrade all existing deployements to the latest versions found on Exchange to ensure compatibility with older use cases. ### Core Banking Limitations It is important to note that the Jack Henry SilverLake provider does not include support for all of the functionality that was originally implemented by the generic Core Banking System APIs. This may cause exisiting test cases and demo scripts to fail under certain conditions - please consult the documentation for the SilverLake System APIs for more details. ## Release 1.5 to Release 1.6 There were no breaking changes introduced by this release. The existing Salesforce Customers System API was enhanced to support the posting of messages to chatter feeds; all other APIs included in this release were net new. ## Release 1.4 to Release 1.5 The following changes introduced in this release may impact existing deployments: - The publishing of updates to customer profiles (including individuals and organizations) has been streamlined to use only one set of Anypoint MQ destinations for parties and another set for party roles. Upgrading will require the new destinations to be created before redeploying any affected assets. - The DocuSign Experience and System APIs have been refactored to make them more generic. Assets related to the processing of Loan Applications have been updated accordingly and will need to be redeployed. This includes the Bank Loans Process API and the Loan Origination System API. ## Release 1.3 to Release 1.4 The existing customer sync process was augmented yet again to support the Postal Address Change use case, which will have an impact on existing deployments of these components. There is also a new, cleaner version of the CIM Market library included in this release. ### Change Summary The following changes may have an impact on existing deployments: - The CIM libraries were upgraded to new versions containing better examples and simplified (but more complete) JSON schemas. - The Notifications Process API is now referenced as a shared service. - Support for additional Salesforce FSC record types has been added. - The ID Graph LWC has been updated. ### Upgrade Steps If a release earlier than 1.3, incorporate the previous upgrade steps into the following ones. 1. Apply the latest configuration changes to your Salesforce Financial Services Cloud instance as documented in the customization guide. 2. Deploy the latest ID Graph LWC asset to your target Salesforce org(s). 3. Apply the latest schema changes to the Core Banking and MDM databases. - This may require some updates to existing records. 4. Deploy the latest customer sync components included in this release. ### Verification Steps - Create a new customer in Salesforce FSC, ensure it is replicated to Core Banking and MDM. - Update the same customer in FSC, ensure the update is reflected in Core Banking and MDM. - Ensure the Customer ID Graph component displays all target systems correctly. - Repeat these tests for financial accounts, transactions, and cards in FSC. - Repeat the above steps for customers, accounts, transactions, and cards in Core Banking. - Walk through the Loan Origination scenario and ensure customer and loan account are properly created in FSC, Core Banking, and MDM. ## Release 1.2 to Release 1.3 In addition to new components introduced for the Payments Modernization use case, this release also includes updates to existing Core Banking, MDM, and Salesforce integration components. ### Change Summary The following changes may have an impact on existing deployments: - Objects in the Banking Library and associated database schemas have been expanded. - Additional support for Organization parties in the customer sync process was introduced. - Select properties in a number of objects have been made read-only once created. - Support for storing multiple external identifiers in the generic Core Banking System has been removed. - Anypoint Studio has been upgraded to 7.11 along with a number of connectors, modules, and plugins. ### Upgrade Steps If a release earlier than 1.2, incorporate the previous upgrade steps into the following ones. 1. Apply the latest schema changes to the Core Banking and MDM databases. - This may require some updates to existing records. 2. Upgrade local Anypoint Studio instance to 7.11. - Create a new workspace for importing assets from this release. 3. Deploy the latest customer sync components included in this release. ### Verification Steps - Create a new customer in Salesforce FSC, ensure it is replicated to Core Banking and MDM. - Update the same customer in FSC, ensure the update is reflected in Core Banking and MDM. - Repeat these tests for financial accounts, transactions, and cards in FSC. - Repeat the above steps for customers, accounts, transactions, and cards in Core Banking. ## Upgrading earlier releases to Release 1.2 This release introduced some significant changes from earlier releases. As a result, all assets from both use cases have been republished to ensure proper interaction between the components. ### Change Summary The following changes may have an impact on existing deployments: - FIS integration has been replaced with a generic database-backed Core Banking System. - A generic database-backed Credit Card System has been added. - MDM functions have been refactored into separate APIs for Customers and Financial Accounts. - New versions of the Salesforce Lightning Web Components used by the solution have been incorporated. - Salesforce Financial Services Cloud requires additional customization and configuration steps. - Full two-way synchronization of customer and financial account information has been introduced. ### Upgrade Steps The following steps should be performed when upgrading existing installations to this release: 1. Apply the latest configuration changes to your Salesforce Financial Services Cloud instance as documented in the customization guide. 2. Redeploy the new versions of the LWC components. 3. Create a new database schema for the Core Banking System. 4. Apply the schema creation scripts found in the two Core Banking System API implementation projects. 5. Create a new database schema for the Credit Card System. 6. Apply the schema creation script found in the Credit Card System API implementation project. 7. Undeploy the existing MDM and FIS System APIs. 8. Execute the `Anypoint-MQ-Configuration` Postman collection in the `fins-common-resources` project to create required MQ destinations. 9. Deploy/redeploy all implementation assets required for both use cases. ### Verification Steps The following tests can be done to ensure proper deployment of all components for the core banking foundation and customer onboarding use cases: - Create a new customer in Salesforce FSC, ensure it is replicated to Core Banking and MDM. - Update the same customer in FSC, ensure the update is reflected in Core Banking and MDM. - Repeat these tests for financial accounts, transactions, and cards in FSC. - Repeat the above steps for customers, accounts, transactions, and cards in Core Banking. - Walk through the Loan Origination scenario and ensure customer and loan account are properly created in FSC, Core Banking, and MDM. ## See Also - [MuleSoft Accelerator for Financial Services](https://docs.mulesoft.com/financial-services/latest/)