Software tips, techniques, and news.
As one of the top email marketing platforms, Salesforce Marketing Cloud provides the ability to create marketing email campaigns that scale from a handful of customers to millions. And with Salesforce Marketing Cloud's SOAP API and automation tools, you can automatically import email engagement statistics into your FileMaker application and link them to customers and prospects.
The first step is to create a new app package from the Salesforce Marketing Cloud setup page.
Once created, the client ID, client secret, and base URIs can be used to begin the process of authenticating your FileMaker application with the Salesforce Marketing Cloud SOAP API.
Using OAuth 2, example calls to authenticate with the Salesforce Marketing Cloud API and receive an access token are included in the sample file at the end of this article. The body of the token request includes your client Id, client secret, account ID, and grant type. Your account ID can be found on the Salesforce Marketing Cloud dashboard by clicking on your business unit's name. Once an access token has been retrieved, you can use FileMaker's Insert From URL script step and supply your SOAP base URI and cURL options to pull statistics from Salesforce Marketing Cloud. You can specify which objects and object properties you would like to retrieve in your request body.
The API's response will be returned as an XML object and will require parsing. Using the BaseElements plugin by Goya, we are able to parse out the data we need with the XPath function. In the example file, we download an array of send objects with stats such as, total clicks, opens, bounces, and unsubscribes. A send object contains a collection of information for a batch of emails sent.
To retrieve detailed information on individual users who interacted with a particular email, an automation can be set up on Salesforce Marketing Cloud to export a .csv file of interactions in a specified interval to a business unit's FTP. On FileMaker's end, a script can be used to parse this .csv file from the FTP to create records for individual interactions.
First you will need to set up an FTP for your Salesforce Marketing Cloud account. You can do so from the Salesforce Marketing Cloud dashboard by going to your user setup page and selecting FTP Accounts from the Data Management section.
To set up a new Salesforce Marketing Cloud automation, select the Automation Studio option from the Journey Builder dropdown menu on the dashboard page. From here, click the New Automation button. This screen features a drag and drop interface to set up different automations.
First, create an automation that has a Schedule starting source and drag a data extract as the first step. The data extract step can be configured to export various fields for each interaction and the file format of the extract. At the minimum, we recommend selecting the following items on the extract:
Second, drag a file transfer to the canvas. In this step, the export name and destination can be set. The destination will be selected as the FTP you set up earlier. Since SFTP is used for Salesforce Marketing Cloud and FileMaker's Insert from URL script step doesn't support SFTP, data can be imported into FileMaker using the BaseElements plugin. The HTTP_GET, HTTP_GET_File, and Unzip functions can be used to download and unzip the file exported by Salesforce Marketing Cloud. Included with the sample file is an example .csv file of clicks that was generated by a Salesforce Marketing Cloud data extract.
If you're looking to automatically import email engagement statistics into your FileMaker application, the Salesforce Marketing Cloud API and automation tools makes downloading data seamless. Contact us if you need help integrating your FileMaker application with Salesforce Marketing Cloud!
Did you know we are an authorized reseller for FileMaker Licensing?
Contact us to discuss upgrading your FileMaker software.
Aaron is a Certified FileMaker Developer and Web Developer who approaches solutions to problems from a logical standpoint and puts a high priority on the accuracy of his work.