Skip to main content

UserEvidence Advocacy — Salesforce Admin Setup Guide

This guide walks a Salesforce Administrator through everything needed to stand up the UE Advocacy managed package after it's installed — the permission sets, page layouts, Lightning components, the API token, and the UserEvidence ↔ Salesforce connection.

T
Written by Tom Aristone


No developer experience is required. If you can install a managed package, assign a permission set, and edit a Lightning page, you can complete this setup. Budget about 45–60 minutes end-to-end.

Two guides, two audiences. This is the admin setup guide. For a plain-language explanation of what the tool does and how sellers and program managers use it day to day, see the companion Features & Team Guide.

About the "Zealot" name. You'll spot zealot / joinzealot.com in a few field API names and URLs (e.g. the API host api2.joinzealot.com). That's the product's original name — UE Advocacy was previously Zealot. The functionality is identical, and those API names can't be renamed because the sync depends on the exact strings. Nothing for you to do; just don't be surprised by them.


1. What the package does

UE Advocacy connects your Salesforce org to the UserEvidence advocacy platform so reference and advocacy activity is visible, actionable, and reportable right inside Salesforce. Three things move between the two systems:

Part

Direction

How it works

Reference Management

In Salesforce

A Lightning panel on the Opportunity lets sellers request and track customer references without leaving Salesforce.

Advocacy writeback + advocate sync

UserEvidence → Salesforce

UserEvidence writes reference activity and advocate contacts into Salesforce by calling the package's own secure endpoints. This is the connection you set up in Step 7.

Data the panel sends

Salesforce → UserEvidence

When a seller submits a request, the panel calls UserEvidence server-side (behind the scenes, using your stored token) to create the reference.

The package supports two advocate journeys:

  • Reference flow — a seller needs a customer reference to help close a deal. They request or choose one from the Opportunity, and it moves through a fixed set of stages until it's completed.

  • Referral flow — an advocate refers a new prospect. UserEvidence creates a Lead with attribution, and when the seller converts it, the attribution carries onto the new Opportunity. (Setup for this flow is optional — see Step 9.)

2. What gets installed

Installing (or upgrading) the package adds the following to your org. Every custom API name carries the UserEvidence__ namespace prefix in your org.

Type

What you get

Custom objects

UE Advocacy (UE_Advocacy__c) — one record per reference/advocacy mission. Plus internal config objects (Field Selection, Field Mapping, Configuration).

Fields

Reporting + lifecycle fields on UE Advocacy, plus packaged fields on Opportunity, Lead, Account, and two on Contact (advocate status + a UserEvidence id) for the advocate sync.

Permission sets (3)

UE Advocacy Admin, UE Advocacy User, and UE Advocacy Integration (for the connection's Run-As user). See Appendix C.

Lightning components

Reference Management (request/track), UE Reference Trackers (the stacked stage trackers), UE Reference Matches (recommended advocates), the UE Advocacy Configuration console (Connection + Field Selection), plus supporting components.

App, tabs, pages

The UE Advocacy Lightning app; a UE Advocacy tab and a UE Advocacy Configuration tab; a preconfigured UE Advocacy record page and utility bar.

Reports & dashboards

Reference reports + the UE Advocacy Dashboard, referral reports (R-1…R-10) + the Advocate Referral Performance dashboard, and an Opportunities with UE Advocacies report type.

Connectivity

Remote Site Settings and CSP Trusted Sites (both ship ready — no manual URL steps) and a packaged External Client App for the inbound connection.

Automation

The reference writeback trigger/handler, and three record-triggered Flow templates for the native outbound push (shipped inactive — activate only if/when your CSM asks).


Setup steps

Before you begin make sure:

  • You are a Salesforce admin with Customize Application and API Enabled.

  • Have access to a sandbox — always install and validate there first, then repeat in production.

  • Have your org's UserEvidence API token (Step 5) — your UserEvidence CSM provides it.

  • Have a plan for the Run-As user (Step 7) — ideally a dedicated Salesforce Integration user license (free, API-only).

Step 1 — Install (or upgrade) the package

  1. Your CSM provides an install URL (ends in .../packaging/installPackage.apexp?p0=<version id>).

  2. Install into the right org. The link defaults to production. For a sandbox, log into the sandbox first (or swap login.salesforce.comtest.salesforce.com). Note: beta versions can only be installed in a sandbox/scratch org, not production.

  3. Choose Install for All Users so the package is available to everyone who needs it. (You still control who actually uses each piece through the permission sets you assign in Step 2.)

  4. If prompted, check "Yes, grant access to these third-party web sites."

  5. Click Install / Upgrade. Large installs finish by email — that's normal.

Step 2 — Assign permission sets

Setup → Permission Sets, then for each set: Manage Assignments → Add Assignments → select users → Assign.

Permission set

Assign to

Grants

UE Advocacy Admin

Admins, program managers

Full access, the Configuration tab, and edit on the advocacy/config data.

UE Advocacy User

Sellers, CS

Day-to-day use of the panel and records within normal sharing; no Configuration tab.

UE Advocacy Integration

The Run-As user only (Step 7)

Least-privilege access for the UserEvidence → Salesforce connection. Don't assign it to people.

The Integration set exists specifically for the connection's Run-As user. Assign it in Step 7 — not to your everyday users.

Step 3 — Add the components to the Opportunity page

  1. Open any Opportunity → gear → Edit Page (Lightning App Builder).

  2. From the Components palette (under Custom - Managed), drag on:

    • Reference Management — the request/track panel.

    • UE Reference Trackers — the stacked per-request stage trackers.

    • UE Reference Matches (optional) — recommended advocates for the deal.

  3. Save → Activate, and assign the page (usually Assign as Org Default for Opportunity).

The UE Advocacy record page ships preconfigured — those records open with the stage bar and grouped fields, no action needed.

Step 4 — Add the reference fields to your Opportunity layout

The package can't place fields on your standard Opportunity layout, so add them once so the writeback is visible:

  1. Setup → Object Manager → Opportunity → Page Layouts → open your layout.

  2. Add a Section (e.g. "UE Advocacy") and drag in the writeback fields: UE Advocacy Reference ID, Reference Completed By, UE Advocacy Reference Status, Reference Received Date. (Optional: UE Opportunity UUID, the sync correlation id.)

  3. Save.

Using Dynamic Forms / an Opportunity record page (Flexipage)? Add the same fields there instead: Setup → Object Manager → Opportunity → Lightning Record Pages → edit the page → drag the fields onto the form → Save & Activate.

Step 5 — Connect your UserEvidence account (API token)

The UE Advocacy Configuration tab (visible to UE Advocacy Admin) stores your org's UserEvidence token and settings.

  1. Open the UE Advocacy Configuration tab → Connection.

  2. Paste your org's API token (from your CSM) and Save. The token is stored in protected storage and is never displayed back — pasting a new value simply rotates it.

Base URL stays locked to the UserEvidence production endpoint (api2.joinzealot.com) — no action needed. Proactive matches is an optional toggle, off by default.

Step 6 — Choose the fields to sync (Field Selection)

On the same Configuration screen, the Field Selection tab is where you pick which Salesforce fields UserEvidence should sync, per model and direction.

  1. Open UE Advocacy Configuration → Field Selection.

  2. Pick a model (advocate / opportunity / reference request) and a direction (Read from or Write to Salesforce).

  3. Choose an object, search, and tick the fields to include. Save.

The package only stores your picks; UserEvidence reads them and owns the mapping on its side. You're just telling it which fields you want in play.

Step 7 — Set up the UserEvidence → Salesforce connection (ECA + Run-As user)

This is how UserEvidence securely writes reference activity and advocate contacts back into your org. It uses a packaged External Client App (ECA) — you never handle any keys or secrets; you just enable the flow and nominate a user. ~20 minutes, once per org (and once per sandbox you want connected).

What "Run As" means: UserEvidence acts as a Salesforce user you nominate. Whatever that user can see and edit is exactly what UserEvidence can — nothing more.

7a — Create the Run-As user

  • Setup → Users → New User.

  • License: Salesforce Integration · Profile: Minimum Access - API Only Integrations.

  • Name it clearly (e.g. UserEvidence Integration), Save, and make sure it's Active.

This free, API-only license is Salesforce's purpose-built integration user — nobody can log in as it through the UI (that's intended). An existing active, API-enabled user also works for a quick sandbox test, but a dedicated user is strongly recommended for production.

7b — Give that user access

  • Assign the UE Advocacy Integration permission set to this user (Permission Sets → UE Advocacy Integration → Manage Assignments → Add Assignment).

  • Also grant Read + Edit on the Opportunity object (via its profile or an extra permission set) — the packaged set covers the advocacy data and UserEvidence's fields, but Opportunity access itself is controlled by your org and has to come from you.

Use UE Advocacy Integration for the Run-As user (not Admin, not User). It's the least-privilege set built for exactly this.

7c — Enable the connection

  1. Setup → Quick Find → External Client App Manager.

  2. Open UE Advocacy (Type shows Packaged (Installed)).

  3. Policies tab → Edit → expand OAuth Policies.

  4. Under OAuth Flows and External Client App Enhancements, tick Enable Client Credentials Flow.

  5. In Run As (Username), enter the username of your Run-As user from 7a.

  6. Save. Leave the other policies as they are.

7d — Send UserEvidence your domain

Send your My Domain URL to UserEvidence (find it under Setup → My Domain), e.g. https://yourcompany.my.salesforce.com. For a sandbox, send that sandbox's domain (it differs from production). UserEvidence confirms the connection from their side.

That's the whole connection. No keys, no secrets, nothing to copy out of Salesforce.


Step 8 — Add the Contact fields & set up the advocate sync

UserEvidence pulls your advocate contacts into its platform, and it decides which contacts to pull from a packaged field on Contact — UE Advocate Status. So there are two parts: surface the fields, then decide how contacts get flagged.

8a — Add the Contact fields to your layout

The package adds two fields to Contact but can't place them for you, so add them once:

  1. Setup → Object Manager → Contact → Page Layouts → open your layout (add a Section like "UserEvidence" if you like), and drag in:

    • UE Advocate Status (UE_Advocate_Status__c) — the field you (or your automation) set. Keep it editable.

    • UE FanUser UUID (UE_FanUser_Uuid__c) — filled in by the package once a contact is synced; set it read-only for users.

  2. Save.

Using Dynamic Forms / a Contact record page (Flexipage) instead of a classic layout? Add the same two fields there: Setup → Object Manager → Contact → Lightning Record Pages → edit the page → drag the two fields onto the form (or into a Field Section) → Save & Activate.

Field-level security: the packaged permission sets already grant access to these fields, so assigned users can see/edit them once they're on the layout. If a user can't see a field, confirm their permission-set assignment (Step 2).

8b — Flag the contacts to sync

  • Set a contact's UE Advocate Status to Should Be Advocate to queue it for sync. The package fills in UE FanUser UUID and flips the status to Is Advocate once synced, so it isn't sent twice. Disabled takes a contact out of scope.

  • Set it manually per contact, or drive it with your own automation (e.g. a Flow that flips it based on your criteria). The package doesn't decide who's an advocate — that's your call.

Once a contact is Should Be Advocate, UserEvidence picks it up on its next sync and marks it Is Advocate automatically.

Step 9 — (Referral flow only) Configure referral attribution

Skip this unless you use the referral flow (advocates submitting leads). A few fields live in your org, not the package:

  1. Add the referral fields to Lead and Opportunity and the Linked Lead lookup on UE Advocacy. (Your CSM/developer has the exact field spec.)

  2. Add the Advocate Referral value to the Lead Source picklist (Object Manager → Lead → Lead Source).

  3. Map Lead → Opportunity fields on conversion: Object Manager → Lead → Map Lead Fields, and map the referral fields to their Opportunity counterparts. Skipping this silently drops attribution on conversion.

Step 10 — Reports & dashboards

  • Reference KPIs: the UE Advocacy report folder + UE Advocacy Dashboard.

  • Referral KPIs: the UE Advocacy - Referrals folder (R-1…R-10) + Advocate Referral Performance dashboard.

  • Build your own: use the Opportunities with UE Advocacies report type (Reports → New Report).

5. What ships pre-wired

You do not need to add any Remote Site Settings or Trusted URLs by hand — the package ships them:

  • Remote Site Settings cover the server-side calls the package makes to UserEvidence.

  • CSP Trusted Sites cover the one browser-side piece — the "Choose" flow embedding UserEvidence's advocate-matches page.

The reference request form itself runs server-side (through Apex, using your stored token), so there's no browser API call for it to allowlist.

6. Verify it's working

Run through this checklist after setup:

  1. Access — open the UE Advocacy app from the App Launcher; confirm the UE Advocacy tab and (for admins) the Configuration tab load.

  2. Panel — open a test Opportunity; confirm Reference Management renders and loads contacts, and the Reference Requests tracker appears below it.

  3. Token — the Configuration tab shows the connected ("API token is configured") state.

  4. Connection — after Step 7, UserEvidence confirms they can authenticate and write a test record.

  5. Writeback — set a test UE Advocacy record to Completed (with a Reference ID + Advocate Email + its Opportunity link); confirm the Opportunity's writeback fields populate and the request shows in the tracker.

  6. Reports — open a report in the UE Advocacy folder + the dashboard; confirm they render.

  7. (Referral) submit a test referral, convert the Lead, confirm the referral fields copied to the Opportunity.

7. Moving from sandbox to production

Installing the package carries the components (objects, fields, Apex, components, reports), but not your per-org configuration. So after installing in production, redo the config there:

Redo in production

Step

Install the same version (prod host)

1

Assign permission sets

2

Add components + reference fields to the Opportunity page/layout

3–4

Enter the production API token (the sandbox token doesn't carry over)

5

Re-do Field Selection (or move it via change set)

6

Set up the ECA connection + Run-As user, and send your production My Domain

7

Add UE Advocate Status to the Contact layout / automation

8

(Referral) referral fields + Lead Source value + Lead-field mapping

9

A change set / metadata deploy can carry the layout, Lightning page, field, and Field Selection config from sandbox to prod. Permission-set assignments, the API token, and the ECA connection must still be done directly in production. Test data does not migrate.

8. Troubleshooting

Symptom

Likely cause / fix

Can't see the UE Advocacy tab/app

Permission set not assigned (Step 2), or the app isn't visible to the profile.

Configuration tab not visible

It's intentionally limited to UE Advocacy Admin.

UserEvidence says they can't connect

Step 7c — is Enable Client Credentials Flow ticked and Run As filled in?

Connected, but no records appear

Step 7b — is UE Advocacy Integration assigned to the Run-As user?

Records appear, but Opportunities don't update

Step 7b — does the Run-As user have Read + Edit on Opportunity?

Reference requests don't show in the tracker

The reference isn't linked to its Opportunity — UserEvidence must send the Opportunity id on writeback (coordinate with your CSM).

Advocate contacts aren't syncing

Step 8 — is UE Advocate Status set to Should Be Advocate on those contacts?

Connection stopped working suddenly

Is the Run-As user still Active? Deactivating it breaks the connection.

Referral attribution blank after conversion

Step 9 — the Map Lead Fields step wasn't configured, or the Advocate Referral Lead Source value is missing.

Appendix A — Reference stages

References move through a fixed, linear set of stages. Match these strings exactly in reports and automation:

Requested → Awaiting Advocate → Awaiting Prospect → Booked → Completed, plus Cancelled (terminal). Don't rely on any other status values.

Appendix B — Key fields for reporting

On the Opportunity (written back by the package):

Field

API name

Meaning

UE Advocacy Reference ID

UE_Advocacy_ReferenceID__c

Set when a reference completes for this Opportunity.

Reference Completed By

Reference_Completed_By__c

Advocate who completed the reference (name, else email).

UE Advocacy Reference Status

UE_Advocacy_ReferenceStatus__c

Mirrors the reference's current stage.

Reference Received Date

Reference_Received_Date__c

When the reference completed.

On Contact (for the advocate sync): UE Advocate Status (UE_Advocate_Status__c) and UE FanUser UUID (UE_FanUser_Uuid__c).

Never rename an existing field API name. The sync depends on the exact strings and will break if they change.

Appendix C — The three permission sets at a glance

Permission set

Who gets it

In one line

UE Advocacy Admin

Admins / program managers

Everything, including the Configuration tab.

UE Advocacy User

Sellers / CS

Day-to-day use; no Configuration tab.

UE Advocacy Integration

The ECA Run-As user only

Least-privilege access for the UserEvidence → Salesforce connection.

Did this answer your question?