Unlocking Powerful Workflow Automation: Practical Applications of Marketo Engage REST API
- Topics:
- REST API
CREATED FOR:
- Beginner
- Intermediate
- Admin
Discover the power of the Marketo Engage REST API, empowering you to streamline your marketing operations workflows, reduce manual labor, and free up time for revenue-driving activities. Using REST API will enable you to leverage automation tools such as Zapier to trigger automated workflows and programming languages like Python to perform actions in bulk.
In this webinar, you will:
- Learn what the Marketo Engage REST API is, how to create your first API user, and how to monitor API usage across different users.
- Understand how the REST API can be used from within tools like Zapier and programming languages like Python.
- Be inspired by real-world use cases of how the REST API can be used to streamline typical Marketing Operation workflows such as merging leads, creating UTM tracking programs, and extracting activity data.
Hi, everyone. So as Amy mentioned, I’ll be walking you through today how you can unlock powerful workflow automation by using the REST API within Marketo. And I’ll be showing you three practical applications that you can take away and start doing right now in your Marketo instance. A bit about me first.
I’m the marketing operations manager at Telnex, and I’m also a blogger and freelancer at the Workflow Pro. Some of you might have come across my blog already. And I put my LinkedIn QR code here if anyone wants to connect with me. A little bit of fun facts about me. And I live in San Diego. I’m obviously from Ireland. I don’t have a typical San Diego accent. And I was born in South Africa, so I’ve bounced around quite a bit from South Africa to Ireland to now San Diego. Like a typical San Diego, I love volleyball, but I actually dislike surfing. It’s one of the most challenging things I’ve ever tried, and I just haven’t gotten the hang of it. So it’s on the back burner for now.
And in Ireland, I studied mechanical engineering. I love problem solving. I love data analysis. But then I came to the US to do a master’s in entrepreneurship, and that pushed me more towards the business side of things. And I think I found a good home in marketing operations now with Telnex because I’m still doing data analysis. I’m still doing automation and problem solving. I’m just doing it in the business domain as opposed to the engineering domain. And when it comes to the Marketo API, it was a bit of a baptism of fire when I first joined Telnex. There were lots of repetitive processes, and as the single Marketo person at my company, at a small startup of about 200 people, it was sucking up a lot of my time every day to keep doing these repetitive tasks. And my engineering team was using Zapier. So I started looking at using Zapier and the Marketo API to automate a lot of these processes to free up time I could put towards more strategic projects. So that’s why I really got involved with Marketo API and learned to inside out. And that’s why I’m here today to share it all with you.
So I’m gonna cover what is an API. So an API is an application programming interface, and it’s a way for two or more programs to communicate with each other. And I know me giving you this technical definition of the internet doesn’t help explain it any better. So I’d like to give an analogy that will help you understand what an API is. So you can imagine API documentation, like a restaurant menu for a software. When you’re looking at the restaurant menu, you’ll see dishes with descriptions. And this is equivalent to all the API requests you can make with an API documentation. And then when you select a certain dish and you tell the waiter, the waiter then goes into the kitchen, tells the chef, the chef prepares the meal, and then the meal gets brought back to you. You don’t see what goes on behind the scenes in the kitchen. You just get a meal delivered to your table. And this is how an API request is made. So once you select an API request from the documentation, you make that request, you send information away, something happens in the background on another computer, and then you get information back, which is similar to the meal being delivered to your table. So this is a nice analogy that you can remember when you’re trying to think of how APIs work.
And there are two main request types that you’ll be using, especially with the Marketo API. One is a GET request, which you use to retrieve information from a system or get information from Marketo in this case. And then there’s a POST request, which is used to send information to a system. And in Marketo, we typically use this for making updates within our Marketo instance, when it comes to assets or making updates to leads within the instance.
And why are API so important? The reason for this is that all software platforms communicate with each other via APIs. It’s the stitching that connects the modern software ecosystem together. And all of the most popular platforms, you know all have an API, LinkedIn, Google Sheets, Gmail, Facebook, and Marketo. That’s why we’re here today. So it’s very important that you at least have an understanding of what they are, because this is how modern software communicates with one another.
So let’s see how we can start using the API within Marketo. The very first step, and you will need admin permissions in order to do this, is to create an API role if you don’t have one already.
So when you go to the admin section, you go to users and roles down here, and then you select on roles over here, and then we’re going to create a new role.
And we’re going to give that role a name. We’re going to select access API here, and then we’re going to click create. An important tip is whenever you’re creating a role within Marketo, it’s always to assign the minimum permissions needed for a role. So if you’re getting a third party contractor in to design your email templates, you’d only give them access to the design studio. You wouldn’t give them access to any of these other permissions here. And in this case, because we’re keeping this internally in the company, this is just API access for you. We’re going to assign all of the API permissions to you so you can test out all the functionality of the Marketo API.
But say, for example, you’re creating an API role, which you want to connect to a business intelligence tool, like Domo or Tableau or Power BI. In this case, you’d only give that tool read-only access to the business intelligence tool. Read-only access to your data, you wouldn’t give it access to anything else. So that’s why it’s always important to give the minimum permissions needed when you’re creating a role.
And then once we have the new role created, we want to create an API user within this role.
So we’re going to go to the users and role sections again, we’re going to go to users, and we’re going to invite a new user. We’re going to enter the email here. And the email doesn’t really matter for an API user because as we’ll see later on, there is no actual invite email sent for an API user. And then we just give it a first name and a last name. You can make these as descriptive as possible if you want, just to let people know that this is your API user for testing the API.
And then we select API only down here to ensure that this user only has API access. And we select the role that we created previously.
Then we hit next. And then all we have to do, as I mentioned before, an invitation is not required for API only users. So that’s why the email didn’t matter. All we do is hit send and that’s our API user created.
And then in order to get our API credentials, which we’ll need for making our first API requests, we need to create a launch point service for this new API user.
So if you go to the admin section, you click on launch point, you click this new dropdown here, and then we’re going to create a new service. We enter the display name. We select the custom service type. We enter descriptions and say, hey, this is our launch point service for testing at the Marketo API. And then we select the API user that we just created in the previous slide.
And then if you click in to that new launch point service, you’ll be able to get the client ID and the client secret that you’ll need to make your first API requests.
And it’s important that you don’t share these credentials with anyone, they’re the keys to the castle. If anyone has access to these credentials and they’ve got bad intent, they could delete leads within your Marketo instance, they could delete programs and delete all sorts of other assets or extract data from your Marketo instance. So it’s very important that, you know, if you’re looking for help in the Marketo forum or you’re looking for help on Stack Overflow or somewhere else online, never share your API credentials in there because then they’re publicly exposed. And if you ever do do that, delete the API launch point service as soon as possible so that no one can use those credentials.
Okay, so once we’ve created our launch point service, before we start making API requests, we first need to make sure that all the current processes we have using the API, like all our connected platforms, need to make sure that they’re below the API usage thresholds of our Marketo instance. So if we go to the web services section within admin, we’ll see this little panel here, which shows us our REST API usage and our bulk API usage. The only difference between these two types of API within Marketo is that the REST API is more useful for modifying assets, modifying leads, and making updates within Marketo. Whereas the bulk export API is more useful when you want to extract large amounts of data from Marketo. And we have an example later on where we’re extracting people’s email activity from Marketo. That’s a case where we’d use the bulk export API because it’s specifically tailored to extract large amounts of data from Marketo.
So that’s the difference between those two.
And if you want to take a look at our REST API usage breakdown in the last seven days, we can click on this hyperlink here and it opens up this window where we can see the API usage for all of our API users over the past seven days.
And we can do something very similar for the bulk export API, where if we click on this hyperlink here, it then gives us a breakdown over the past seven days of how much megabytes each user is using. And you’ll notice that the quota for the REST API is 50,000 requests per day in my Marketo instance. It might be different in your Marketo instance, you can always purchase more if you need it.
So this is measured in calls per day for the normal API, but for the bulk extract API, it’s actually measured in megabytes. So you’ve got a limit of 500 megabytes per day by default, but then again, your instance might be different.
So you want to make sure before you start building any new workflows using the Marketo API, that all your limits with the bulk API and the normal API are below their thresholds.
And it’s very important to have one API user per connected service. So you can see here for like segment, we’ve got a dedicated user for Data Grail, we’ve got a dedicated user. And to tell you why this is so important, I’ll tell you a story of when I joined Telnex, it was a year or two in, and we were exceeding our 50,000 API requests per day quota. And it looked like it was coming from Zapier. And I couldn’t figure out, why is Zapier using so many calls? And it was especially happening on a Saturday and Sunday. And I’m like, that’s so strange. Like most of our workflows in Zapier were a B2B company. We shouldn’t be having such a high workload on Saturday and Sunday.
And then just by coincidence, I was in our business intelligence tool, Domo. And I noticed that our Marketo datasets, which were extracting from Domo, were running on Saturday and Sunday. And then the connection happened in my head. I was like, oh, maybe the Domo integration is using the segment API credentials. Sorry, is using the Zapier API credentials. So that’s why it looked like all of these API requests that were coming from Zapier, they were actually coming from Domo instead. So that’s why it was so confusing. That’s why it’s better for each connected platform you want to connect to Marketo. Make sure you have a dedicated API user for each service. So then you can see a breakdown day over day separated out and they’re not mixed together. Like in that story I told you where all the Domo and Zapier requests were all mixed together under the Zapier user. So that’s what you want to avoid. You want to have a nice breakdown like this per user.
Okay, so now we’ve created our launch point service to get our API credentials. We’ve made sure that all our current connections and all our current workflows are below all our Marketo API usage thresholds. And now the next part of this is taking those API credentials that you have and making your first requests. I highly recommend using Postman to do this. It’s a free API testing tool. And if you check the resources module for the Marketo API quick start guide, it shows you how to make your first request using Postman. And Postman has a very easy to use feature that allows you to take any request and get the code in over 20 different programming languages to make that exact same request. So if you select Python, for example, it’ll give you the Python code to make the exact same requests in Python. So it’s very easy to go from Postman to code. And then if you want to make requests within an I-PASS tool such as Zapier or Workado, you can then take that Python code or code in your favorite programming language and then build those into a code step in Zapier or Workado or something like that.
And then this blog post also walks you through your API limits, which are things like you can’t make more than 10 concurrent API requests at once, or you can’t make more than a certain number of requests every minute. It walks you through these limits.
So this is a great place to go when you’re ready to start making your first API requests. And for the next part of the presentation, I’m going to inspire you to take those next steps and show you why you should be interested in getting started with the API.
So the very first one is doing data analysis with ChatGPT. And in this case, I’m using it to find the best send time for all the leads in my Marketo instance, but you can take the exact same methodology here and use it for any data analysis within Marketo. So the very first step is we’re going to export and gather our email activity using the API and a Python script. We’re going to upload this data to ChatGPT and ask it to get the best send time for each lead in the file that we uploaded. We’re then going to import that best send time into Marketo and then use this best send time to send out our emails.
So the very first part of this, as I mentioned, is we extract the email activity, which is the email delivered times and the email open times for the past 90 days from our Marketo instance, using the API within a Python script. And in the blog post within the resources section, you can find it there. I actually share the Python code that’s necessary to do this. So obviously you’re only getting started with the API. You might not have programming experience, but if you have access to a developer at your company, you kind of walk them through what you’re trying to achieve and they can just copy and paste that code to get started.
So once we run that Python script, this is what the output looks like, where we’ve got a lead ID in this column. We’ve got all the emails that were delivered to this lead over the past 90 days. And then we’ve got all the opened and delivered times for each of these emails.
And that is the input that we upload to ChatGPT. And we say, hey, ChatGPT, this file contains the delivered and open times for the emails received by each lead. Please determine the best time of day to email these leads to maximize the chances that they will open future emails. Note that the times are in UTC time. So whenever you’re using the bulk export API, the times it gives you, which we saw on that Google sheet are in UTC time. So we need to make ChatGPT aware of that. And when I’m asking for the output time, the optimum send time, I ask it to give it to me in the time zone of my Marketo instance, which for me is central district time. So be aware of that. So then the final part of this is I ask it to provide an output table containing the lead ID and the optimum send time in central district time where the time should be to the nearest hour as a digit from one to 24.
And just to answer a few quick questions, which some of you might have when it comes to data privacy concerns when using ChatGPT.
As a default, OpenAI retains your data for 30 days for operational and security purposes, just to make sure you’re not violating their fair usage policy. But then after the 30 days, if you’re using the API, it does not use your data to improve its models. If you’re using the browser, the data may be used to improve the models, but there’s an option to deactivate this in the settings. And if you’ve got a team account, this is actually deactivated by default. So you can see here, the text is quite small, but for my company, whenever I’m in the ChatGPT browser, at the very bottom, it says Telnex official workspaces, chats aren’t used to train our models.
And some just general recommendations, always ensure compliance with local data regulations and anonymize the data whenever possible. So when we looked at the previous Google Sheets slide, let me push this, you’ll notice here that this is all anonymized. There’s no need to worry here because we don’t have any PII in here. It’s all a lead ID and you can’t link this lead ID to any person based on the data that’s in this Google Sheet alone. So always anonymize the data wherever possible. And this is the output that we get from ChatGPT, where we get a lead ID, and then we get the optimum send time for each lead ID based on their previous email engagement when they opened all our emails in the past.
And then all we have to do is do a mapping between lead ID and email address. And then we’ll import the lead ID and the email address, and then we’ll import all these optimum send times with the email address into our Marketo instance using the import list feature.
And then the final part of this, once all these best send times have been uploaded to all our leads, the way we send emails at the best send time for each person is in the flow of our smart campaigns. We schedule the campaign to start running at 12 a.m. midnight, and then we’ve got 24 send email and 23 wait steps, actually 24 send email steps and 23 wait steps. And it’s a bit convoluted to set up the first time, but once you have the setup, you can just clone the smart campaign the next time you want to send an email, so it’s much easier.
But we start at the very top and we say, if the best send time is zero, meaning midnight, then let’s send the email, else if it’s not, we’re not gonna do anything, we’re gonna wait another hour, and then we’ll check if the best send time is 1 a.m., let’s send to all the people whose best send time is 1 a.m., then let’s wait another hour, let’s send to people whose best send time is 2 a.m., and so on until we’ve gone through all the hours of the 24 hour clock. So it is a pain to set up once, but once you do it once, you can just clone it and repeat it.
The next use case I wanna walk you through is merging leads. I know it’s an issue that a lot of people struggle with in Marketo, and when I first joined Telnex, I had a backlog of 30,000 duplicates to merge, and we’re coming up to our contract renewal, and we’re gonna have to go to a new database tier size and pay an increased price because of these 30,000 duplicates, so I needed to find a way to merge them. Obviously, merging 30,000 duplicates by hand manually is not feasible, so I started looking at how we could use the API to automate this process, and there are two main methods. There was one using a Python script to merge the backlog of duplicates that we had, and then the second was having live merging using Zapier, which is as duplicates get created, merge them so that a backlog doesn’t build up in future. Obviously, if you can solve the issue for the duplicates, you need to do that. You should do that first, and then there’s no need for the Zapier workflow to do the live merging, but in the case for my company, just the way processes are set up, we can’t avoid duplicates, so we needed this live merging option with Zapier.
So the workflow, I’ll walk through the live merging workflow first because it’s a bit easier to understand. The very first thing we do is we create custom rules for winning field values, and the reason why this is important, if you’ve ever merged leads using the graphic interface, when you’re about to merge two leads together, it gives you an option to choose, hey, for lead status here, I want to choose renurture rather than prospect. You can choose which field values are prioritized when you’re merging leads. However, unfortunately, when you’re making the merge API request, it doesn’t give you the option to prioritize field values when you’re doing that merge. So what we have to do instead is we have to compare our two leads together in the workflow, and we have to store all these winning field values that we want to be on the winning lead. So in this case, we want the SQL value of lead status to be prioritized over no one because this lead is further down the funnel, so we want to keep that value. So on the winning lead, we want SQL to be prioritized above no one. We want the true value of unsubscribed to be prioritized over the false value.
And we want page search to be prioritized above organic when it comes to lead source. So we’ll define rules for all the fields that are important to us so that when there’s discrepancies between the field values, between the two leads, we know which field value to pick and we want to be on the winning lead. So we’ll store all these winning field values off to the side for the moment. We’ll complete the merge, and then we’ll update the winning lead with all these winning field values.
So that’s what it looks like here in the Zapier workflow where we get the duplicate leads, we select the winning field values that we want to be on the winning lead, we merge the leads together, and then we update the winning lead with the winning field values. And this is how we do it in Zapier where as soon as a lead gets, duplicate leads gets created in Marketo, we add them to a static list and that triggers the Zapier workflow to merge those two leads together. So this is very good on a live basis or go forward basis where you’re merging duplicates as soon as they are created.
But if you’ve got a backlog, as I mentioned before of like 30,000 duplicates, this is where you’d use a Python script, but the logic is very similar where you’re still doing the exact same thing where these two things here are just loops, which loop through all the duplicates in your Marketo instance, but you’re still doing the exact same thing. You’re still getting the duplicates that exist for an email address. You’re choosing the winning field values that you want to be on the winning lead. You’re gonna merge those leads together. Then you’re gonna update the winning lead with those winning field values. And then you’re just gonna loop again and repeat this process. And in this case, we’re repeating the process until we’ve merged all the leads or we’ve run out of token life on our Marketo access token. So the Marketo access token that you need to make API requests, this lets Marketo know, hey, I’ve got the necessary permission to make these requests. And you get this using your API credentials that I showed you how to get at the very start of this presentation. It only lasts for an hour. So that’s why we loop through until we’ve merged all our duplicates or we’ve exceeded the one hour of our token life. So we have to get a new token and then repeat the process. So it’s just a for loop doing these exact, it’s just a for loop doing these exact same three actions over and over again until we’ve merged all our duplicates. And then we celebrate at the very end once they’re all merged. And then the third and final use case that I’d like to walk you through today is how you can create UTM tracking programs for all your ad campaigns. So the way the workflow is triggered is that someone on our demand generation team will fill out a Google form and this triggers the workflow to start running in Zapier. We create UTM parameters based on what was submitted in the Google form. And then we create a Marketo program to track these UTM parameters. And you can check the resources module for the UTM tracking blog. And I also forgot to mention that the blogs for the live merging and the bulk merging are also in the resources section. So check that out. Any of the use cases I’ve gone through here, there is a blog and a walkthrough video in each of those blogs. So you can get more detail and in-depth walkthroughs there.
So the very start of this is that we have a Google form where we ask for the campaign name and we ask them to put it in a particular format with the year, the month and the campaign name. This is the destination URL on our website where the ad goes to. And then we ask them to choose the platform, whether it’s advertising or page search. They select advertising, we ask them to choose between LinkedIn, Facebook. If it’s page search, we ask them to choose between Google, DuckDuckGo, Bing and so on. And then once that Google form gets submitted, we take all the information that was submitted in the form fill and we go to a Google sheet and we build UTM parameters using Google sheets formulas within the Google sheet. So as soon as the information gets populated in the sheet, the Google sheets formulas create the UTM parameters and then we extract those in step number three here.
And then we’ve got the Google form form form. And then we’ve got five consecutive Marketo API requests where we’re getting the access token. And then the end result is that we want to create a Marketo program within the right folder. So at my company, the folder hierarchy we have is that we have a year folder for all our paid campaigns, a month folder, and then we create the program within the latest month folder. So these steps here either get the latest year folder or they create it and they either get the latest month folder or they create it.
And then we find the latest Marketo program for that sub channel. So when they fill out that Google form and they said, hey, it’s a Facebook campaign, we’re gonna find the latest Facebook program that we’re going to clone because obviously a Facebook program we created two years ago might be up to date. So we wanna clone the most recent Facebook program because it’s the most likely to be up to date.
And then we clone this Marketo program. So we’re gonna clone the latest Marketo program and put it in the latest month folder.
And then we’re gonna get the program ID, and then we’re gonna update the program tokens with all the UTM parameters and attribution information that we got from the form fill. And these program tokens are then used in the flow steps of the smart campaigns within this program to update the person’s first search attribution or last search attribution.
And then we also update all the smart campaign descriptions. In this case, I take the UTM parameters and I put those in the smart campaign descriptions because I use those UTM parameters in the smart lists within the smart campaigns. So it’s very easy for me to go to the description, copy the UTM parameters, and then put them in the smart list. And again, a lot of the stuff I’m saying here might not quite make sense because I’m doing it at a very high level. But again, if you wanna check this out in more detail, you can go to the blog post in the resources section. And again, there’s a YouTube walkthrough video to walk you through it all.
So I’ve shown you three very interesting use cases that have hopefully got you thinking. And as maybe a potential future webinar, we’d like to know, we’d like you to pick which of these three you’d like us to dive into more, or maybe there’s something else you wanna hear about, or maybe option E, you don’t even know where to start and you’re just looking to make your first requests. If you vote on these, then this will inform a future webinar that we’ll have. And we can maybe go through another use case, or we can show you how to make your first request using something like Postman and then transition to code and then to something like Zapier. So I’ll give you a minute or two to make your votes and then I’ll wrap up the presentation with our key takeaways and the steps you can start taking today.
Okay.
Okay, let’s see if we can get to 150 and then I’ll move on.
Okay, I think I will move on here because I know Amy has a lot of soft percent, but I think 140, 61% isn’t bad of registrants. Okay.
Okay, so it seems like merging duplicates is the most popular one so far.
And yeah, we’ll let you know if we do a followup presentation on this and we can walk you through both the live merging and the bulk merging that I set up. So yeah, I know this is an issue for a lot of people and it’s a pain to merge people manually or pay for a third party tool. So yeah, we’ll let you know if we have plans to make that webinar in the future.
And some other use cases just to get you thinking about what’s possible is, at my company we clone our Marketo programs at the start of every month or the start of every quarter depending on what cadence we want. And that’s something you can do with Marketo API and you can use Zapier again, where it triggers at the start of every month or every quarter to clone all these programs. You can update period costs in bulk. So if you’ve got all your paid advertising spend for all your different channels, you can map these to their corresponding Marketo programs and update all the period costs over a time range for each Marketo program. And you can also automate your email newsletter creation. So you give a Google Sheet to your content team, they fill out the Google Sheet, they press a button, then via API this creates an email program in Marketo, creates the email and then takes all the content from the Google Sheet and pushes it in to your Marketo email so you can also streamline and automate your whole newsletter creation process.
The three main things I’d like you guys to remember from today is that when you’re creating an API role, always give the minimum permissions necessary. If it’s an email designer, only give them access to the design studio. If it’s a BI tool, only give them access to the read access, only give them access to the read features of the API role. Have a single API user per service so it’s easy to see the breakdown of how much each user is using per day and be extremely careful when sharing your API credentials because of the keys to the castle and someone can do a lot of damage if they’ve got bad intent to your Marketo instance.
And then you can start taking the next steps today. Go to web services, check all your API usage is below thresholds before you start making any more API calls for new workflows. Create your API role and your API user. And again, make sure that each service has their own dedicated API user. And then take the credentials from this launch point service that you create. Go over to the Marketo API Quickstart guide and then you can start making your first requests using a testing tool like Postman. And then you can see a transition to code and Zapier. And then finally start thinking about what you can automate using the API. If there’s anything repetitive that you’re doing, that’s a good indication that you could use the API to automate that process and save time in your day to day.
Now we’ll get to the questions that you left for Tyran. If you haven’t already, please post your questions in the Q&A box. And in the meantime, we’ll start with a couple of questions that we have received in the Q&A section.
So Tyran, maybe you can start from this question. How do you know which set of records among all the duplicates are the duplicates of each other? Do you run a smart campaign per record? So I think the question is asking like, how do I get the duplicates into the Python scriptures up here? So you’ve got it in your database section where you can see all your possible duplicates. So what you have to do there is export that as a list view and make sure that the list view contains all the fields you care about when merging. So if you care about the lead source, make sure that’s in there. If you care about their lead score, make sure that’s in there and export that list view of the possible duplicates smart list from your database. And that’s what you bring into the Python script. Or if it’s Zapier, there’s a trigger for a duplicate being created, and then you can add them to a list, and then you can use that add to list trigger to trigger the Zapier workflow to run. So yeah, for me, that’s how we did it. Our possible duplicate smart list is based on email address, and that’s what we’re using to identify duplicates in either the smart list or the smart campaign that adds them to the static list to get them into Zapier.
Okay, so hopefully that helps. And please just leave questions in the Q&A section, or if you wanna chat with other attendees, leverage the attendee chat as well to further discuss this topic. Another question’s on API user creation. Does the email address matter since it’s not a true user account? So instead of using real email address, can you use fake email address? I’m thinking about this from a scalability perspective where a new API user would be created per integration. Yep, the email address doesn’t matter at all. So you can make it something descriptive, like apitestingattheworkflowpro.com is the example I had. Just make sure that it’s somewhat indicative of what the role will be doing or what the user will be doing.
Okay, great. So another question here is about what are the best practices for removing OAPI custom services? Is it good to delete them straight away? Data records will still have their references. Also, how to interpret the API usage, requests made in the last seven days tab in admin section to measure the usage rate, any documentation around it.
Yeah, if you go to the Marketo API Quick Start Guide, it does talk about documentation for API limits and also how you can monitor your API usage, but I’ll just go back to the slide quickly.
So they’re asking how you can interpret this. These are all your API users, and you can see how much each is using per day, and then the total sum down the bottom. So for me, I want this total sum to be below 50,000 every day.
And when it comes to deleting old services, this is a good place to check first. Like you’d want to make sure that before I delete the Data Grail integration, I wanna see zeros here for the past seven days, or actually it won’t appear in here at all. So if it’s made zero requests, I’m pretty sure it doesn’t appear in this report at all. I’m the same for the Bulk Extract API. So that’s a good indication that you can delete it because it’s not making any API requests. So that’s what I do first before deleting any API users. Make sure that the usage for the Bulk API and the normal API is zero before you do so. And then you can delete it.
Okay, great. One more question here, and we may be at time. There’s a question about, could you use the API to export subscription preferences for the entire database to a CSV? Yes, you could. So if you wanted to export a list, you could export a list instead where you’d build a smart list, you’d bring in all the fields you’re interested about, all the subscription fields into a list view, and then export that. The Bulk Extract API is more useful for like getting activity data, like I showed you email activity. But when you want to export fields on leads, I think building a smart list and then getting a list view with all those fields in it is a much easier way to go than just using the API. Okay, thank you, Tarun, for answering the questions. We are at time. And so we will be going through the rest of the questions at the end and get Tarun’s input and writing. So be sure to follow the community posts that we share in the resource section. We hope to see you in our next webinar. And if you would like to ask further questions from the experts, please join the Marketo Engage Champion Office Hour on May 9th. Thank you and we’ll see you next time.
Join the conversation on the Marketing Nation Community Webinar Thread.