<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tony Zupancic</title>
    <description>The latest articles on DEV Community by Tony Zupancic (@tonyzupancic).</description>
    <link>https://dev.to/tonyzupancic</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F346020%2Fc9d52dd4-ca5c-47a2-9cc4-cd6417de8de9.jpg</url>
      <title>DEV Community: Tony Zupancic</title>
      <link>https://dev.to/tonyzupancic</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tonyzupancic"/>
    <language>en</language>
    <item>
      <title>Using BLDR(SFMC) as a workflow tool.</title>
      <dc:creator>Tony Zupancic</dc:creator>
      <pubDate>Sat, 21 Jan 2023 19:00:08 +0000</pubDate>
      <link>https://dev.to/tonyzupancic/using-bldrsfmc-as-a-workflow-tool-1k4e</link>
      <guid>https://dev.to/tonyzupancic/using-bldrsfmc-as-a-workflow-tool-1k4e</guid>
      <description>&lt;p&gt;In a previous post, I introduced &lt;a href="https://bldr.io"&gt;bldr.io&lt;/a&gt;; an Open-Source Command Line Interface (CLI) that integrates with Salesforce Marketing Cloud (SFMC) to provide users access to their assets/files within the platform from their local environment and the ability to modify them without having to copy/paste/update them in the platform. &lt;/p&gt;

&lt;p&gt;In this post I want to dive into how builder can be used within a team setting to manage projects within SFMC leveraging GIT.&lt;/p&gt;

&lt;p&gt;Suppose you work on a team with Email Developers and Production Specialists.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Email Developers are usually team members who are responsible for taking the email design/creative and ensuring that it will render correctly across the various email clients.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Production Specialists are usually team members who are responsible for putting the final touches on the emails before it goes out the door.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In my previous roles, these two team members are split for various reasons. Email Developers may not have final image assets, final links, or have in-depth knowledge of an ESPs scripting language (in the case of SFMC - AMPscript). So they will typically use placeholder images and links to keep their process moving.&lt;/p&gt;

&lt;p&gt;So how can BLDR help with this flow?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Marketing Team receives creative brief for campaign/series of emails to be worked on&lt;/li&gt;
&lt;li&gt;Designer creates email designs or provides templates for build&lt;/li&gt;
&lt;li&gt;HTML Developers start working on coding the emails and checking render tests&lt;/li&gt;
&lt;li&gt;Developer passes file to Production Specialist to update image URLs, links etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Right about here is where the inevitable changes happen; rendering issues pop up, image URLs change, links change... any number of updates/adjustments need to happen.&lt;/p&gt;

&lt;p&gt;Now if you're currently using some form of Version Control for your email development process, you're already ahead of the game. However, as well all know, it's easy to make quick updates directly in SFMC and forget to pass them back to GIT.&lt;/p&gt;

&lt;p&gt;Through leveraging BLDR to manage pushing/updating your code in SFMC you now make GIT and your local version the source of truth. &lt;/p&gt;

&lt;p&gt;In addition to it being the source of truth, your team can leverage branches to work in tandem!&lt;/p&gt;

</description>
      <category>sfmc</category>
      <category>email</category>
      <category>bldr</category>
    </item>
    <item>
      <title>Use Salesforce Marketing Cloud? Let's talk about your workflow!</title>
      <dc:creator>Tony Zupancic</dc:creator>
      <pubDate>Fri, 09 Sep 2022 23:40:30 +0000</pubDate>
      <link>https://dev.to/tonyzupancic/use-salesforce-marketing-cloud-lets-talk-about-your-workflow-cbb</link>
      <guid>https://dev.to/tonyzupancic/use-salesforce-marketing-cloud-lets-talk-about-your-workflow-cbb</guid>
      <description>&lt;h2&gt;
  
  
  The "Typical Workflow"
&lt;/h2&gt;

&lt;p&gt;Salesforce Marketing Cloud (SFMC) is split into a few different areas: Content Builder (emails, content blocks, images), Automation Studio (automations, server-side javascript, queries), Journey Builder (1:1 customer flows).&lt;/p&gt;

&lt;p&gt;Let's talk about Content Builder, SFMC's email and content block builder, as it's arguably one of the most used areas of SFMC. In Content Builder, you can create HTML Paste emails and Template Based emails using the WYSIWYG editor. &lt;/p&gt;

&lt;p&gt;In addition to the emails themselves, you have the ability to create re-useable modules called content blocks. These content blocks can be included in Emails, Scripts, CloudPages (we'll get to CloudPages in other posts), even other content blocks.&lt;/p&gt;

&lt;p&gt;Depending on your project, it's typical (and a good practice) to split out code into modules. Splitting code into modules when possible, keeps like AMPScript blocks or Server-Side JavaScript functions together and helps when it comes to troubleshooting. If you take a fairly complex Email with a handful of modules, throw in some organization (cause who doesn't love a good folder structure), just setting up a project can become a time-consuming task in-and-of itself.&lt;/p&gt;

&lt;h3&gt;
  
  
  Let's go through the (abridged) steps
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Log into SFMC&lt;/li&gt;
&lt;li&gt;Navigate to Email Studio (wait for it to load)&lt;/li&gt;
&lt;li&gt;Navigate to Content Builder (wait for it to load)&lt;/li&gt;
&lt;li&gt;Left Click &amp;gt; Enter Folder Name &amp;gt; Hit Enter &lt;/li&gt;
&lt;li&gt;(Find your folder because it doesn't automatically take you there)&lt;/li&gt;
&lt;li&gt;Click on the Create button &amp;gt; select your content type&lt;/li&gt;
&lt;li&gt;Code or Copy/Paste&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Congratulations! As long as you made it past the infamous blue wheel, you created an asset!&lt;/p&gt;

&lt;p&gt;As you can imagine, a project with a handful of content blocks or emails could take a while to set up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing BLDR for SFMC
&lt;/h2&gt;

&lt;p&gt;Bldr is an open-source CLI tool that allows you to pull your files out of SFMC, update them, send the updates back to SFMC, and push them to version control; all from your command line, all without copy/paste. &lt;/p&gt;

&lt;p&gt;As a CLI tool, it allows you to use any code editor that you want and since bldr does not try to re-invent the GIT flow, it fits into your existing git provider; you can use the terminal or a GUI to manage your git files.&lt;/p&gt;

&lt;p&gt;If you even know a little bit of how to use git...&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone {{ repository url }}
git add . or {{ path to file(s) }}
git commit -m "commit message"
git push
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;...you will feel right at home with bldr; and if not, it's really quite straight forward.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bldr clone --cb -f {{ folder id }}
bldr add . or {{ path to file(s) }}
bldr push
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No more Copy/Paste, No more browser hiccups that make you loose code, No more 4 clicks to create/update an asset.&lt;/p&gt;

&lt;p&gt;In the following posts, I'll go into each core area of bldr; detailing how to use each command and how they interact with SFMC. &lt;/p&gt;

&lt;p&gt;If you're looking for more details or interested in getting started, visit &lt;a href="https://www.bldr.io"&gt;bldr.io&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>sfmc</category>
      <category>email</category>
      <category>bldr</category>
    </item>
  </channel>
</rss>
