MARDREAMIN’ SUMMIT 2025
MAY 7-8, 2025 IN ATLANTA - GA

Days
Hours
Minutes
Seconds
🎉 The Event Is Live! 🎉

NOW PLAYING

View the session live or catch the replay here. You’ll find the recording and all related resources on this page once available.

Looking for the Chat?

Our live discussions are happening over in Slack. That’s where you can connect with speakers, join session threads, and chat with other attendees in real time.

Intro to BLDR: An Open-Source Workflow For Salesforce Marketing Cloud

Time spent using the standard Salesforce Marketing Cloud (SFMC) workflow of in-browser code editors or copy/paste from your favorite integrated development environment (IDE) can be less than enjoyable.

For example, if (when) your browser crashes or refreshes… When you go to use that handy stored code snippet and it’s not there… When you make an update, and you get the dreaded 500 error… We’ve all been there.

Implementing BLDR in your everyday workflow can be seamless and bring your SFMC workflow — where you are comfortable — into your code editor. Not only that, it saves you time by allowing you to update assets in SFMC without leaving your editor. It also adds peace of mind thanks to the ability to use any GIT provider for version control. If you are even a little bit familiar with using GIT in the command line, BLDR will feel as

Keep The Momentum Going

Salesforce Live Fireside Chat REPLAY

Video Transcript

Speaker 0: Hello, and welcome to my session on an intro to builder, which is an open source, uh, command line, uh, interface. Um, my name is Tony Zupancic. And a little bit about myself, I am a, uh, been in Salesforce marketing cloud for around five years. I’m a marketing champion. I’m an admin to how to SFMC. I’m also one of the cofounders, and I do a lot of web application development. First off, I wanna give a huge thank you to our sponsors. Um, without them, our dream would not happen. So thank you very much for the opportunity to speak. So what is the inspiration for Builder? Um, which I’m gonna check, make sure that I am seeing this. Alright. Uh, so what is the inspiration for Builder? So as I mentioned, I’ve been in marketing cloud for around five years. Um, I have touched everything from HTML email development to campaign management to automations and custom cloud page development. Throughout all of those endeavors within the Salesforce Marketing Cloud platform, um, there have been a little bit of differentiation between the workflow that you have within Salesforce Marketing Cloud, uh, and what the standard web development workflow has. Um, and a lot of those, uh, dissimilarities can be solved for within Salesforce Marketing Cloud, and that’s where Builder came in at. So one of the biggest things that I’ve had issues with is I like to use my own text editor. I like to use version control to make sure that I have everything backed up. Um, and neither one of those options really fit well in the Salesforce marketing cloud workflow. Um, so that’s where we got the inspiration for builder app. So what is builder? Um, first and foremost, builder is a workflow tool. So what builder does is it allows you to update and create files within Salesforce Marketing Cloud, so your assets within Salesforce Marketing Cloud from your local working environment. You don’t have to copy and paste your updates or your assets back and forth into Salesforce Marketing Cloud if you’re using your own local text editor. The best thing about it is that you can bring your own code editor, and you can bring your own Git provider. And what I mean by that is builder does not care if you’re using Versus Code, Sublime, or Brackets, or any of the other IDEs that are out there. Um, and it does not care if you’re using GitHub or Bitbucket or no Git provider at all. Um, you’re still able to utilize Builder all the same. So Builder at its core is an open source command line interface app. So what that means is that it’s free to use, it’s open to community contributions, and it has an open code base. So if you want to dive in and see how Builder is created, um, and if you want to contribute, those options are there. Um, all the code is publicly accessible, and you can go in and dive in as much or as little as you want. One of the really cool features about Builder, um, that is currently in beta that is a future feature is being able to package assets into a single, uh, file with all your dependencies and being able to share them with your Salesforce Marketing Cloud community or your internal teams. And then from those packages, being able to deploy them into any Salesforce Marketing Cloud instance that you point your builder, uh, instance to. So why builder? Um, why do you need a tool builder, and what can it do for you? So using Builder, you’re able to code using your own tools. Um, so there is no need to really work within the in browser, uh, uh, text editor that is within Salesforce Marketing Cloud, which means that you have access to IntelliSense, Emmet, your code snippets. Um, anything that you are comfortable within your own local settings, you have access to. And you can then take that and, uh, push your assets or update them within Salesforce Marketing Cloud. You don’t have to worry about losing your work due to accidental browser refreshes. Um, so we’ve all been there. So you’ll be working in your the in browser text editor, and then your browser will refresh and you’ll lose your updates, or you’ll lose Internet connection and you won’t be able to save your asset. By working locally, you don’t have that worry. You don’t have that concern. With builder, you are clicking less. So in order to edit some content within marketing cloud, it might be three clicks. It might be five clicks. Um, when it’s in your local text editor, you don’t have to click through all of the assets just to get to your content. It’s right there in your file. And, again, you’re able to leverage your Git, uh, in any way that you want, any workflow you want, whether you use that through command line or if you use that through, um, a graphic user interface, uh, such as GitHub Desktop. Builder is secure. So one of the big things that we wanted to do when we were working on builder and it’s initially, uh, building it is make sure that your API credentials are handled with the utmost care and security that we can. Um, so with that said, all of the API credentials are managed either through your key chain access on Mac or your Windows credential manager on Windows. Uh, so everything is encrypted, and everything is stored where a password or credentials should be stored. Recently, Builder has had a fairly large enhancement in the way of being able to use OAuthnication to enforce that Salesforce Marketing Cloud login. So if you’re in an instance where you have to enforce that login in order to be able to use a third party tool like Builder, that option is there. With builder, the packages that will be able to be created from this, uh, will make your workflows substantially more efficient. So when you are standing up an instance or doing a repeatable process, You can have a package that you can then deploy into Salesforce Marketing Cloud in a matter of minutes rather than taking hours to rebuild or have to copy and paste all your assets over into the new instance. And then as far as efficiency goes, with builder, you’re able to work with and create your assets in bulk. So how do you get started with builder? Um, some of the requirements are fairly simple and are standard on most, uh, computer setups. Node. Js and then your Salesforce Marketing Cloud instance. The way that you can install it is through that NPM script that’s on the screen, uh, making sure that it’s a global package. Uh, so that way you can utilize Builder in any of the instances that you’re able to actually use your command line. So if your IDE has an integrated terminal, you can use it right there in your IDE. So full getting started documentation is up at builder.i0 for a complete list of, uh, steps on how you can set up your installed package and get up and running with builder, uh, fairly quickly. So let’s start with getting configured. So getting configured is the first step, um, in working with Builder. So each instance that you set up will have its own specific instance name. The really cool thing about Builder is that you can support multiple marketing cloud accounts. Uh, so if you work at an agency or somewhere that has two or three different marketing cloud accounts, you’re able to use the same instance of Builder and configure all of them separately, uh, so that you can, uh, very, very easily target between any of them, uh, and never really have to change your workflow. The first thing that you wanna do once you’re configured and up and running is so you don’t have to go in and, uh, find your folder IDs or your asset IDs specifically. You’re able to search right within builder, right within your command line interface. So how this works is there are context flags that use, uh, dash dash c v and dash f and dash a. So what that does is it tells builder that you wanna search for content builder folders. And then whatever that folder name is, then it’s gonna pull back your results to get you all of your ID, uh, uh, information that you need. And you can do this across assets and folder IDs, uh, across a various amount of areas in the marketing cloud. So once you search and once you find the assets that you want, you’re able to clone your assets down to marketing to your local environment so you have them locally where you can work on them in the comfort of your own IDE. So with that, there’s a clone command that works very similar to the search command that was just on the screen previously with the context IDs. The only difference is that you’re using that, uh, folder ID or the asset ID that is associated with that, and it’ll bring it down. So with local files, you have more control. Um, so what I mean by that is you don’t have to necessarily work within the folder structure in Marketing Cloud to navigate through your folders. You can go through and easily pull those files up in your, uh, IDE so you can edit or just view them as needed. You have more control in the sense that you don’t lose your file history when you’re making changes. Um, so because of the fact that it is in your text editor, it has a deeper, uh, history for that specific file, so you’re able to revert changes as needed. Um, and then you’re efficiently able to create file folder and structures um, right in your local environment and then push them directly into your Salesforce Marketing Cloud instance through the initiation command. So what I mean by that is you’re able to start a file or start a project outside of Salesforce Marketing Cloud, create all of your folders, create all of your assets, and then push everything in in one breath to Salesforce Marketing Cloud. So what can you search and what can you clone? Where does builder actually have reach? So where are you actually able to use it? Um, so in content builder, you’re able to use it against folders and your assets. Same thing in data extensions. So you’re able to search and clone down in those areas. Automation Studio is a little bit more granular where you’re able to search by automation folders and assets, SQL query activities, folder and assets, and then script activities, folders and assets. Um, something with the automation studio, uh, with automations is that when it brings down that automation, um, from Marketing Cloud, it’s also going to go in and identify the steps and the activities within that Salesforce Marketing Cloud automation, and it’s gonna bring those files down with it. So updating and creating assets within builder. Um, so whether you are initiating your project locally or whether you are cloning an existing set of assets down to your local environment from marketing cloud, um, your assets will come down in one of two ways. Uh, either either gonna be fully supported or they’re gonna be partially supported. The list of assets on the screen are what is called fully supported assets. And what I mean by that is those assets are gonna come down as fully text editable files. Um, so you’ll see a SQL query or a script activity come down exactly as you’re gonna see it and be able to edit it within Salesforce Marketing Cloud. Uh, same thing for HTML emails and code snippet content blocks. Anything that’s not on that list, which is assets that typically fall into the block and slot model within Salesforce Marketing Cloud, come down as JSON files. So they come down as JSON files. You’re still able to update, manipulate those files, and push them back into Salesforce Marketing Cloud. Where the efficiency comes in with updating and creating the assets with builder is, again, you’re able to update and edit more than one file at once. So you can go in, make a series of updates across five or six different files, and then you’re able to push all those files in in one command, uh, rather than having to click in and out and make those updates across all five blocks within Salesforce Marketing Cloud. You’re also able to update and add files, uh, create new files at the same time. With when you do that, like you’ll see on the screen, when you’re adding them all, it’s going to prompt you to say, this is a new file that’s not recognized. Um, let me know what kind of file it is, and then it’ll push it into Salesforce Marketing Club. So as I mentioned before, there is the ability to package your assets into, uh, a single JSON file and deploy them into another marketing cloud instance. Um, this is something that is relatively new and is still in development. Um, right now, it is scoped for content builder and data extension assets. And as you go through and package your files, what builder’s gonna do is it’s going to go through the various kinds of AMPscript functions and server side JavaScript functions. When it finds one of those function references, it’s going to identify the dependency that you’re calling in, whether that is a data extension or another content block, and it’s gonna gather those dependencies and bring them all into your package. So what that means is that if you have data extensions that your email or assets are calling, it’s going to grab the schema for that data extension, and it’s gonna become a deployable asset within that package. So here’s a a quick glimpse of what that package file looks like. Um, and as you can see, there is that dependency section where all those dependencies get listed, and they have a random identifier that is attached to it. Um, so that when those files are then deployed into another Salesforce Marketing Cloud instance, the new user that is deploying those packages will not have to update the asset IDs, um, or whatever that anchor link is for those, uh, AMPscript or server side JavaScript functions. Uh, they will be created before the asset with dependencies gets created and then updated in those files before they go into Marketing Club. So how do you go through and deploy these, um, once you have them created the packages? So right now, it’s using GitHub. So if you go through and you create a, uh, GitHub repository that is a public repository, you bring down your assets and you package those files for that repository. Then you commit those changes, and you commit that package to the public repository. A user could then go in and do a builder install for that GitHub URL. It will bring down that package file, the readme file, and any configuration files that are, uh, within that package. And then they can then deploy it into the instance that their builder instance is pointing to. And that way, you’re able to actually share code between your teammates, share code between community members, and share code amongst your peers. So how do you actually share that code? Um, this is something that is, uh, in current development, um, and hopefully will be released and made accessible, uh, within the next few months. And this is the actual builder.io web application where you are actually able to create an account. You’re able to take that public GitHub repository and submit that package to that repository. Once you submit that package to that repository, it’s going to create a searchable database record where anybody that is looking for a, uh, Salesforce Marketing Cloud package or set of code can come in and search that repository and search the database of, uh, builder packages and have access to that open source code. So that if you are a community member who has a blog, for example, and you have a system of code blocks or a cloud page setup that you wanna share with your community, and it has a handful of different assets. Rather than having your readers or your community go and copy and paste and set everything up themselves, you can then create a builder package based off of your code blocks, submit that to the builder package repository, and then your users can come here and find that, um, URL and then deploy that without having to copy and paste all of those assets directly into Salesforce Marketing Club. So that’s a little bit about builder. It is something that is currently in, uh, fairly rapid development and, again, is, uh, open source. So if you’re looking to contribute, we are always welcome for, uh, contributions in any way, shape, or form, whether that is testing, whether that is getting hands in on the code, um, or just being a voice to shape the future of builder. Um, I am accessible on a lot of different channels. So I’m on the how to SFMC Slack channel, the Email Geek Slack channel. I’m also on Twitter at both of the handles there. And then, uh, occasionally, I do stream the development of Builder on Twitch. Um, so you can find me there as well, uh, and see how builders actually progressing, um, in real time. So, again, thank you so much for your attendance in the session. If you have any questions, please do, uh, reach out, and I’m more than happy to have conversations around builder or any other marketing cloud content. Alright. Thank you so much.