Official Integration Guide
Salesforce Marketing Cloud - Package Setup Guide
Create a Salesforce Marketing Cloud Installed Package with the read-only permissions Strikezone needs for email campaign ingestion, single email reads, tracking events, Data Extensions, and subscriber field mapping.
Before You Begin
- You need admin access to a Salesforce Marketing Cloud account.
- You need access to Setup from the top-right gear icon in SFMC.
- The package should be read-only. Do not enable Write, Send, or Execute permissions.
1
Create the Installed Package
- In SFMC, click the gear icon in the top-right and open Setup.
- In the left sidebar, go to Platform Tools > Apps > Installed Packages.
- Click New.
- Enter a name such as Strikezone Integration and optionally add a description.
- Click Save.
2
Add an API Integration Component
- On the package detail page, click Add Component.
- Select API Integration.
- Select Server-to-Server.
- Click Next.
3
Select Read-Only Scopes
On the scope selection screen, enable the following Read permissions. Do not check Write, Send, or Execute on any scope.
| Category | Permission | Purpose |
|---|---|---|
| Read | Reads email send jobs and classic email HTML content via SOAP API. | |
| Documents and Images | Read | Reads Content Builder email assets from the asset API. |
| Campaign | Read | Reads Marketing Cloud Campaigns. |
| Tracking Events | Read | Reads email tracking events like opens, clicks, bounces, and unsubscribes. |
| Data Extensions | Read | Reads Data Extension schemas and rows for contact field mapping. |
| List and Subscribers | Read | Reads subscriber records and profile attribute definitions. |
| Saved Content | Read optional | Fallback for certain Content Builder asset types. |
Strikezone only needs read access. Enabling write, send, or execute permissions is not required for this integration.
4
Save and Copy Credentials
After saving the component, copy these values from the package summary page. You will paste them into Strikezone.
| Field | Label in SFMC | Notes |
|---|---|---|
| Client ID | Client Id | OAuth client identifier. |
| Client Secret | Client Secret | OAuth client secret. Copy it immediately because it is shown once. |
| Authentication Base URI | Authentication Base URI | Base URL used for token exchange. |
| REST Base URI | REST Base URI | Base URL for REST API calls. |
| SOAP Base URI | SOAP Base URI | Base URL for SOAP API calls. |
The Client Secret is shown only once. If you navigate away without copying it, rotate the secret and use the new value.
5
Connect in Strikezone
- Open Strikezone and go to Data Connectors.
- Choose Salesforce Marketing Cloud.
- Paste the Client ID, Client Secret, and subdomain from your Authentication Base URI.
- Continue to field mapping after the connection succeeds.
Visual Checklist
Installed Package -- API Integration (Server-to-Server) |-- Email -> Read |-- Documents and Images -> Read |-- Campaign -> Read |-- Tracking Events -> Read |-- Data Extensions -> Read |-- List and Subscribers -> Read -- Saved Content -> Read (optional)
Troubleshooting
| Symptom | Likely Cause | Fix |
|---|---|---|
| 403 error on email assets | Documents and Images / Read is missing. | Edit the API Integration and enable Documents and Images Read. |
| 403 error on campaigns | Campaign / Read is missing. | Edit the API Integration and enable Campaign Read. |
| SOAP errors on send or email data | Email / Read is missing. | Edit the API Integration and enable Email Read. |
| SOAP errors on tracking events | Tracking Events / Read is missing. | Edit the API Integration and enable Tracking Events Read. |
| Subscriber or contact fields are empty | List and Subscribers / Read is missing. | Enable List and Subscribers Read if contact field mapping is needed. |
| Client Secret not found | You navigated away before copying it. | Rotate the secret from the package and copy the new value. |
| Connection works but no campaigns show | The account has no campaigns in the selected date range. | Check your date range filters in Strikezone. |