Setting Up TMF Notifications - Example Configuration for TMF 622

This topic provides details on End-to-End (E2E) setup for enabling real-time TMF notifications from Salesforce (Order object) to external systems through TMF622 standards using MuleSoft Direct Integration.

Use the provided configuration guidelines to activate notifications for other supported TMF APIs as needed.

  1. Create a Connected App in Salesforce with refresh token permissions to obtain Consumer Key and Secret.

  2. Accept Terms and Conditions for Communications Cloud TMF Integrations:

    • Setup > Integration > MuleSoft > MuleSoft Direct
  3. Establish Connection between Salesforce and Anypoint using Anypoint credentials.

  4. Click on Enable to deploy the TMF 622 asset tmf622-product-ordering-management-v4-outbound-api in Anypoint Platform.

  5. Provide the integration deployment parameters that define where and how the application will be deployed. These are the fields you need to fill out under the Enable Integration step.

    FieldDescription / Example
    Display NameA user-friendly name for the application in Anypoint Platform.
    Example: tmf622-product-ordering-api
    Business GroupThe name of the business group under which the application will be deployed in Anypoint Platform.
    EnvironmentThe environment within the business group (for example dev, qa, prod).
    Deployment TargetThe regional deployment target (for example US, EU, etc.) where the application should be hosted.

After you enter and save these details, MuleSoft Direct deploys the selected TMF622 asset to the specified environment, and the status will be reflected under the App Instance tab.

  1. When deploying the TMF622 asset in the Anypoint Platform, you will need to enter the authentication and configuration properties required to establish a secure connection between Salesforce and the external system.

    Field NameDescription / Example
    Environment of the applicationDeployment environment (for example, dev, qa, prod).
    Encryption KeyEncryption key used for securing configuration values (for example, SILeSecPkd123456).
    Salesforce Consumer KeyThe Consumer Key from the Connected App in Salesforce.
    Salesforce Consumer SecretThe Consumer Secret from the Connected App in Salesforce.
    Salesforce UsernameThe Salesforce username used to authenticate the connection.
    Salesforce PasswordThe password corresponding to the Salesforce username.
    Target System OAuth Client IDOAuth Client ID of the external system (you can use a dummy value initially).
    Target System OAuth Client SecretOAuth Client Secret of the external system (you can use a dummy value initially).
    Key for Keystore (HTTPS Certificate)Key alias used in the keystore for HTTPS communication (for example, testkey@keystore).
    Password for Keystore (HTTPS Certificate)Password associated with the keystore key (for example, testpassword@keystore).
  2. Once the deployment of the TMF622 asset is successful, these key components will be automatically generated.

    ComponentDescription / Example
    Application URLThe public endpoint of the deployed Mule application.
    Example: https://demotmf622-sp7zgq.5sc6y6-2.usa-m2.cloudhub.io/
    Named CredentialA corresponding Named Credential in Salesforce for secure integration.
    Example: stagingtmf622_sp7zgq_5sc6y6_2_usa_e2_cloudhub_io_tmf622_product_ordering_managem

These resources are essential for establishing secure, authenticated communication between Salesforce and the deployed MuleSoft application. The Named Credential simplifies authentication from Salesforce when triggering API requests to the Mule endpoint.

  1. After successful deployment, you can view the API specification to understand the available notification endpoints.

    • Navigate to the Anypoint Exchange to view the API specification and the endpoint details.
    • Locate the deployed asset, for exampletmf622-product-ordering-management-v4-outbound-api-spec
    • Within the specification, you'll find these defined endpoints for TMF622 notifications:
    Notification TypeEndpoint Path
    Create Product Order/api/notification/productOrderCreateEvent
    Update any Order Entity fields/api/notification/productOrderAttributeValueChangeEvent
    Update Order Status Field/api/notification/productOrderStateChangeEvent

To validate and trigger TMF622 notification events in a local or staging environment, you can configure and test the deployed MuleSoft asset using Postman or cURL.

  1. Go to Anypoint Platform > Exchange.
  2. Navigate to My Applications.
  3. Search by Salesforce Org ID to find the application credentials.
  4. Use the retrieved username and password for Basic Authentication in Postman.

Sample Postman Configuration:

  • Authentication Type: Basic Auth
  • Username: <your app username>
  • Password: <your app password>

Example API Call (via cURL):

  • Replace the URL and Authorization header with your actual deployment endpoint and credentials.
  • The payload mimics a real Salesforce change event for the Order object.

This allows you to validate the notification handling and end-to-end flow before enabling it in production.

Once the TMF622 asset is deployed, you may need to tailor it to suit specific business scenarios or environment setups. Follow the steps below to customize and redeploy the application.

  1. Download the Deployed Asset

    • Navigate to Anypoint Platform > Runtime Manager.
    • Select the appropriate Business Group and Environment.
    • Download the deployed Mule application (JAR file) for customization.
  2. Customize the Application

    • Modify the downloaded project or JAR based on your use cases.
    • Update the configuration files, particularly the environment-specific YAML files.
    • Edit application-qa.yaml (sample available in application-dev.yaml):
PropertyDescription
namespaceSalesforce package namespace
targetSystemExternal system's base URL or host
productOrderCreatePathEndpoint for handling product order creation notifications
(etc.)Add any additional properties as per your integration needs
  1. Rebuild and Upload the Application

    • Package the updated project back into a JAR file.
    • Go to Anypoint Platform > Runtime Manager > Applications, and re-upload the updated JAR.
  2. Update Properties and Start Application

    • Ensure the correct property file (for example application-qa.yaml) is referenced in your deployment configuration.
    • Make any additional updates needed for the qa, uat, or prod environment.
    • Use Runtime Manager to start the application.

This process ensures your deployed asset aligns with your specific external system endpoints, environment details, and business logic before going live.

This section explains how to enable and configure real-time notifications from Salesforce to external systems using the TMF Notification Framework, specifically for TMF622 events such as Order creation, attribute updates, and status changes.

  1. Enable the TMF Notification Framework
  • Navigate to Setup > Communications Cloud > Services Setup.
  • Switch the toggle “Enable TMF Notification” to ON.
  1. Add Remote Site Settings (If not configured earlier)
  • Go to Setup > Remote Site Settings
  • Add a new entry for the MuleSoft endpoint URL (from the asset deployment in Anypoint Platform). This is required for Salesforce to communicate securely with MuleSoft.
  1. Create Integration Definitions
  • Navigate to Setup > Integration Definitions
  • Click New, and fill in the following:
FieldValue / Description
TypeStandard
NameFor example, TMF622CreateEvent
Developer NameAuto-generated or custom
Standard ProviderTMFNotificationCalloutIntegrationProvider
Named CredentialsName of the Named Credential created during Mule asset deployment
PathCorresponding API path (For example /api/notification/productOrderCreateEvent)
Timeout (ms)Recommended: up to 120000 (2 minutes)
  • Save and Activate the definition.

  • From the redirected URL, copy the integrationProviderDefinitionIdparameter from the URL:

Repeat the above steps for each supported TMF622 event (each uses a different path):

Event TypeAPI Path
ProductOrderCreateEvent/api/notification/productOrderCreateEvent
ProductOrderAttributeValueChangeEvent/api/notification/productOrderAttributeValueChangeEvent
ProductOrderStatusChangeEvent/api/notification/productOrderStateChangeEvent
  1. Create Object Integration Provider Definition Mapping Records.

    This step links Salesforce object changes to TMF notification endpoints. These mappings must be configured using the Tooling API (version ≥ v64.0), as there's currently no UI for this.

a. Create Event Mapping

b. Update Event Mapping (Status Field – for State Change)

c. Update Event Mapping (Other Attribute Fields)

For each additional field (For example Description) that should trigger notifications:

The DeveloperName must be unique across your Salesforce org. Use a naming convention that reflects the object, event type, and field.

This setup ensures that when an Order is created or specific fields are updated, Salesforce sends change events to MuleSoft, which then generates standardized TMF622 outbound notifications for real-time communication with external systems.