Get Started as an Account Engagement ISV

Account Engagement, Salesforce’s B2B marketing automation tool, is designed to help businesses of every size:

  • Find more leads and convert them faster with content that resonates.
  • Engage buyers on their terms with tailored, relevant campaigns.
  • Deliver connected experiences by aligning marketing, sales, and service teams so that they can win deals and build customer loyalty.
  • Act on insights by tracking marketing performance all in one place.

Watch a demo for more insight into Account Engagement.

Account Engagement Pricing

Becoming an Account Engagement App Partner allows you to develop and sell solutions on AppExchange. Becoming a PDO lets you consult and build Account Engagement apps for ISVs and other customers.

Becoming an Account Engagement App Partner is an opportunity to help grow your company by integrating with an industry leader and gain exposure to Account Engagement’s users. The ISV partner program not only provides increased exposure by listing on Salesforce’s AppExchange but also opens up opportunities for co-selling & co-marketing opportunities.

The only partner program that Account Engagement supports is the ISVForce program. Account Engagement doesn’t support the other AppExchange Partner Programs, like OEM or VAR.

Review these resources to learn more about becoming a partner:

Yes, you must join the AppExchange Partner Program.

No. If you’re part of the AppExchange Partner program, building an Account Engagement app is like launching any other app.

Depends on the business model of the app. Generally, the revenue share is per the cost of the app.

How do I access an Account Engagement dev environment to begin development?

AppExchange Partner and Consulting Partner Option:

Non-Salesforce Partner options:

  • Work with a customer.
  • Purchase an Account Engagement production business unit.
  • Work with a Product Developer Outsourcer (PDO).

Register to become an AppExchange (ISV) Partner and start the process to make an AppExchange listing.

A Product Development Outsourcer (PDO) is an app building expert who can provide services to ISVs who want to build Account Engagement apps for their product. A PDO can consult with an ISV on how to design the application or provide the development force to build the app for them. Overall, any marketing technology solution could benefit from an integration with Account Engagement, which means there are over 8,000 potential ISVs that could need an integration.

Because a PDO is a specialized type of consultant, the first step to becoming a PDO is to join the Salesforce Consulting program:

  • Consulting Partner Program - If you're planning to focus on Account Engagement, we recommend these certifications:
    • Pardot Consulting
    • Platform Developer I

The Account Engagement PDO is a subspecialization of the Salesforce PDO program. To learn more about the PDO program review these resources:

The requirements for becoming a PDO are:

  • One completed project
  • One Pardot Consultant Certification
  • One project tagged with Pardot Specialization

No, since you’re already a Consulting Partner there are no additional fees to also become a PDO.

The following are the key features available to you to build an Account Engagement app:

  • Account Engagement API
  • Account Engagement-related Salesforce API endpoints
  • Custom Email Builder Components
  • Packaged email templates
  • Salesforce components
  • Marketing Extensibility Features

The Account Engagement API provides access to Account Engagement data and services for integration with other systems. For details on what the Account Engagement API supports, review the Account Engagement API Documentation.

Here are some example use cases.

Account Engagement customers often have valuable marketing data outside of their marketing automation solution, such as a CDP or consent tool. An ISV can create a service that allows the customer to segment a population and then upload that segment to Account Engagement for automation and nurturing.

These solution types mostly use the prospect, custom fields, lists, and list membership API endpoints.

Customers want to export Account Engagement data to an external data store. The use cases are varied but primarily are choosing the related data objects available via the API.

An ISV service can sync a set of data or provide a data connector to a specific set of applications.

API v5 enables publishing to Account Engagement functionality for files, landing page layout templates, and custom redirects.

The general use case is a content creation service that wants to create an option to publish from their solution into Account Engagement.

Submit prospect engagement activity that occurs in an external system or automatically take action on prospects outside of Account Engagement. Data from active external activities is available to use in automation rules, segmentation rules, and Engagement Studio programs. Active external actions are available only in Engagement Studio programs.

Review the extensibility features guide for more details about this feature.

Account Engagement uses Salesforce OAuth Flows for authentication and requires a connected app with the Account Engagement API default scope. Account Engagement requests require an authentication header with the access token and a header with which business unit to access. Learn more about authentication.

  • When your goal is to transfer a large volume of data to or from Account Engagement, 10,000 records or more, consider using the export and import APIs.
  • When you don't require real-time or near-time data freshness.

When developing apps consider adding support for different Account Engagement environments, giving your customers the ability to test in non-production environments.

TypeSalesforce DomainAccount Engagement Domain

If you’re also using the Salesforce API, then make sure you factor My Domain into your domain. The domain is returned as part of the login request in the field “instance_url”.

  • Customers can have multiple instances of Account Engagement, which are called business units. Any app you create must be able handle multiple business units. For example, one customer wants to pull all business unit data into your app, while another customer wants to pull data from a single business unit.
  • Account Engagement API requests can only be made against one business unit at a time. Which business unit is accessed is determined by the Business Unit ID added into the header of the request. The Business Unit ID is found in Marketing Setup > Business Unit Setup.
  • Whether a customer uses v3 or v4 of the API depends on whether their account allows multiple prospects with the same email address. For this reason, we recommend that you build apps that support both versions.
  • To identify whether a customer uses v3 or v4, submit to v4 first, because the majority of customers are on this version. If the customer is on v3 you receive error code 89: “Your account is unable to use version 4 of the API”.
  • API v5 can be used by any account.

To help you align marketing and sales teams, Account Engagement is tightly integrated with Sales Cloud. This integration opens up multiple Salesforce endpoints that can be used to interact with Account Engagement features. See a list of related endpoints.

Before deciding whether to use Salesforce endpoints or Account Engagement endpoints, you must understand Account Engagement sync behavior. Account Engagement syncs many objects with Salesforce to provide sales and marketing alignment. Here are the key sync-related objects:

Type of syncObjectDetails
BidirectionalProspectA prospect is a record in Account Engagement that represents an individual. Prospects sync with leads, contacts, and person accounts in Salesforce. Account Engagement can create, read, and update lead and contact records. An email address is required for sync. Prospects sync with Salesforce ID as the unique identifier, and email can be used as a secondary match criteria. When a lead converts to a contact, Account Engagement maintains the prospect record and updates the Salesforce ID.
Read-onlyAccountsAccounts in Account Engagement represent companies, groups, or organizations. Accounts in Account Engagement sync with accounts in Salesforce. Account Engagement can read account objects in Salesforce. Account Engagement automatically syncs with accounts that are associated with syncing contacts.
Read-onlyOpportunitiesOpportunities in Account Engagement represent companies, groups, or organizations. Opportunities in Account Engagement sync with opportunities in Salesforce. Account Engagement can read opportunity objects in Salesforce. Account Engagement automatically syncs with opportunities that are associated with syncing contacts via contact roles. Contact role is a junction object that links to both the contact and the opportunity record.
Limited BidirectionalCampaign MembersProspects in Account Engagement can be added to Salesforce campaigns in order to track engagement with marketing programs. This action creates a campaign member record in Salesforce. Campaign members are simply leads or contacts that belong to a campaign. Account Engagement can create, read, and update campaign member records and campaign member status. Account Engagement can also read the campaign object in order to add a campaign member to the campaign. Account Engagement campaigns and Salesforce campaigns are different objects that don’t sync directly by default, however you can connect them to streamline management.
Limited Read-onlyCustom ObjectsCustom objects in Account Engagement are used to track objects that aren't native to your business unit. If you've purchased the custom object integration, you can sync with additional objects in Salesforce. Account Engagement can read custom objects that are directly linked to a lead, contact, or account record. Syncing too many custom object records or fields can significantly slow down your business unit. Sync only custom objects that are vital for your segmentation goals.

This diagram provides an overview of the high-level architecture for sync:

Image that displays an architecture diagram

In the diagram, an Account Engagement prospect syncs bidirectionally to Salesforce lead and contact records. Leads and contacts sync bidirectionally to the Salesforce campaign object. Custom objects sync one way to lead, contact, and account records. Opportunities sync one way to contact records.

Now, let's walk through the basic logic that determines how a prospect syncs to Salesforce.

  1. Is there a lead or contact with the same CRM ID?
    • Yes: Sync with lead or contact.
    • No: Go to step 2.
  2. Is there a contact with the same email address?
    • Yes: Sync with contact.
    • No: Go to step 3.
  3. Is there a lead with the same email address?
    • Yes: Sync with lead.
    • No: Go to step 4.
  4. Is the prospect assigned to a user?
    • Yes: Create a lead.
    • No: Keep record in Account Engagement until it's assigned to a user.

Keep these considerations in mind when deciding to use Salesforce endpoints or directly use the Account Engagement endpoints:

  • Is the primary purpose to add marketing data to a prospect? If so, then write directly to the Account Engagement prospect. Customers don’t often sync all marketing fields to the lead or contact, so updating prospects directly ensures up-to-date data.
  • How urgently do you need the data to meet marketing goals? Sync does introduce a few minute delay between data being sent and the data being used in Account Engagement.

Campaigns allow marketers to manage outbound marketing campaigns with direct mail programs, seminars, print ads, email, and other kinds of marketing collateral. Campaigns can be organized into hierarchies for easy analysis to see what works best for increasing sales.

The Salesforce APIs can be used to create a campaign and assign lead or contacts as campaign members to set up a new marketing effort. For example, create a campaign in an external service to track costs for marketing efforts outside of Salesforce while still getting a complete view of marketing attribution within Salesforce.

Account Engagement customers must enable Connected Campaigns to use Salesforce Campaigns in Account Engagement.

Snippets provide the ability to define a reusable value that can be managed in a central location and used across content. Snippets are great for text that is common and used in multiple locations, like legal language or copyrights.

  • All Account Engagement customers now require a connected Salesforce org.
  • The configuration of the customer determines what data is synced between Account Engagement & Salesforce.
  • Using Account Engagement APIs is ideal for any time-sensitive updates and to avoid concerns related to configuration.

Custom components allow the email builder to be extended by developing Lightning Web Components (LWC) modules that can be embedded and configured within the Email Builder Design canvas. Overall, the goal of custom components is to provide marketers with reusable components that accelerate the design of a new email.

A marketer wants to pull information or content quickly from another source to use within their email. You can create components that:

  • Pulls in webinar details automatically into an invite email, removing manual copy-paste steps and lowering the risk of introducing errors.
  • Accesses content that isn't stored in Salesforce by integrating an external CMS.

A marketer wants to design an email with advanced components that aren’t provided out of the box. You create components that:

  • Let marketers easily embed tables in an email, create a data table component.
  • Makes email building with common patterns quicker with a reusable component that has an image, title, and text.

The Lightning Email Template builder enables packaging templates and listing them as an app on the AppExchange. Marketers are always looking for ways to boost their campaign effectiveness and a great email design is an easy way to increase prospect engagement. Access to ready-to-use templates allows marketers to quickly ramp up their email marketing programs with high-quality emails.

To learn more about this use case, review the Account Engagement Email Builder Extensibility Development Guide.

Sell a package of Email Builder Templates, containing templates for newsletters, product updates, and events so a new email marketer is able to get started quickly.

Since Account Engagement is available in Salesforce Lightning Experience, consider incorporating Salesforce components into your app. You can create objects to store data, new tabs to create pages for your apps, and many other features. Learn more about available components.

Create a configuration page for your app allowing admins to set specific settings and simplify setup.

Create an object to store data for your application within Salesforce to surface natively to the marketing team. For example, external activities support minimal information but are possible to provide an extended record for Marketer’s to view more granular details.

Use Salesforce components to create an app that provides marketing functionality that complements Account Engagement. For example, an app to track and monitor SEO doesn't need direct integration with Account Engagement, but you can expose the app's UI in the Account Engagement Lightning app.

Account Engagement apps typically follow one of these build types:

  • API-only / Connector
  • Composite
  • Native

Account Engagement currently supports only First-generation Managed Packaging.

Partners who are accepted into the Partner Program are given a Partner Business org to manage, sell, and market their apps.

ISVs who join the Partner Community can create an Account Engagement Developer org to:

  • Develop your app
  • Use a demo environment for security review
  • Have a demo environment for your sales team to promote your app.

To set up an Account Engagement developer org, follow these steps:

  1. Join the Partner Community).
  2. Join the Pardot B2B Marketing Automation group.
  3. Click the link for “Pardot Dev Org Instructions”, then follow the provided instructions.
  • The Account Engagement Developer org expires if you don’t have a managed package, or you don’t log in for over a year.
  • Set up a Salesforce system admin with a monitored email address to receive product impact notifications.
  • To be included in Account Engagement's product impact notifications, configure Account Engagement Product & Service Notifications in your account settings.
  • Account Engagement doesn’t support app trial orgs.
  • Account Engagement doesn’t support scratch orgs and therefore doesn’t support Second-generation Managed Packaging (2GP). However, Custom Builder Components support 2GP as long as they aren’t dependent on any Account Engagement features.
  • Account Engagement doesn’t support demo orgs via the Environment Hub.

This high-level overview helps you understand the phases of becoming a partner and when expenses enter into the picture.

  1. Join the Partner Community (Free)
  2. Start Developing your Application (Free)
  3. Prepare Solution Documentation (Free)
  4. Sign Partnership Agreement with Salesforce
  5. Complete Security Review (Security Review Fees)
  6. Publish your AppExchange Listing (Listing Management Fee)

Salesforce supports partners by making it free to build and test apps. Salesforce also offers support for developing a business plan and helping you meet your goals for your app.

To release an app, partners must become an official Salesforce Partner. During the process, an AppExchange team member consults with you on the partnership agreement.

For more information, review the ISV Onboarding Guide.

  • Sign up to receive Partner Alerts.
  • Check the Salesforce Feature Retirements for Account Engagement feature retirements.
  • An email is sent to the admin of your Account Engagement developer org. Also, be sure to set up the points of contact within Account Engagement settings. Ensure you add a monitored email address and ideally for a team so there isn’t a single point of failure.

This section lists all the resources mentioned in this topic, and additional useful resources: