How to export Zendesk macros and bulk import them with Salto’s free app

Written by
Pablo Gonzalez
Business Engineering Architect
July 7, 2022
min read

Table of Contents

View all guides


Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

This is some text inside of a div block.

My name is Pablo and I’m a Certified Zendesk Support Admin.

In this article, I'll show you how to export Zendesk macros, make changes, and re-upload them in just a few steps with our 100% free and open-source command-line app: Salto

Note: If you are not comfortable with using a command-line app, the same steps shown here can be followed using our user-friendly SaaS offering. See it in action here: Zendesk | Making bulk changes in your configuration.

Experience the Ease & Confidence of NetSuite Customizations with Salto

Get started with Salto

Easily export, edit, and upload your Zendesk macros

Request a Demo ≥

Why export Zendesk macros?

There are a few reasons you may want to export your Zendesk macros, such as.

Zendesk Backup

You may want to keep a backup of your Zendesk macros locally or upload them to a GitHub repository.

I'll show you how to do this, but here's a teaser of what the backup will look like:


Isn't that awesome? :)

Bulk Importing Macros

You may want to make bulk changes across your macros and re-upload them. For example, this may be necessary if you are changing some terminology across your entire Zendesk instance. That'll be the scenario of this article.

Translating Macros

Perhaps you want to translate the text in your macros, so you want to prepare a file to send to a translation agency and then upload the translated macros.

Other business rules

While these use cases are primarily about macros, they also apply to business rules like triggers, automations, and even ticket fields.

Salto can download and re-upload the vast majority of Zendesk configuration types.

With all that out of the way, let's get to it!

Installing Salto

The first step is to install the Salto CLI on your computer. The easiest way is by downloading its latest binary from the GitHub Releases page per your operating system type (MacOS / Linux / Windows).

Once you've downloaded the binary, it is advised to copy it somewhere safe and add it to your path.

For example, on Mac (using zsh) one could do:

mkdir ~/salto
cd ~/salto
curl -Ls https://github.com/salto-io/salto/releases/latest/download/salto-macos.tar.gz | tar -xzf -
echo "export PATH=$PATH:~/salto" >> ~/.zshrc
chmod +x ~/salto/salto
cd -

Exporting your Zendesk configuration

Now, create a new folder called Zendesk and go to it.

Once there, use the salto init command to create a new salto directory.

Then, use salto service add zendesk_support to log in to your Zendesk instance. Provide your username, password, and Zendesk subdomain.

Once logged in, use the salto fetch command to export all your Zendesk configuration.

Now you will find a folder called zendesk_support. You can now open this folder in your favorite code editor (in my case, VSCode), and just like that, you have all your Zendesk configuration downloaded to your computer!

Notice that not only macros were exported. There’s everything from automations, SLAs, ticket fields, etc.

Reviewing your Zendesk configuration

Now you can browse through your Zendesk configuration. For example, this is what one of my macros looks like:

If you are wondering, this is not JSON but instead NaCl (Not another configuration language), which is the language Salto uses to describe your Zendesk configuration.

Making bulk changes across your Zendesk macros

Now, let's say that I want to change the term "success agent" to "support engineer" across all my macros and any other configuration that uses that term. I'm using VSCode's Find and Replace functionality to easily change all instances of "success agent".

Now my macros and other configuration represent the desired state of my Zendesk instance.

Once I've made the change, all I have to do is use the salto deploy command. Salto will determine what has changed and automatically include those files in the deployment.

Once you confirm the desired changes, Salto will use the Zendesk API to deploy all the changes in a few seconds.

And that's it! Log in to your Zendesk instance and you’ll see all your changes were made.

Backing up your Zendesk configuration

Now let's see how we can back up this directory in a GitHub repository. All you have to do is use the following git commands to commit the entire folder:

git init
git add .
git commit -m
"initial backup"

Then, you can follow the instructions on GitHub on how to upload this directory to a GitHub repository. In my case, I used the following commands:

And here’s the end result: https://github.com/salto-io/zendesk-export-macros-bulk-import-zendesk-macros/tree/main/Records

Get started with Salto

Discover a better way to manage your Zendesk instance

Request a Demo ≥

Tips & tricks from Zendesk masters

Subscribe to our newsletter to learn how to customize Zendesk and keep your agents happy

This is a monthly email with educational content. No spam (we promise).

Zendesk Administration Reimagined

Now you see how powerful it is to have your Zendesk configuration in Salto's NaCl format.

At Salto, we are reimagining how Zendesk Admins manage their Zendesk instance. We have a free SaaS version of this product that comes with some really awesome capabilities for Zendesk admins, such as:

Being able to see where ticket fields are being used

Easily finding broken triggers

And a lot more!

That's all I have for today. I hope you found this useful!

Written by
Pablo Gonzalez

Pablo is a Business Engineering Architect at Salto. He is the developer of HappySoup.io and has 11 years of development experience in all things Salesforce.

Written by