---
url: "/emailify/integrations/pardot.md"
description: "Emailify includes a built-in integration with Pardot, which allows you to upload HTML emails directly from the Figma plugin directly to your Pardot templates."
---

# Uploading your emails to Pardot

> Emailify includes a built-in integration with Pardot, which allows you to upload HTML emails directly from the Figma plugin directly to your Pardot templates.

> **Note:** Pardot is now known as [Account Engagement](https://www.salesforce.com/blog/next-gen-marketing-cloud-vision-product-name-change/) in Salesforce Marketing Cloud.

### Video Tutorial: Uploading your emails to Pardot

This video tutorial is a complete step-by-step guide showing you how to upload HTML emails from the Figma Emailify plugin to Pardot.
[Embedded media](https://www.youtube.com/embed/VtVuPmb57cw)

> **Tip:** If you need AMPscript links (for example, `%%=v(@url)=%%`) in your [text paragraphs](/emailify/content/link-paragraphs), Figma's native link field will block them as invalid URLs. To get around this, you can use Emailify's special AMPscript link format instead, `https://ampscript.invalid/?%%=v(@url)=%%`, and Emailify will output the raw AMPscript tag in your exported HTML.

## 1. Create a Connected App in Pardot

If you don't already have one set up, you'll need to create a new Connected App in Pardot, which will give you your **Consumer Key** and **Consumer Secret** to paste into the plugin in Step 3 ([Authenticate with Pardot](#3-authenticate-with-pardot)).

1. In the top right corner of your Pardot admin, click the **Settings Icon**, then click **Setup**.
2. In the settings search bar, search for "App Manager" and click the **App Manager** result.
3. Click the **New Connected App** button.
4. Add a name for your connected app (eg. _Emailify Integration_).
5. Add the contact details of the owner of the Connected App.
6. Check the **Enable OAuth Flows** checkbox.
7. Add `https://figma.com/` as the Callback URL.
8. Under **Selected OAuth Scopes**, add the following scopes below, which gives the app the ability to access and authenticate to Pardot:
  - `Access content resources (content)`
  - `Access the identity URL service (id, profile, email, address, phone)`
  - `Manage Pardot services (pardot_api)`
  - `Perform requests at any time (refresh _token, offline_access)`
9. Check the **Require Secret for Web Server Flow** checkbox input.
10. If shown, ensure **Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows** is not checked.
11. Click **Save**.

## 2. Find your Pardot Business Unit ID

Your Business Unit ID is an 18-character long ID that begins with "0Uv"; you can find your Pardot Business Unit ID by following the steps below:

1. Log into Salesforce using the same account you use to log into Pardot.
2. Click on the **Setup** tab.
3. Find the **Pardot** dropdown and click **Pardot Account Setup**.
4. You may have multiple Pardot business units; choose the Business Unit ID of the one you want to use with Emailify.

## 3. Authenticate with Pardot

In the Emailify export panel, select the **Pardot (API)** option, or a [Padot test account option](#different-pardot-api-endpoints), from the dropdown list, then copy/paste the following Pardot credentials and details into the Emailify export settings input fields:

- **Pardot [Business Unit ID](#2-find-your-pardot-business-unit-id)** (eg. `0UvXXXXXXXXXXXXXXX`)
- **Pardot Username** that you use to login (eg. `name@domain.com`)
- **Pardot Password** that you use to login (eg. `*********`)
- **Consumer Key** from [your Connected App](#1-create-a-connected-app-in-pardot) (eg. `y0Zd2jVHJ5Cc1wQg0l5yMJsXpPs...`)
- **Consumer Secret** from [your Connected App](#1-create-a-connected-app-in-pardot)  (eg. `8C8F8D11A3B7B026A90C5C3...`)

Once you've pasted all of these details in, Emailify will authenticate with your Pardot instance.

#### Different Pardot API Endpoint options in Emailify

If you're using a test or sandbox instance, you can select different Pardot API export options from the Emailify export options. Please see below for what endpoints each one calls:

| Emailify Option     | Authorization Domain                                              | Content Domain  |
|-------------------|----------------------------------------------------------------|--------------------|
| Pardot **API**      | **login**.salesforce.com/services/oauth2/token?grant_type=password | **pi**.pardot.com      |
| Pardot **Test API** | **test**.salesforce.com/services/oauth2/token?grant_type=password  | **pi.demo**.pardot.com |
| Pardot **Dev API**  | **login**.salesforce.com/services/oauth2/token?grant_type=password  | **pi.demo**.pardot.com      |

### Troubleshooting Pardot authentication issues

If you're having trouble authenticating with your Pardot username/password, the most common issue is that Salesforce Multi-Factor Authentication (MFA) has been enabled for the Salesforce user that your integration relies on.

The most common reason that authentication with Pardot fails is related to 2FA issues, but this can often be resolved in Pardot by:

- Changing the **IP Relaxation** setting to **Relax IP Restrictions**
- Changing the **Permitted Users** setting to **All users may self-authorize**
- Enabling the **Allow OAuth Username-Password Flows** toggle in **OAuth and OpenID Connect Settings**
- **Passwords _cannot_ contain special characters** (eg. `#` `%` `&`, etc), and can only be letters and numbers (eg. `mypa55word1234`)

#### Ensuring API integration users work with Salesforce MFA

Salesforce MFA is primarily enforced for interactive user interface logins. API-based integrations can usually continue to work without interactive MFA prompts, but your Salesforce admin needs to configure the integration user correctly.

For Emailify's Pardot API upload flow, the best practice is to use a dedicated Salesforce integration user account rather than a shared personal login.

##### Recommended: use a Salesforce Integration user license

If your Salesforce edition includes **Salesforce Integration** user licenses, assign one of those licenses to the dedicated integration user that Emailify uses.

Benefits:

- These users are designed for API-only access.
- They can't log into the Salesforce UI, so they are inherently exempt from UI MFA prompts.
- They help keep your integration separate from normal user accounts.
- Their API-only profile typically has **API Enabled** set by default.

To check whether these licenses are available:

1. In Salesforce, go to **Setup**.
2. Search for **Company Information**.
3. Open **Company Information**.
4. Look for **Salesforce Integration** under the **User Licenses** list.

##### Alternative: waive UI MFA for a standard Salesforce user

If you can't use a Salesforce Integration user license and your integration is using a standard Salesforce user, your Salesforce admin can exempt that dedicated integration user from UI MFA by assigning a Permission Set with the **Waive Multi-Factor Authentication for Exempt Users** system permission.

To set that up:

1. In Salesforce, go to **Setup**.
2. Search for **Permission Sets**.
3. Create a new Permission Set for your integration user.
4. Open **System Permissions** and click **Edit**.
5. Enable **Waive Multi-Factor Authentication for Exempt Users**.
6. Save the Permission Set.
7. Assign that Permission Set to the dedicated integration user.

If you're using a standard Salesforce user license for the integration, also make sure the user's Profile still has **API Enabled** turned on in **System Permissions**.

##### Additional recommendations

- Prefer a dedicated integration user instead of a personal user account.
- If you're using username/password authentication, keep those credentials and any security token stored securely.
- Test your Pardot connection in a sandbox before enabling MFA-related changes in production.
- If authentication starts failing after an MFA rollout, check the Salesforce user's **Login History** for the exact failure reason.

##### Salesforce references

- [Best Practices for Configuring Your Integration User](https://admin.salesforce.com/blog/2023/best-practices-for-configuring-your-integration-user)
- [Exclude Exempt Users from MFA](https://help.salesforce.com/s/articleView?id=sf.security_mfa_exclude_exempt_users.htm&language=en_US&type=5)

## 4. Upload Email Templates to Pardot

Once your Pardot API connection has been successfully authenticated, you'll be able to specify the following required fields using the inputs and dropdowns that will show up:

- **Sender Name**
- **Sender Address**

- **Campaign Name**
- **Folder Name**
- **Domain Tracking Name**

You can also optionally automatically include [Pardot editable region tags](https://help.salesforce.com/s/articleView?language=en_US&id=sf.pardot_landing_pages_content_regions.htm&type=5) to your HTML template by enabling the **Editable Tags** toggle.

Once you've selected the desired options above, when you're ready, click the **Upload To Pardot** button to start exporting the emails you've selected from Figma to HTML, and have them automatically be uploaded to your email templates in Pardot.
