Salesforce, Python, SQL, & other ways to put your data where you need it

Need event music? 🎸

Live and recorded jazz, pop, and meditative music for your virtual conference / Zoom wedding / yoga class / private party with quality sound and a smooth technical experience

Bienvenue! Welcome!

My goal is to help you work faster.

I must speak and teach until I hear 10 people say, "That thing you taught me? I used it! And it saved me time!"

(Ahem ... although maybe blogging slower than I'd hoped. Ugh, coders' repetitive stress injury.)

So check out the tutorials. Play with code. Tell me about your triumphs.

Multiple Pardot accounts sending from the same domain

15 Sep 2022 🔖 salesforce pardot tips 💬 EN

If you, a Pardot administrator, visit Home > Administration > Domain Management ( and click the “Add New Domain” button under “Email Sending Domains,” enter a domain that’s already in use in by a different pardot (e.g. ““), and click the “Create domain” button, you’ll probably get an error:

“This sending domain is already in use. Choose another domain or contact the support team to add this one.”

Continue Reading

Jitterbit: backfill Salesforce ID into a database

13 Sep 2022 🔖 salesforce jitterbit integration databases tutorials tips 💬 EN

Last year, I shared a great data-load pattern called “Insert, update, and delete from a database to Salesforce.”

If you implement it with Jitterbit, I’ve recently discovered some tricks you can do to combine steps that load data into Salesforce with steps that load the results of that operation back into your database, which keeps your project tidier.

Instead of writing Salesforce IDs resulting from a successful “upsert” or “delete” operation to CSV, and then reading from CSV to the database, you can write successfully upserted/deleted Salesforce IDs directly to the database as part of the Salesforce data-load operation itself.

Continue Reading

Find and replace Pardot PML with HML

08 Sep 2022 🔖 pardot salesforce vscode tips 💬 EN

One of my colleagues needed to migrate dozens of e-mail templates from an older instance of Pardot to a newer one. The new Pardot kept complaining that old templates were in Pardot Merge Language (“PML”), e.g. %%first_name%%, instead of Handlebars Merge Language (“HML”), e.g. {{first_name}}. Here’s how I helped do the find-and-replace:

Continue Reading

Save button missing in Pardot Marketing Data Sharing Rules

18 Aug 2022 🔖 pardot salesforce tips 💬 EN

So you paused syncing and tried to edit the “explicit criteria” in a Pardot Marketing Data Sharing Rule by changing the value of the Field picklist and your Save button is grayed out?

Continue Reading

Formula Fields work fine for Pardot Marketing Data Sharing Rules

18 Aug 2022 🔖 pardot salesforce tips 💬 EN

You might have seen documentation that you can’t use a formula field to filter Salesforce and Pardot object synchronization with Marketing Data Sharing Rules because, by its nature, you can’t set your Pardot Integration User to be able to edit a formula field.

Nonsense – it works fine.

Continue Reading

Pardot Opportunities need Contact Roles to sync

18 Aug 2022 🔖 pardot salesforce tips 💬 EN

Think Marketing Data Sharing Rules are bullying you on Opportunity alone?

Like, all of your sharing rules work, except for Opportunity?

Continue Reading

Prevent Pardot from syncing Leads

18 Aug 2022 🔖 pardot salesforce tips 💬 EN

If your business sells things directly to humans (“business-to-customer” or “B2C” sales model), you might not use Salesforce’s Lead object, instead making everyone a Contact, except for a brief pass through “Web-to-Lead” form handlers that you otherwise ignore the data from.

Ideally, you’d want to keep all of that clutter in Lead out of your Pardot Prospects – but how?

Continue Reading

Block all Pardot syncing with Marketing Data Sharing Rules

18 Aug 2022 🔖 pardot salesforce tips 💬 EN

So you’ve just bought Pardot – exciting! You’ve walked through connecting one of its Business Units to sync with a Salesforce org but there’s no data in Pardot just yet.

Should you flip the switch?

Maybe not until you try using Marketing Data Sharing Rules to block all syncing!

Wait, why flip things off when you’re trying to flip things on?

Think of this like individually turning off every circuit in your electrical circuit-breaker before letting the electric company turn power on to the whole house.

Continue Reading

Can eProcurement reach Banner?

13 Aug 2022 🔖 databases integration minimum viable build 💬 EN

Accountants never work directly with servers running Ellucian’s Integration for eProcurement (IFEP) “middleware” software (syncing Ellucian Banner with Jaggaer a.k.a. SciQuest), but engineers do.

Here are tricks engineers can try to ensure that communications are running smoothly from the eProcurement middleware to the Banner ERP database.

Continue Reading

Jaggaer - Banner Sync Series

12 Aug 2022 🔖 databases integration 💬 EN

Recently, I’ve had the opportunity to engage in reliability engineering, partnering with talented accountants and engineers in a higher education setting that uses:

  1. Ellucian Banner as its system-of-truth ERP.
  2. Jaggaer (formerly called SciQuest) as its system-of-convenience purchasing tool.
  3. Ellucian Integration for eProcurement (IFEP) alongside Ellucian eInvoice Adapter to sync the two.
Continue Reading