Write-ups from real work.
Things I've fixed, debugged, or untangled for actual clients — written up so the next person who hits the same wall finds an answer instead of a sales page.
-
Before You Buy an Integration, Check What's Already Installed
Half-configured connectors hide in plenty of orgs — installed, mapped by someone who left, working briefly, then silent. How to find and finish what you already have.
-
Your Integration Is Connected to a Person's Login — and That's Why It Broke
Connect a sync to a staffer's personal account and it dies the day they enable MFA, rotate a password, or leave — silently. Why it happens and the fix.
-
Your Typeform Survey Is Creating Duplicate Contacts in Salesforce
The Typeform–Salesforce connector defaults to creating a new record for every response, matched on name. Why existing donors get duplicated, and the fix.
-
Every Stack Needs a Report Builder. Most Teams Never Find Theirs.
Every stack has a report builder — the test of a real system is whether your team can answer their own questions without exporting to a spreadsheet.
-
Your Email Code Is Fine — Your New Sending Account Is Gated
New SES and Postmark accounts can't email arbitrary recipients — sends fail in ways that look like a code or DNS bug. The gates that block you, and how to clear them.
-
The Free Mailchimp–Salesforce Connector Is Gone. Here's What Replaced It.
Mailchimp de-listed its free Salesforce connector in 2024. If you're a small nonprofit syncing email and giving data, here are the real options and what to map.
-
Your CSS Grid Row Won't Scroll? The min-height: 0 Trap
A grid or flex child that should scroll instead shoves the whole layout taller. The one-line reason — min-height defaults to auto, not zero — and the fix.
-
Your Password Manager Keeps Hijacking a Field That Isn't a Password
Password managers pop a 'save password?' prompt on ordinary text inputs — even with autocomplete=off. Why it happens, and the contenteditable fix that stops it.
-
Your Intake Form Works Fine — Except It's Silently Dropping Data
A dropdown bound to a field that doesn't exist saves nothing and throws no error. How demographic data vanishes between a form that looks fine and your reports.
-
The Object Says 'Application.' Your SOQL Says 'Lead.'
Standard Salesforce objects can be relabeled in the UI while the API name never changes. Why 'we don't use Leads' and '3,000 Leads' can both be true.
-
reCAPTCHA v3 on Salesforce Experience Cloud: Why the Script Loads but Never Returns a Token
The reCAPTCHA script returns 200, the badge never appears, and grecaptcha is undefined inside your LWC. Why Lightning Web Security blocks it, and the fix.
-
Who Changed That Record? Building a Real Audit Trail in Salesforce
Field History Tracking may already be capturing changes in your org — but many objects can't be reported on. Where the audit trail lives and how to get it out.
-
Your Salesforce Report Is Quietly Missing Records (Blame the Import)
Bulk imports can write values a picklist doesn't allow — and reports filtered on the proper values silently skip those records. Find your ghost values in ten minutes.
-
Why You Can't Reassign Those Accounts to a Queue (and What to Do Instead)
Queues solve the departed-staff ownership problem for Leads and Cases — but Salesforce won't let them own Accounts or Contacts. The cleanup playbook that works.
-
The Deploy Succeeded but the Field Doesn't Exist: Salesforce's Invisible-Field Trap
Fields deployed via the Metadata API ship with no field-level security for anyone — not even admins. Why your new field is invisible, and the permission-set fix.
-
NPSP vs Nonprofit Cloud in 2026: Which Salesforce Did Your Nonprofit Actually Get?
Power of Us no longer hands new nonprofits a pre-configured NPSP org. What changed, how to tell which platform you're on, and how to choose in 2026.
-
Online Donations Syncing to Salesforce but Missing From Your Totals? Check the Stage
GiveWP and similar tools can land gifts in Salesforce as Pledged — where NPSP rollups and most reports never see them. How to find and fix the invisible donations.
-
The Thank-You Automation That Blocked Donations: Why Flows Need Fault Paths
A record-triggered flow with no fault path doesn't just fail quietly — it can roll back the donation that triggered it. A real failure story and the fixes.
-
OAUTH_APPROVAL_ERROR_GENERIC: The 2025 Salesforce Change That Breaks Integration Logins
Salesforce quietly started blocking OAuth for uninstalled connected apps. Why your integration user can't authorize, and the four other traps waiting behind it.
-
AI for small business: five real uses, five you can skip
Where AI actually helps a small business in 2026, and where it's still hype — which AI uses earn their keep and which are SaaS upsell.