SAP C4C Account to Marketo Company Data Sync
This section describes the recipe for the data sync between SAP Cloud for Customer Account business object and Marketo Company business object.
SAP Cloud for Customer (C4C) is a cloud solution to manage customer sales, customer service, and marketing activities efficiently and is one of the key SAP solutions to manage customer relationships.
Marketo provides software platforms and technologies designed for marketing departments such as account-based marketing, which includes email, mobile, social, digital ads, web management, and analytics.
Business Use Case
The business purpose of this integration is to extract SAP Cloud for Customer Account records and upsert those to Marketo as Company records.
Custom Fields
Account can be linked to some owner or Employee, hence it is recommended to sync Employee objects before syncing the Accounts to Marketo.
The Account object need to be created or upserted in SAP C4C with the below mentioned custom fields.
Similarly when the Account object gets synced in Marketo, it need to be created or updated with the below mentioned custom fields.
On SAP C4C | Comments |
MKTOCompanyID | Custom field in SAP C4C for Account records in SAP C4C to hold the Marketo Company records id. |
NumberofEmployees | Custom field having the number of employees for an Account. |
On Marketo | Comments |
AccountHouseNumber | Custom field in Marketo to hold the house number for the SAP C4C Account. |
Product Compatibility
The recipe is tested for SAP Cloud for Customer product version 1908.04.0006. Hence the recipe is compatible to run for the tested and older versions of the product.
Account Sync Flow
This integration "SAPC4CToMarktoCompanyDataSync" is designed to run for initial as well as ongoing sync. As part of this initial sync, all the accounts linked to Employees present in SAP C4C will be synced to Marketo. On the other hand, as part of the ongoing sync, the newly created or updated account records will be synced to Marketo for the provided date range. Once the record is successfully created in Marketo, it syncs back the Marketo Company ID in the corresponding SAP C4C Account record (Custom Field: MKTOCompanyID).
The following diagram represents creating a Company in Marketo from an Account in SAP C4C:
Input Parameters
Sl.No | Parameter | Description |
1 | isInitialSync | Set to true in case of initial sync and to false in case of ongoing sync (true/false). |
2 | syncInterval | The sync interval can be entered either in hours/minutes/seconds or all of them and corresponding pattern and time zone if required. |
3 | logRecordStatusFlag | The log status of each record processed. It can either be true or false. |
Operations Used
This recipe has a sub-flow to handle the obsolete contact record in SAP C4C, that is, updateDeletedSAPC4CContactsToMkto.
Sl.No | Operations Used | Application | Description |
1 | querySAPC4CAccount | SAP C4C | Queries SAP C4C Accounts. |
2 | upsertMarketoLeads | Marketo | Upserts Account in Marketo as Company records and if Account is obsolete in SAP C4C then it updates the obsoleteinC4C flag to the Company record in Marketo. |
3 | patchMultipleAccount | SAP C4C | Once records are successfully created in Marketo, it updates the Marketo Company ID in the corresponding SAP C4C Account record in the MKTOCompanyID custom field. |
1. querySAPC4CAccount
Input Filter parameter
Sl.No | Condition | Filter to query records from SAP |
1 | IsInitialSync = True | No filter required. |
2 | IsInitialSync = False | ChangedOn ge datetimeoffset'%fromDateString%' ChangedOn le datetimeoffset'%toDateString%' |
2. upsertMarketoCompanies
Field Mapping
SAP Account | | MKTO-COMPANY | |
AccountID | Standard | externalCompanyId | Standard |
City | Standard | billingCity | Standard |
CountryCodeText | Standard | billingCountry | Standard |
StreetPostalCode | Standard | billingPostalCode | Standard |
StateCodeText | Standard | billingState | Standard |
Street | Standard | billingStreet | Standard |
Name | Standard | company | Standard |
ContactText | Standard | companyNotes | Standard |
EmployeeID | Standard | externalSalesPersonId | Standard |
IndustrialSectorCodeText | Standard | industry | Standard |
Phone | Standard | mainPhone | Standard |
WebSite | Standard | website | Standard |
HouseNumber | Standard | accountHouseNo | CustomField |
NumberofEmployees | Standard | state | Standard |
3. patchMultipleAccount
Once Account records are successfully created in Marketo as Company records, update Marketo Company ID to the corresponding SAP C4C Account record in the MKTOCompanyID custom field.
MKTO - PERSON | | SAP - ACCOUNT | |
ID | Standard | MKTOCompanyID | CustomField |
Name | Standard | Name | Standard |
RoleCode | Standard | RoleCode | Standard |
ObjectID | Standard | ObjectID | Standard |
Usage Notes
In order to add new standard or custom fields to the integration, copy the required field and add it to accList_NullMktoID, accList_WithMktoID, delAccList_WithMktoID, and the delAccList_NullMktoID list while making the upsert API call to Marketo.
In order to change or remove standard or custom fields from the integration, remove the required field mapping and change or remove the field from accList_NullMktoID, accList_WithMktoID, delAccList_WithMktoID, and delAccList_NullMktoID list while making the upsert API call to Marketo.