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.

    The client_id and client_secret of the connected app are intended for use by the Mule application to either execute SOQL queries or perform inbound GET requests to retrieve data.

  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.

    Field NameDescription / Example
    Display NameA user-friendly name for the application in Anypoint Platform.
    Example: tmf622-product-ordering-api
    Application NameApplication name is the actual name used to deploy application to the runtime manager. By default it has the same value as the Display Name you set.
    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.
  6. 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
    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.
    Salesforce HostnameFor example, MyCompany.my.salesforce.com
    Target System Oauth Client IDOAuth Client ID of the external system.
    Target System Oauth Client SecretOAuth Client Secret of the external system.
    Target System Oauth Token Endpoint URLThe token_endpoint of the external OAuth 2.0 authorization server where the client sends requests to obtain tokens.
    Target System Notification Endpoint URLThe endpoint URL of the external system to which Outbound notifications will be sent.
    Target System Product Order Endpoint URLThe endpoint URL of the external system to which Product Order requests are sent.

    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.

  7. 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

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 Mule Asset

    • Navigate to Salesforce Setup > Integrations > MuleSoft > MuleSoft Direct.
    • From the list of available Assets, click on Download button for TMF 622.
  2. Customize the Application

    • Customize the downloaded JAR file to suit your specific use cases. Common modifications include updating TMF data mappings or adjusting the authentication method for the downstream system.
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.

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 ≥ v65.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:

This other example triggers a notification upon the creation of an OrderItem:

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.