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.
-
Create a Connected App in Salesforce with refresh token permissions to obtain Consumer Key and Secret.
-
Accept Terms and Conditions for Communications Cloud TMF Integrations:
- Setup > Integration > MuleSoft > MuleSoft Direct
-
Establish Connection between Salesforce and Anypoint using Anypoint credentials.
-
Click on Enable to deploy the TMF 622 asset
tmf622-product-ordering-management-v4-outbound-api
in Anypoint Platform. -
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 Description / Example Display Name A user-friendly name for the application in Anypoint Platform.
Example:tmf622-product-ordering-api
Business Group The name of the business group under which the application will be deployed in Anypoint Platform. Environment The environment within the business group (for example dev
,qa
,prod
).Deployment Target The 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.
-
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 Name Description / Example Environment of the application Deployment environment (for example, dev
,qa
,prod
).Encryption Key Encryption key used for securing configuration values (for example, SILeSecPkd123456
).Salesforce Consumer Key The Consumer Key from the Connected App in Salesforce. Salesforce Consumer Secret The Consumer Secret from the Connected App in Salesforce. Salesforce Username The Salesforce username used to authenticate the connection. Salesforce Password The password corresponding to the Salesforce username. Target System OAuth Client ID OAuth Client ID of the external system (you can use a dummy value initially). Target System OAuth Client Secret OAuth 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
). -
Once the deployment of the TMF622 asset is successful, these key components will be automatically generated.
Component Description / Example Application URL The public endpoint of the deployed Mule application.
Example:https://demotmf622-sp7zgq.5sc6y6-2.usa-m2.cloudhub.io/
Named Credential A 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.
-
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 example
tmf622-product-ordering-management-v4-outbound-api-spec
- Within the specification, you'll find these defined endpoints for TMF622 notifications:
Notification Type Endpoint 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.
- Go to Anypoint Platform > Exchange.
- Navigate to My Applications.
- Search by Salesforce Org ID to find the application credentials.
- 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.
-
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.
-
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 inapplication-dev.yaml
):
Property | Description |
---|---|
namespace | Salesforce package namespace |
targetSystem | External system's base URL or host |
productOrderCreatePath | Endpoint for handling product order creation notifications |
(etc.) | Add any additional properties as per your integration needs |
-
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.
-
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
, orprod
environment. - Use Runtime Manager to start the application.
- Ensure the correct property file (for example
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.
- Enable the TMF Notification Framework
- Navigate to Setup > Communications Cloud > Services Setup.
- Switch the toggle “Enable TMF Notification” to ON.
- 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.
- Create Integration Definitions
- Navigate to Setup > Integration Definitions
- Click New, and fill in the following:
Field | Value / Description |
---|---|
Type | Standard |
Name | For example, TMF622CreateEvent |
Developer Name | Auto-generated or custom |
Standard Provider | TMFNotificationCalloutIntegrationProvider |
Named Credentials | Name of the Named Credential created during Mule asset deployment |
Path | Corresponding 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
integrationProviderDefinitionId
parameter from the URL:
Repeat the above steps for each supported TMF622 event (each uses a different path):
Event Type | API Path |
---|---|
ProductOrderCreateEvent | /api/notification/productOrderCreateEvent |
ProductOrderAttributeValueChangeEvent | /api/notification/productOrderAttributeValueChangeEvent |
ProductOrderStatusChangeEvent | /api/notification/productOrderStateChangeEvent |
-
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.