Introduction:
- Briefly explain the importance of integrating MuleSoft with Salesforce(sfdc).
- Highlight the benefits of using OAuth 2.0 for secure authentication.
- State the purpose of the blog post: to guide readers through setting up a secure OAuth 2.0 connection between MuleSoft and Salesforce.
1. Prerequisites:
- Salesforce:
- A Salesforce Developer Edition or Enterprise Edition org.
- Administrator privileges to create a Connected App.
- MuleSoft:
- An Anypoint Platform account.
- Anypoint Studio installed and configured.
- Mule 4 runtime environment.
- Tools:
- Postman (optional, for testing).
- Basic understanding of REST APIs and OAuth 2.0.
2. Setting Up the Salesforce Connected App:
- Step 1: Log in to Salesforce:
- Log in to your Salesforce org as an administrator.
- Step 2: Navigate to App Manager:
- Go to Setup -> App Manager.
- Step 3: Create a New Connected App:
- Click “Create an External Client App”
- Step 4: Basic Information:
- Enter a “External Client App Name” (e.g., “MuleSFDCIntegration”).
- Enter an “API Name” (auto-populated).
- Enter a “Contact Email.”
- Click on Create.
- Step 5: Enable OAuth Settings:
- Under Policies assign Start Page as OAuth.
- Click On Settings Tab.
- Check the “Enable OAuth Settings” checkbox under OAuth Settings.
- Step 6: Callback URL:
- Enter the “Callback URL.” This is where Salesforce will redirect after authentication. For local testing, you can use:
http://localhost:8081/callbackor a custom URL for your mule application.
- Enter the “Callback URL.” This is where Salesforce will redirect after authentication. For local testing, you can use:

- Step 7.1: Selected OAuth Scopes:
- Add the necessary OAuth scopes. For example:
- “Access and manage your data (api).”
- “Perform requests at any time (refresh_token, offline_access).”
- “Perform requests on your behalf at any time (full)”
- Select the scopes required for your specific integration needs.
- for first time setup prefer Full Access to check the functionality
- Add the necessary OAuth scopes. For example:
- Step 7.2: Disable Settings:
- Require secret for Web Server Flow
- Require secret for Refresh Token Flow
- Require Proof Key for Code Exchange (PKCE) extension for Supported

- Step 7.3: Go To Polices Tab for OAuth Polices:
- Permitted Users: Admin approved users are pre-authorized
- OAuth Start URL:
https://[your-salesforce-domain].my.salesforce.com/services/oauth2/authorize - Select Profiles: System Administrator

- App Authorization
- Refresh Token Policy: Expire refresh token after specific time.

- Step 8: Save and Get Credentials:
- Save the Connected App.
- Click “Manage Consumer Details.”
- Copy the “Consumer Key” and “Consumer Secret.” These will be needed in MuleSoft.
- Step 9: Manage Profiles or Permission Sets:
- Profiles:
- Navigate to Setup -> Profiles.
- Select the profile of the user that Mule will use to connect to Salesforce.
- Click “Connected App Access” and then “Edit”.
- Add the connected app you created to the “Enabled Connected App Access” section.
- Save the profile.
- Permission Sets:
- Navigate to Setup -> Permission Sets.
- Create new permission set or use existing one.
- Click “Connected App Access” and then “Edit”.
- Add the connected app you created to the “Enabled Connected App Access” section.
- Save the permission set.
- Assign the permission set to the user that mule will use to connect to salesforce.
- Profiles:
3. Setting Up the Mule API Connection (OAuth 2.0):
- Step 1: Create a New Mule Project:
- Open Anypoint Studio and create a new Mule project.
- Step 2: Add Salesforce Connector:
- Add the Salesforce connector to your project from Anypoint Exchange.
- Step 3: Configure Salesforce Connector:
- Drag and drop the Salesforce connector’s “Config” element onto your canvas.
- Select “OAuth 2.0 Authorization Code Grant” as the connection type.
- Configuration:
- Authorization URL:
https://[your-salesforce-domain].my.salesforce.com/services/oauth2/authorize - Access Token URL:
https://[your-salesforce-domain].my.salesforce.com/services/oauth2/token - Client ID: (Consumer Key from Salesforce Connected App)
- Client Secret: (Consumer Secret from Salesforce Connected App)
- Authorization Code Callback URL: (Same as the Callback URL in your Salesforce Connected App)
- Scopes: (Same scopes as in your Salesforce Connected App)
- Authorization URL:

4. OAuth 2.0 Authorization Code Grant Flow (OAuth Dance):
- Explain the steps of the OAuth 2.0 Authorization Code Grant flow:
- Mule application redirects the user to the Salesforce authorization URL.
- User logs in to Salesforce and grants permission.
- Salesforce redirects the user back to the Mule application’s callback URL with an authorization code.
- Mule application exchanges the authorization code for an access token and refresh token.

5. Token Generation and Management:
- Mule’s Salesforce connector handles token generation and refresh automatically.
- Explain that the initial authorization process will generate an access token and refresh token.
- The refresh token is used to obtain new access tokens when they expire.
- Show how to store the tokens, if needed, for advanced handling. (For example, in object store)
- Explain how Mule automatically handles token refresh.
6. Sample Create Account Record in Salesforce:
- Step 1: Add a Salesforce Create Operation:
- Drag and drop the Salesforce connector’s “Create” operation onto your flow.
- Step 2: Configure the Create Operation:
- Select the “Account” object.
- Add a Transform Message component before the Create operation.
- Transform Message Payload:
{ "Name": "MuleSoft Account", "BillingCity": "Anytown", "BillingCountry": "USA"}- Step 3: Add a Listener:
- Add an HTTP Listener to trigger the flow.
- Step 4: Deploy and Test:
- Deploy your Mule application.
- Access the HTTP Listener endpoint in your browser or Postman.
- Verify the account record is created in Salesforce.
Conclusion:
- Summarize the steps for setting up Salesforce OAuth 2.0 with MuleSoft.
- Emphasize the security benefits of using OAuth 2.0.
- Encourage readers to explore other Salesforce operations with MuleSoft.
- Provide links to relevant documentation and resources.
Important Notes:
- Replace
[your-salesforce-domain]with your actual Salesforce domain. - Ensure that the Callback URL matches in both Salesforce and MuleSoft.
- Stress the importance of securely storing the Consumer Secret.
- Adding screenshots of each step will greatly improve the readability of the blog.
- Always test the flow thoroughly in a development environment before deploying to production.
By following this outline, you’ll create a comprehensive and helpful blog post. It will guide developers through setting up a secure Salesforce integration with MuleSoft.
]]>