Skip to main content
30/01/2023
Marketing Cloud integration with
MuleSoft
Warsaw MuleSoft Meetup Group
● Introductions
● Salesforce Marketing Cloud Integration
● SOAP API
● REST API
● Quiz & Lottery
Agenda
2
Introduction
Our partners
4
● Integration Consultant at Deloitte Digital Poland
● Working with Salesforce ecosystem products for 2 years
● Customer 360 Go To Market Champion
● Certified Salesforce and MuleSoft professional
Follow me on LinkedIn
/in/davydhashchak
5
Davyd Hashchak
Speaker
Your Photo
● Subject Matter Expert at PwC Poland
● MuleSoft Ambassador
● MuleSoft Meetup Leader for Warsaw, Poland
● Working with MuleSoft products for over 10 years now
● One of Salesforce Trailblazers
https://trailhead.salesforce.com/trailblazers/patryk-bandurski
Organizer
Check out my integration blog
https://ambassadorpatryk.com/blog
6
Share the event
● Share the Meetup in your social media
● Tag the event using
#MuleSoftMeetup
#WarsawMuleSoftMeetup
Thanks ☺
7
Lottery
● How it works?
○ During the event randomly is selected a winner
among the present attendees.
○ One winner at a time!
○ Three winners at the event
○ I will ask winners to send me Direct Message with
email address
● Prize is sponsored by
Three winners of today’s
lottery receives:
Amazon Voucher for 30$
8
Go to www.menti.com and use the code 9155 3697
All contents © MuleSoft, LLC
MARKETING CLOUD
INTEGRATION WITH MULESOFT
What is Marketing Cloud ?
Marketing Cloud is an integrated platform that
enables delivery of personalized customer
engagement at scale on any channel, including:
● Email
● Web
● Mobile
● Social
● Digital advertising
Marketing Cloud helps businesses to
● Know their customers – connect known and
unknown profiles in a unified view
● Create two-way, real-time personalized
engagement when and where the customer
wants
● Measure, report, and optimize on marketing
performance, impact, and customer loyalty 10
Data Model
Salesforce Marketing Cloud enables 3 types of data for its' users:
● Standard Objects – common for all marketing representatives definitions such as
Account, Subscriber, Email and system objects, like Automation.
● Data Extensions - custom objects, simply tables which may contain more specific for
company data, such as single-page application form subscribers, that have opted on
contact, which create an audience for our marketing campaign.
● Data Views - a powerful feature that allows storing subscribers' information and data
tracking. Can be accessed programmatically only. Provide data and metrics about
events and behavioural information to drive analytics. For example, email opens, emails
forwarded, links clicked, etc.
Attribute – is a column in SFMC table context.
SFMC enables different options for its' users to import data, one of them is SFTP, but today
we will review SOAP and REST APIs for integration.
11
Installed Package
● Installed Package is a
container of some
functionality in SFMC
● For integration with other
systems choose "API
Integration"
● Server-to-Server for
integration with Back End
● Web App and Public App for
integration with Front End
● Choose scope for your
Installed Package – what your
app will have access to
● Restrict access of your
integrated app as much as
possible
12
Installed Package
13
● After successful creation of
Installed Package, locate
your Client Id and Client
Secret, you will use them for
authentication.
● Change scope if needed
Authentication in REST
● URL: https://{domain}.auth.marketingcloudapis.com
● OAuth 2.0 Client Credentials Flow
○ POST /v2/token
○ Lifetime - 20 minutes
○ Bearer Authorization
● OAuth 2.0 Authorization Code Flow
○ GET /v2/authorize
○ Lifetime - 20 minutes
○ Can be refreshed
● Older "legacy" installed packages use OAuth 1.0
14
Ref: Create an OAuth 2.0 API Integration in Enhanced Packages | Marketing Cloud APIs and SDKs | Salesforce Developers
Authentication in SOAP
● WSDL: https://{domain}.soap.marketingcloudapis.com/ETLFramework.wsdl
● URL: https://{domain}.soap.marketingcloudapis.com/Service.asmx
Options
● Username and Password of user with API access – Gets access on behalf of the user
● Pass access token retrieved via OAuth 2.0 - Gets access on behalf of installed package
15
You can find your domain, WSDL and Service addresses at Setup > Company Settings > Account Settings
Authentication
DEMO
SOAP API
SOAP API Web Resources
SOAP API is your choice for integration of:
● Email Studio
● Automations – automated flows in
Automation Studio
● Content creation
● Lists – subscriber tables with default
attributes, lower limitations on number of
records, simplified
● Data Extensions – customizable subscriber
tables, higher limitations
● Tracking
● Triggered sends – action-based email
sending
18
SOAP API Methods
● Configure - Configure a Marketing Cloud account
● Create - Create one or more objects
● Delete - Delete one or more objects
● Describe - Retrieve metadata for an object
● Execute - Access and execute one or helper functions
● Extract - Extract a file to the Marketing Cloud FTP site
● GetSystemStatus - Retrieve the status of your
Marketing Cloud account
● Perform - Perform an asynchronous action
● Query - Query Marketing Cloud data
● Retrieve - Get information on a single object type
● Schedule - Schedule an action or event to occur
● Update - Update information on one or more objects
19
Operations in MuleSoft module
Add Data to Data Extension with SOAP API
- DEMO
● Create Data Extension
● Add fields
● Locate Customer Key – External ID
● Locate MuleSoft Connector Config
● Execute Create Entities call
● Observe logs and response
20
Technical Capabilities of SOAP API
Limits:
● 2000 calls per minute
● 120 seconds call timeout
● 2500 records – batch size
Optimum thresholds:
● Concurrent Imports to a single Data Extension – from 1 to 2
● Concurrent Imports to a single List – from 1 to 2
● It is recommended to make only 20 or fewer synchronous API threads per request
21
Asynchronous Processing
Request Options Set Up
Allow you control the execution logic:
● Request Type– Sync/Async
● Callback – Email, HTTP Post, FTP, None
● Priority
● Scheduled Time
● Unite calls in a group with Conversation ID
Supported methods are Create, Update,
Delete, Perform
Commonly used objects for Async operations:
● TriggeredSend
● SMSTriggeredSend
● VoiceTriggeredSend
● DataExtensionObject
23
Considerations for Options Set Up
● CreateOptions should be set up with PascalCase for keys
and SNAKE_UPPER_CASE for constant values when
forming a message for MuleSoft SFMC Connector
● HTTP Post return data format is application/x-www-form-
urlencoded
● HTTP Post does not have retry logic implemented in case
of error
● SFMC will execute callout only using HTTPS
● Callback URL should be allowlisted in Marketing Cloud
24
Asynchronous Process - DEMO
● Add Data to Data Extension asynchronously
● Locate callback
25
REST API
REST API Web Resources
REST API is your choice for integration of:
● Contacts
● Content Builder
● Journey Builder
● MobileConnect
● MobilePush
● Campaigns
● Personalization Builder
● Triggered Sends
27
Use REST API
Limits:
● 2500 calls per minute
● Request size limit is 4MB
● Tracking and data retrieve operation call timeout – 300 seconds
● Other requests – 120 seconds
28
Journey Builder API
Journey Builder API
Journey Builder is used for creation of event-
driven, responsive campaigns to distribute
across different channels at any time and any
frequency.
REST API allows us to programmatically
access and interact with this functionality.
30
HTTP Call Out from
Automation Studio
Single-Sign-On
Salesforce Marketing Cloud can act as a Service Provider via SAML
● Enable SSO in Key Management
● Retrieve SAML Metadata
● Apply it to your Identity Provider
More about setting up SSO in Marketing Cloud:
Marketing Cloud Single Sign-On (SSO) Implementation Overview (salesforce.com)
32
Q&A
Quiz & Lottery
Trivia Quiz
● Remember!
○ The quicker you respond more point you earn
○ Only good answers count ☺
○ Only one voucher per winner per month
○ Training account with the given email
● Prize is sponsored by
Three winners of today’s
quiz receives:
Free voucher for MuleSoft
online training
35
Go to www.menti.com and use the code 9155 3697
To Change
Congratulation
● Congratulation to all the winners
○ of the Quiz
○ of the lottery
36
Go to www.menti.com and use the code 9155 3697
To Change
Wrap up
Share your knowledge
● Become a speaker and share your knowledge with our community
● Submit your idea via this form:
https://tinyurl.com/become-speaker
via email patryk.bandurski@gmail.com
or
38
● Share:
○ Tweet using the hashtag #MuleSoftMeetups
○ Invite your network to join: https://meetups.mulesoft.com/warsaw/
● Feedback:
○ Fill out the survey feedback and suggest topics for upcoming events
○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program
What’s next?
39
See you next time