Configuring Salesforce Marketing Cloud as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Salesforce Marketing Cloud option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need your Salesforce Marketing Cloud credentials for this connection. You can find these in your Salesforce Marketing Cloud account settings. Once you have them, add the account access and the connector configuration. The following configurations are available:-
Subdomain: Your Salesforce Marketing Cloud subdomain (e.g., if your URL is
https://mc123456789.auth.marketingcloudapis.com, your subdomain ismc123456789. You can find this value in the Installed Packages section of Marketing Cloud Engagement Setup.). - Client ID: The client ID from your Salesforce Marketing Cloud app integration. You can find the client ID in Marketing Cloud Setup > Apps > Installed Packages > .
- Client Secret: The client secret from your Salesforce Marketing Cloud app integration.
- Account ID: Your Salesforce Marketing Cloud account ID.
- Search: A search parameter to filter data extensions. This helps you focus on specific data extensions that you want to extract data from (e.g., “Newsletter”, “Customer”, etc.).
2. Select streams
Choose which data streams you want to sync - you can select all streams or pick specific ones that matter most to you.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select a name for each table (which will contain the fetched data) and the type of sync.- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix and make this process faster!
-
Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can determine when to execute a full sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while. Once you are ready, click Next to finalize the setup.5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.For you to be able to see it on your Catalog, you need at least one successful source run.
Streams and Fields
Below you’ll find all available data streams from Salesforce Marketing Cloud and their corresponding fields:Data Extensions
Data Extensions
Stream for managing data extension metadata and configuration information.Key Fields:
id- Unique identifier for the data extensionname- Name of the data extensionkey- API key for the data extensiondescription- Description of the data extensionis_active- Whether the data extension is currently activeis_sendable- Whether the data extension can be used for sendingsendable_custom_object_field- Field used for sendable custom objectssendable_subscriber_field- Field used for sendable subscribersis_testable- Whether the data extension can be used for testingcategory_id- ID of the category this data extension belongs tois_object_deletable- Whether the data extension object can be deletedis_field_addition_allowed- Whether new fields can be added to this data extensionis_field_modification_allowed- Whether existing fields can be modifiedcreated_date- When the data extension was createdcreated_by_id- ID of the user who created the data extensioncreated_by_name- Name of the user who created the data extensionmodified_date- When the data extension was last modifiedmodified_by_id- ID of the user who last modified the data extensionmodified_by_name- Name of the user who last modified the data extensionowner_id- ID of the owner of the data extensionowner_name- Name of the owner of the data extensionpartner_api_object_type_id- Partner API object type IDpartner_api_object_type_name- Partner API object type namerow_count- Number of rows in the data extensionfield_count- Number of fields in the data extension
data_retention_properties- Object containing retention settings:is_delete_at_end_of_retention_period- Whether data is deleted at end of retention periodis_row_based_retention- Whether retention is based on individual rowsis_reset_retention_period_on_import- Whether retention period resets on import
Data Extensions by ID
Data Extensions by ID
Dynamic streams for each data extension containing the actual subscriber and customer data. Each data extension creates its own stream with fields based on the data extension’s schema.Key Fields:
subscriberkey- Primary key for the subscriber record (always present)- Dynamic fields based on data extension schema including:
Field Types Supported:
- Text - String values for names, descriptions, and other text data
- Phone - Phone number fields
- EmailAddress - Email address fields
- Locale - Locale and language preference fields
- Date - Date and timestamp fields
- Boolean - True/false values
Data Model
The following diagram illustrates the relationships between the core data streams in Salesforce Marketing Cloud. The arrows indicate the join keys that link the different entities, providing a clear overview of the data structure. Key Relationships:- Data Extensions contains metadata about each data extension
- Data Extensions by ID streams contain the actual data for each extension
- Each data extension can be linked to others through common subscriber keys
- The
subscriberkeyfield serves as the primary identifier across data extensions
If you encounter any issues, reach out to us via Slack, and we’ll gladly assist you!