Pages

Wednesday, December 3, 2025

Salesforce: Campaign Member Deletion

Contact or Lead Deletion

When a Contact or Lead used in a Campaign Member is deleted, all Campaign Members for that lead or contact will also be deleted.

Undeleting the Contact or Lead from the Recycle Bin will restore all Campaign Members for the Contact or Lead, including the Status. However, the Last Modified Date and By of the Campaign Member record will be updated with the timestamp of when the Contact or Lead is undeleted, along with the name of the user who performed the undeletion. The Campaign Member ID will be restored to the original Campaign Member ID. 


Campaign Deletion

When a Campaign is deleted, all Campaign Members associated with that Campaign will also be deleted.

Undeleting the Contact from the Recycle Bin will restore all Campaign Members for the Campaign, including the Status. However, the Last Modified Date and By of the Campaign Member record will be updated with the timestamp of when the Campaign is undeleted, along with the name of the user who performed the undeletion. The Campaign Member ID will be restored to the original Campaign Member ID. 


CampaignMember Deletion

When a Campaign Member record is deleted, it is not sent to the Recycle Bin, so it cannot be restored. Vote for this idea.


Bonus: In the CampaignMember object, there are LeadId, ContactId, and LeadOrContactId fields. For a Lead in Campaign Member, when the Lead converted to a Contact:

  • The LeadOrContactId will be updated from LeadId to ContactId
  • The LeadId will not be changed
  • The ContactId will be populated with the Contact ID


Monday, December 1, 2025

Excel: Count of Duplicate

We have recently encountered duplicate data entries being created in Salesforce by automation, resulting in multiple entries with the same lookup value. 

A spreadsheet is still one of the most widely use tools shared among business users. In this blog, I'll have 2 scenarios:

1. Mark how many duplicate roles based on a key field.

I know this can be achieved easily with a pivot table, but it would be great to see the number in the table itself.

sample: Excel formula for row 2, and the unique key is in column E

=COUNTIF(E:E,E2)


2. Mark rows to be kept and to be deleted

From the duplicate row, we need to keep 1 row and delete the rest.

Excel formula for row 2 =IF(COUNTIF($E$2:E2,E2)=1, "Keep", "Delete")

Excel formula for row 3 =IF(COUNTIF($E$2:E3,E3)=1, "Keep", "Delete")



Wednesday, November 5, 2025

Salesforce: Upsert

For upsert action in Salesforce, if the key field is not an External ID, you may encounter:

"UPSERT requires the external ID field to be specified"

This error occurs because Salesforce's upsert operation relies on an External ID to determine whether to insert a new record or update an existing one. Without an External ID, Salesforce cannot perform this match.

Additional Notes:

  • If the field is not unique, you may encounter a DUPLICATE_EXTERNAL_ID error if multiple records match the same value during an upsert.
  • Auto-number fields cannot be used as External IDs

Once you select Action = Upsert in Salesforce Inspector, you need to enter the External ID



Similarly, if you are using Workbench, you can select the External Id field from the selected object, as shown in the screenshot below; the Id and Name fields can be used as the External Id field by default.



Thursday, October 30, 2025

MCAE: Segmentation Lists

When you click Segmentation Lists, the first view is "All Current Lists," but "All Current Lists" does not mean to include ALL the lists in MCAE.


All Current Lists: view shows all active lists, excluding:

  • Archived Lists
  • Deleted Lists
  • Inactive Dynamic Lists
  • Unused Dynamic Lists

Dynamic Lists:
  • This includes all dynamic lists currently in your database
  • Archived dynamic lists are not displayed in this view - they're moved to the recycle bin
  • Deleted and inactive lists are excluded from this view


Inactive Dynamic Lists:
  • No prospects added or removed in the last 30 days
  • They're no longer actively used in ongoing campaigns or processes
  • While they still exist in your system, they're not processing new prospects or updating automatically


Unused Dynamic Lists:
  • These are dynamic lists that aren't currently referenced in any active marketing assets (emails, automation rules, etc.)
  • Often created for one-time campaigns (like a single email blast), but no longer serve a purpose
  • Recommendation: These should be reviewed regularly and either:
    • Converted to static lists (if you need to preserve the prospect data)
    • Deleted (to free up system resources and improve performance)




Friday, October 10, 2025

121.82% Growth in Half a Year: Inside AgentExchange’s Explosive App Ecosystem

Guest blog by: Dorian Sabitov

Just one week before Dreamforce 2025, Salesforce’s AgentExchange – the marketplace for Agentforce AI components – surpassed the milestone of 100 public listings. This accomplishment underscores the rapid expansion of Salesforce’s latest ecosystem initiative and the growing engagement of partners in shaping its direction.

AgentExchange serves as the counterpart to Salesforce’s long-standing AppExchange but is centered around agentic components. These consist of prompts, actions, topics, and complete agent templates that customers can directly import into Agent Builder and extend throughout their Salesforce environments.

Since its launch in March 2025, AgentExchange has rapidly positioned itself as a key hub for AI innovation within the Salesforce platform. Guided by Salesforce leadership, the marketplace has experienced steady growth, balancing customer demand with contributions from its early partners.

AgentExchange by the Numbers: October vs. March 2025

Marketplace Overview

At the time of launch, specifically during the AgentExchange snapshot done on March 4, 2025, the marketplace featured 55 apps developed by 50 unique providers. The top three business categories were Sales (18 apps), Productivity (10 apps), and Finance (7 apps), emphasizing the platform’s strong focus on revenue acceleration, workflow efficiency, and financial connectivity.


Another snapshot of the marketplace, AgentExchange snapshot done on October 8, 2025, revealed 122 unique apps from 102 unique developers, showing that the marketplace more than doubled in six months (121.82% growth in apps and 104.00% growth in developers). Key business categories also shifted: Sales led with 49 apps, Productivity followed with 22 apps, and Analytics moved into third place with 12 apps.



Leading Developers

As of October 2025, the top AgentExchange publishers are:

  • Bullhorn – 4 listings
  • Breadwinner – 4 listings
  • Salesforce Labs – 4 listings

In comparison, back in March there were only two publishers with three listings (the highest number of apps at that time):

  • Salesforce Labs – 3 listings
  • OpenText Corporation – 3 listings

As Stony Grunow, Co-Founder of Breadwinner, stated:

“AgentExchange is still in its early days, but thanks to the vision and dedication of leaders like Trish Phillips and Amy Gorman, partners like Breadwinner have a platform to innovate and expand what’s possible for Salesforce customers. Our mutual success is tied together — the stronger the partner ecosystem, the stronger Salesforce becomes.” 


Growth Timeline of Apps and Developers on AgentExchange

Below is a month-by-month overview based on snapshots. It presents total counts, month-over-month changes, and the average number of apps per developer.


Key Takeaways for AgentExchange Users

The AgentExchange app catalog is now large enough to support meaningful pilots without becoming overwhelming. From March to September, listings climbed to 114, with the strongest growth in Sales, Analytics, and Productivity.

August showed a brief dip due to cleanup, followed by September offering the widest selection. Use this pattern to schedule trials strategically and keep shortlists focused.


How to Run an Effective 30-Day Pilot

  1. Choose one outcome, not several. For instance, reduce manual call outcomes or generate weekly pipeline summaries.
  2. Shortlist 5 listings in the relevant category, then narrow down to 2 finalists after a 15-minute demo each.
  3. Define a single success metric before installation. Examples are provided below.
  4. Use a sandbox or development org, load a small test dataset, and grant permissions only to the pilot group.
  5. Enable just one write action initially; keep all others read-only.
  6. Review progress weekly, then decide whether to scale, refine, or stop.

Best Time to Start

  • June and July snapshots were stable, making them ideal for pilots that prefer fewer surprises.
  • September offered the broadest selection after cleanup, suitable for side-by-side comparisons.
  • Expect occasional re-tags or removals during ongoing curation. Schedule weekly reviews of active listings.

Data and Security Checks Before Installation

  • Review the objects and fields the agent reads and writes, including any new fields it creates.
  • Verify permission sets required to run the agent and access outputs such as summaries or tags.
  • Ensure field-level security for sensitive data, including revenue or PII.
  • Check logging and audit details: where actions are recorded and how to roll back if needed.
  • Understand rate limits and governor limits when the agent runs scheduled actions.
  • Confirm the de-installation process: how to cleanly disable prompts, flows, and packages.

Success Metrics That Clearly Demonstrate Value

  • Sales: time to update call outcomes, email preparation time per meeting, and number of meeting notes created per week.
  • Analytics: accuracy of weekly pipeline deltas, time to produce a forecast note, and number of actionable insights per report.
  • Finance: invoice status sync accuracy, time to resolve payment inquiries, and exceptions caught before close.
  • Service: first reply quality score, average handle time for common cases, and daily use of agent-generated summaries.
  • Marketing: campaign brief generation time, approved copy rate, and consistency of CTAs across assets.

Key Questions to Ask Vendors

  • Which records does the agent update, and how are conflicts handled when multiple users act simultaneously?
  • Can prompts and actions be versioned and transferred between sandboxes and production without manual edits?
  • What occurs during an API outage, and what retry logic is implemented?
  • How many active customers are running this in Sales Cloud, Service Cloud, or Experience Cloud?
  • What does a typical two-hour configuration involve, and which steps usually cause delays?

Implications for AgentExchange Partners

AgentExchange more than doubled in six months. Buyers focus first on Sales, Analytics, and Productivity, but there is still opportunity in emerging areas such as Commerce, Collaboration, and IT-Admin.

Strategic Focus Areas

  • High Demand, Higher Competition - Sales: 47 listings, 41.2% share. Win by delivering one precise write action on a standard field, with a short setup and a clear demo prompt.
  • Steady Growth, Good Room - Analytics: 12 apps, 10.5% share. Provide a weekly summary or delta note that writes to Opportunity or Account, including one verified accuracy check. Productivity: 18 apps, 15.8% share. Focus on list views, reports, and task updates that eliminate a daily step.
  • Emerging Lanes - Commerce: 4 apps, Collaboration: 4 apps, IT-Admin: 1 app. Focus on one concrete action, such as creating a follow-up task, setting a status, or filling a picklist.
  • Uneven Categories That Still Convert - Finance: 11 apps. Be explicit about status sync, exception handling, and retries. Customer Service: 4 apps. Target improvements in first reply or case disposition write-back.

Straightforward Product Ideas

  • Sales: post-call note plus next step, writes to Task and Opportunity.
  • Analytics: weekly pipeline change note, writes to a Notes record on Opportunity.
  • Finance: invoice status check, reads status, and updates a single picklist on Account.
  • Commerce: abandoned cart follow-up, creates a Task with ready text and fills a status field on Lead.

Key Takeaways

AgentExchange grew fast and maintained its structure:

  • Started at 55 listings in March, crossed 100 a week before Dreamforce, and reached 122 in October.
  • Publisher count climbed to 102.
  • Sales led the pack, adding 29 listings to reach 47.
  • Analytics tripled to 12 listings.
  • Productivity rose to 18 listings and held steady.
  • Commerce appeared later, reaching 4 listings.
  • August saw a dip due to cleanup, then September rebounded.

AI isn’t the future – it’s already here. Teams that adopt AI save time, reduce costs, and accomplish more. AgentExchange provides a straightforward way to discover functional Agentforce components, integrate them into Salesforce, and achieve results without lengthy projects.

For tool selection, keep it simple: choose one outcome, run a two-week pilot in a sandbox, enable one write action, and track a single metric. Sales, Analytics, and Productivity now have sufficient depth to demonstrate value without extended setups.

For building for the catalog, stay focused: deliver a safe action, include a copy-paste prompt, provide a short setup video, define clear permissions, and include an uninstall note. This combination builds trust. With Breadwinner Integrations Inc., Salesforce Labs, and Bullhorn each holding four listings, there remains space for targeted releases to stand out.













Saturday, September 13, 2025

B2B Marketing Analytics: Account Engagement Email Datasets

To continue from the previous blog, if you get an error when creating the B2B Marketing Analytics app, once the app is created successfully, you will see a new app for the B2B Marketing Analytics app; the app name is based on what you entered when creating the app. 

Within the app, you will get many datasets available, starting with "Account Engagement". The datasets are updated daily by Salesforce from MCAE to CRM Analytics. You can monitor it from Jobs Monitor, look for jobs that start with "pd".



You will see the dataset in the B2B Marketing Analytics app, including when the data is refreshed.  

** To get the Prospect and Activity dataset, you need to enable "Get Prospect and Activity Data" in the B2B Marketing Analytics setup menu, which is under Optional Features for B2B Marketing Analytics, then select "Include Prospect and Activity dataset?" when creating the app.



The app comes with multiple dashboards, such as "Engagement," which shows MCAE data, such as:

  • List Email Engagement
  • Email Template Engagement
  • Forms Engagement
  • Landing Page Engagement
These include different metrics for each type of engagement.

In this blog, I want to discuss two of the datasets: the Account Engagement Emails dataset and the Account Engagement Email templates dataset.


Account Engagement Emails dataset 

As per this article, B2B Marketing Analytics Datasets, the dataset API Name is pdEmail. Each row represents 1 day of statistics for an individual list email. You can see the field description in the article above. Let's see some samples:

For Email ID = 2012421957, emails are sent on 2025-09-10, so you see the same Send On Date applied to rows 1 and 2. Some recipients open and click on the same day, and a few open on 2025-09-11. The same applies for Email ID = 2011677609; emails are sent on 2025-09-09 for rows 3, 4, and 5; some people open and click on the same day and the following days. So, this is aggregate data per day per email.

Stats ID is the unique key in the dataset.

Available metrics for this dataset:

  • Click To Open Ratio
  • Delivery Rate
  • Opt Out Rate
  • Spam Complaint Rate
  • Total Bounced
  • Total CTR
  • Total Clicks
  • Total Delivered
  • Total HTML Opens
  • Total Hard Bounced
  • Total Opt Outs
  • Total Queued
  • Total Sent
  • Total Soft Bounced
  • Total Spam Complaint
  • Unique CTR
  • Unique Clicks
  • Unique HTML Open Rate
  • Unique HTML Opens


Account Engagement Email Templates dataset 

From the same article above, the dataset API Name is pdEmailTemplate. Each row represents 1 day of statistics for an individual email template. Email metrics are based on the emails built on selected email templates. 

The email sent here are not from the list email, but automated email, such as the Autoresponder email in Completion Action or Engagement program emails. The email here are not sent at the same time, but only when the user submits a form or receives an auto email from the engagement program.

The Send on Date field is not present on this dataset. This is because templates are reusable email designs that are not tied to specific send events.


We can see the same pattern here: each row represents an Email ID for a day, the total emails sent in a day, email opens, and clicks. 

Similar to the Email dataset, Stats ID is the unique key in the dataset, and almost all metrics are also available in this dataset:
  • Delivery Rate
  • Opt Out Rate
  • Spam Complaint Rate
  • Total CTR
  • Total Clicks
  • Total Delivered
  • Total HTML Opens
  • Total Hard Bounced
  • Total Opt Outs
  • Total Queued
  • Total Sent
  • Total Soft Bounced
  • Total Spam Complaint
  • Unique CTR
  • Unique Clicks
  • Unique HTML Opens

Note: There is an issue with the "Unique HTML Opens" field in this dataset. Here is the KI and idea.



Reference:

Page-level ad