Daily content to rocket your growth plan
I’ve got plenty of ways we can work together, but if you’re looking for a zero-cost source of inspiration, insights, and stories from the trenches, you might enjoy these posts from my daily mailing list.
“I LOVE the daily thoughts that result from subscribing to you. They are forward-looking, optimistic in every way.”
— Adrienne R. Smith, New Mexico Caregivers Coalition
If you like what you see here, sign up below to join the list. Yes, it’s really daily. Yes, people really stay subscribed. And yes, I do read (and usually reply to) all responses. See you in the in-box!
Looking for more free resources?
Mastering CiviCRM Crash Course
A free 10-day email course to teach you how to leverage CiviCRM for your organization’s goals.CiviCRM Upgrade Messages Previewer
Before you start a CiviCRM upgrade, check here to preview the kind of messages you can expect to see, based on your current and target CiviCRM versions.Tools and other resources
A collection of tools and services I love, plus recommended reading on various topics.
Daily Emails
Tiramisu
What would it be like to explain, over a phone call, how to make tiramisu?
Even If you've made it dozens of times yourself...
How much time would it take?
What could go wrong?
What if … you'd never made it before, but you have a recipe in front of you?
What if … you've never made it, and you have no recipe, but you've tasted it many times, and thought carefully about making it?
What if … you've never tasted it, don't know what it's called, but have a great idea for it in your head?
In that case, you might have to go through a long process of trial and error describing your idea of tiramisu to someone, such that they could make it happen the way you see it.
Custom reports are a lot like that tiramisu.
The more you understand the ingredients, how they fit together, and the actual intended result, the easier it gets.
It's not that customer reports — or tiramisu — are particularly difficult.
It's just that it takes a good deal of careful thinking, and careful communication, to get the result you want.
All the best,
A.
Structure vs flexibility
Systems provide safety and convenience by enforcing a structure.
Take my small but rapidly growing North Texas town.
Somebody has to lay out the streets.
Somebody has to set limits on speed, traffic direction, stop lights, etc.
Somebody has to be the cop, and the zoning department, and the building inspector.
Any of those are sure to ruffle somebody's feathers at one time or another.
But most of us prefer some structure -- even with its expense and limitations -- over limitless flexibility for everyone at all times.
Your CRM, and your website, will present similar challenges.
A tighter structure requires more planning, maintenance, training, and enforcement.
And it will limit your flexibility.
A looser structure is easier in the short term and gives you more flexibility,
but requires a greater tolerance for surprises.
Somewhere in there is a sweet spot.
And it will always come with trade-offs.
All the best,
Allen
$3,000 for paint samples?
A friend in the office down the hall tells me he’s spent around $3,000 on paint samples in the past year.
His company builds condos and apartments.
He says $3,000 for paint samples is a lot better than $30,000 for the wrong paint.
Of course it is.
When you're trying out new ideas, it helps to have an operational budget that allows you to test them on a small scale.
The alternative is “doing everything live,” and “waiting to see if it fails.”
All the best,
A.
Admin Training: Community Resources
This note contains links to the online CiviCRM community resources I'll be mentioning in the upcoming CiviCRM Admin Training at CiviCamp Toronto 2026.
Whether you're attending that training or not, you might still find these resources useful.
--
Having a community of people around you is a huge advantage for learning.
Fortunately, you don't even have to change out of your pajamas these days to find an online community of people a lot like you who are making great things happen with CiviCRM.
The online CiviCRM community is active, communicative, and in my experience very supportive.
If you want to accelerate your journey in mastering CiviCRM, I recommend you check out these online community resources:
CiviCRM Extensions Directory:
When you need CiviCRM to do something it doesn't do out of the box, you don't always have to build it yourself. The CiviCRM Extensions Directory contains over 700 extensions for everything from visual layout tweaks to import/export helpers, specialized PDF creation, calendars, and more. They're all available for you to try, and to continue using indefinitely at no cost.
Community chat:
CiviCRM’s online chat platform is the closest thing we have to an online forum, with separate channels for a wide variety of topics.
Need help with Mosaico, or something Drupal-specific, or financials, or general system administration? There are dedicated channels for those topics, and lots more.
Just trying to figure out where you fit in with this new community? Try the Town Square channel, where "all things CiviCRM" are on-topic; or even the Off Topic channel, for "Random chit-chat about anything at all".
It's sometimes just referred to as "MatterMost", the name of the software that powers the chat platform. It works about like Slack, in case you've used that elsewhere. If someone in the CiviCRM community suggests asking on MatterMost, they just mean chat.civicrm.org.
You can just use it easily in your browser, but dedicated desktop and mobile apps (look for "MatterMost") make it even easier.
CiviCRM documentation:
CiviCRM's official documentation is free — free to access, free to distribute to your staff, free to modify and reuse as you see fit.
And if you want to make the most of CiviCRM, you'd be well served by becoming very familiar with what it can do right out of the box.
The documentation is also quite extensive. So it can feel like a lot to consume.
But it's well organized, divided into several Guides covering major areas:
User Guide: For staff members who use CiviCRM's web-based interface as part of their job at an organization.
Installation Guide: For anyone who wants to install CiviCRM on a compatible CMS.
System Administrator Guide: For tech-savvy people who install, upgrade, and maintain CiviCRM for an organization.
Training Guide: For CiviCRM trainers who train users, system administrators, and developers who would like to learn more about configuring and using CiviCRM.
Developer Guide: For developers (programmers) who create and improve functionality within CiviCRM or those wishing to write software code for CiviCRM.
CiviCRM Stack Exchange:
Have a question that you just can't seem to get answered? The CiviCRM Stack Exchange is a dedicated Q&A forum for exactly that: getting your questions answered.
It's not a general forum for open-ended conversation; it's designed to get "the one best answer" to a specific answerable question.
Questions and answers are all provided by real people in the CiviCRM community — from complete noobs to seasoned experts. There's no guarantee that you'll get a perfect answer, but it's a great place to start, and often turns up exactly what you need to know.
Community Blog:
The CiviCRM blog is the primary source for news and announcements in the CiviCRM community. You'll learn about upcoming events, new features, new extensions, and more. (You'll also see a quick link to all the latest blog posts in the "CiviCRM News" dashlet within your own CiviCRM dashboard.)
Developers’ workspace, “CiviCRM GitLab”:
This is CiviCRM’s online repository for code development, bug reports, and community planning.
Even if you're not a software developer, this is still a great resource for learning about new feature improvements and new bug fixes that are in the works — or completed.
And you don't have to be super technical to file a bug report either. If you're sure that CiviCRM should be behaving in a certain way and isn't, there may be an existing bug report that you can add to, or you can file one yourself.
Ultimately, CiviCRM is just a bunch of code files. Peeking into that world now and then is like learning a little more about your car’s engine or your household plumbing:
You don't always have to be the one to pull out the tools, but it can help to have some idea what's inside when it's acting strangely.
Conversational AI, “CiviCRM DocBot”:
Official CiviCRM documentation (linked above) is great. But it's a lot to digest.
CiviCRM DocBot solves this problem by offering an AI-driven conversational interface. Ask it a question. Give as much detail as you like. DocBot's answers are based on the full contents of the official documentation, plus documentation from many extensions, plus ongoing Q&A from the CiviCRM StackExchange, and more.
For more convenience, the DocBot extension will give you a DocBot interface right on your CiviCRM dashboard. Very useful for detailed answers to complex and detailed questions.
All the best,
A.
Awareness vs. Action
Your next mass email, social post, or announcement:
Will it be optimized for awareness?
Or for action?
Both are valuable.
But they're not the same thing.
It's hard to aim for a desired outcome
unless you're clear about what the desired outcome is.
All the best,
A.
It’s not sexy, but …
High tech solutions can seem attractive -- they're just so darned shiny -- but they aren't always “better" than low tech.
Consider the problem you're solving:
Is the process highly predictable?
Does it need to happen frequently or at high volume?
Will your high-tech solution offer some kind of logging, so you can inspect what happened if something doesn't look right?
Will your high-tech solution actually reduce your total time and effort?
The less those things are true, the less attractive a high-tech solution becomes.
I know plenty of organizations that still prefer paper lists for their event registration tables -- instead of a live CRM system -- because it reduces setup requirements, gives staff rapid access to all the relevant information, and never goes offline.
Sometimes low-tech is the real win, unsexy as it may be.
All the best,
A.
One step ahead: early feedback
You probably know the value of getting good feedback before going too far with an idea.
But how much feedback?
And when?
And from whom?
I like to think of it like this:
Look for feedback in layers, starting from yourself and circling out to the people farthest from you in the process — the ones who probably won't see it until it's live, but will then be using it the most.
Two examples from projects I'm working on right now:
1. QR Logging: We’ll let conference participants log their attendance at each training session by scanning a QR code posted inside each session room.
2. Permissions: We’re completely revamping the permission scheme for staff users on an existing CiviCRM site.
At each layer, we get feedback to check our assumptions before proceeding to the next.
Layer 1: "Does this sound right?"
Here we're asking people who are very close to the idea. Often it's me (the specialist) getting early feedback from the client — but not always.
In QR Logging, once the client had explained the concept, I put some thought into it, and on our next call I explained it to her verbally, asking, “Does that sound right?”
In Permissions, the client and I fleshed out the concept together, and then he went to a couple of his teammates and asked, “Does that sound right?”
Layer 2: "Does this look right?"
In QR Logging, I created a minimally functional proof-of-concept, which didn't do any real logging, but demonstrated the look and the user experience. The client took this to a couple of her teammates and they tried it out together.
In Permissions, the client and I wrote up a detailed summary of the new user roles and what each role should be able to do. He took that to a few more of his teammates for a closer look.
It's worth noting, in both of these projects we’re finding important changes to make, with every layer of feedback.
Layer 3: “Does this act right?”
In QR Logging, I'm now creating the actual system, fully functional. The client and several of her team will put it through its paces for everything they can think of. I fully expect they will find ways that it could be improved.
In Permissions, I built out the new user roles and assigned all the appropriate permissions. The client and a couple of teammates created test users with those roles and tried out the system themselves. They found some issues, and we fixed them, but we're not done yet.
The goal at this layer is to anticipate and fix every issue we can, before expanding to our last layer.
Layer 4: “Does this actually work?”
At this layer, we're bringing in people who are almost completely new to the idea. This is our last layer before we expose the finished product to everyone.
In QR Logging, the client will ask a close circle of about 30 participants to use this system in real time at their next conference. That's less than 10% of the total attendees, and they're all people she knows personally.
In Permissions, the client will ask existing system users — one for each role — to work under the new role for their normal daily tasks. Everyone else continues with their existing roles.
At this layer, we're putting the idea and its implementation to the test in real-world usage.
But we're not releasing it to everyone.
Not until we get feedback from a small set of real-world stakeholders.
Why this works:
The very best person to get feedback from
is the person who will be experiencing the new idea when it's implemented.
But that doesn't mean
we should ask all of our constituents for their opinions when the idea is still a constant.
Nor that we wait
until the idea is fully implemented before getting feedback from people in that position.
Whatever the shape of the project —
whether it's for a new training program, a new membership structure, a new software feature, whatever —
there will be phases in taking the idea from concept to completion.
By getting feedback one layer ahead of each phase,
we can get feedback that's appropriate to that phase,
while troubling no more people than necessary.
We also don't get more feedback than we can actually use.
It’s a way to stay one step ahead and check your assumptions as you go.
All the best,
A.
CiviCamp Admin Training: program and presenters
We’re gearing up for a 2-day deep dive into CiviCRM administration next month at CiviCamp Toronto (trainings May 25-26; main event May 27).
I’ll be hosting a group of presenters with years of experience making CiviCRM work for non-profit teams.
If you haven’t registered yet, there’s still time.
Today we announced the presenters and the program details. See the full blog post for more, but here’s a quick look at the program, snipped from the announcement:
==============
CiviCamp Toronto kicks off with a two-day Admin Training, May 25th and 26th, aimed at folks much like yourself, who need to manage CiviCRM on a day-to-day basis.
Program:
The Admin Training program lays out the major components and most common use cases for CiviCRM’s diverse features, covered in an orderly structure, with a mix of live demonstration, discussion, and hands-on exercises for participants.
Day 1, May 25th
09:00 - 09:15 Arrival with coffee
09:15 - 09:30 Introductions and ice-breakers
09:30 - 10:30 Session 1: Introduction to CiviCRM
10:30 - 11:30 Session 2: Organizing Data
11:30 - 11:45 Break
11:45 - 12:15 Session 3: Custom data: organization and usage
12:15 - 13:30 Lunch (provided on-site)
13:30 - 14:00 Session 4: Finding data (Reports, Searches, SearchKit)
14:00 - 15:00 Session 5: Contribute management
15:00 - 15:15 Break
15:15 - 16:15 Session 6: Event management
16:15 - 16:30 Closing Session
16:30 - 17:00 Extra time, to be used for 1-on-1 assistance and answering questions raised so far
Day 2, May 26th
09:00 - 09:15 Arrival with coffee
09:15 - 09:30 Brief recap of Day 1
09:30 - 10:30 Session 7: Duplicate contact management
10:30 - 11:30 Session 8: Communications: mass mailings, scheduled reminders, message templates, etc.
11:30 - 11:45 Break
11:45 - 12:45 Session 9: Membership management
12:45 - 14:00 Lunch (provided on-site)
14:00 - 15:00 Session 10: SearchKit and FormBuilder: Advanced searching and data intake
15:00 - 15:15 Break
15:15 - 16:15 Session 11: SearchKit and Charting: Data analysis and visualization
16:15 - 16:45 Session 12: Flexible breakouts: small groups on specific topics of interest to the group
16:45 - 17:00 Closing Session
If that all sounds awesome to you, you can still register online, for both the Admin Training May 25-26 (or a Software Developers' Training on the same days), and for the main CiviCamp event itself on May 27.
Hope to see you there!
All the best,
A.
The inconvenience of security
Have you ever missed a package delivery because the driver couldn't get past building security?
It happens.
I've even seen expected VIP guests turned away by event security who were just doing their best to enforce strict protocols.
In the past couple of weeks, I've helped a few clients deal with similar issues on their websites:
Anti-spam protections blocking legitimate users from public forms.
Oganization staff, even admins, prevented from logging in on their own sites.
When this happens, you have two basic options:
Get rid of the security and accept the risks.
Invest time and effort tweaking the security parameters, training staff, and deciding on an acceptable margin of error.
That's usually not an easy decision.
Security is valuable, but so is your time and effort.
Either option is completely valid.
It's just a question of deciding where you want to invest, and what risks you're willing to carry.
All the best,
A.
Operational Assurance: getting your questions answered
Folks in my Operational Assurance program have been asking -- and getting answers to -- some pretty interesting questions. Here's a sample of some issues we've worked through in the past couple of weeks:
Why isn't this field auto-updating with the correct values?
Can we do QuickBooks integration?
Addresses are not getting geocoded. Why not?
We're seeing several annual memberships with expiration dates several years in the future. How can we fix this?
Why are price fields are showing prices with odd coding characters, like <span class="crm-price-amount-amount">$ 35.00</span> ?
My report doesn't include all the contacts it should. Am I missing something?
Addresses aren't saving correctly -- why would it save only city and state, while everything else is getting lost?
Anti-spam protections are blocking real human users. Can’t we fix that?
CiviCRM says it's sending emails, but a few of our constituents are insisting that they haven't received them. What's going on?
Our event's public "registered participants list" isn't showing at all. Why did it always work before, but not now?
On contribution pages using Stripe, the "zip code" field never displays on mobile devices. Why not?
Why are our scheduled mailings never being sent out?
Not to give away the ending, but the answers are usually one of these:
That's a bug in your version of the software, that is (or in some cases, isn't) already resolved in the latest version.
The trouble is caused by this specific configuration that you could change like so.
The functionality you want is available from this extension here, if you install it.
Often just having the answer is enough -- organization staff can change configurations or adjust usage on their own. Or they can make an informed decision about whether it’s worth investing in custom development. Either way, getting answers removes the mystery, and that’s no small thing.
For what it’s worth:
There happen to be a couple of slots open in the Operational Assurance program. If you're curious, you can read more about it here.
All the best,
Allen
Toronto, anyone?
Would you like a free admission to CiviCamp Toronto on May 27?
This morning I signed up Joinery as a CiviCamp sponsor, which means I now have one extra ticket.
You'll still have to get to Toronto, and work out your own accommodations.
But if this makes it any easier to pull the trigger on
a full day of presentations, networking, and community
optionally (and paid separately) two full days of admin training, May 25-26
and lovely late-spring Toronto ...
Then shoot me a reply to claim this one extra ticket.
It’s just sitting here all giddy with excitement, waiting for you.
All the best
Allen
Debugging without a developer
This week's "big win" is from a list reader and sometime coaching client who solved a frustrating problem so her organization could finally implement their automated text-messaging system.
She had already jumped through all the hoops to get Twilio set up and working, and her testing had proved it.
But on the live site, any SMS-related action -- even editing the config -- led to mysterious errors.
In technical jargon, this is what we call "a major WTF."
It works over here.
But it doesn't work over there.
Her solution?
On a hunch that some other extension was interfering, she selectively disabled and re-enabled one extension at a time.
Sure enough, one particular extension was somehow causing this strange behavior.
Even better: it wasn't even an extension that she needed.
Here's the thing:
Complex systems can act mysteriously.
Without deep technical knowledge, solutions feel elusive.
But persistence, careful thinking, and a systematic approach are usually enough, eventually.
Congrats to this critical thinker for sticking it out.
She now gets the benefit of a complex and robust system that really does what her organization needs.
All the best,
A.
“Choose Your Hard”
Marriage is hard.
Divorce is hard.
Choose your hard.Obesity is hard.
Being fit is hard.
Choose your hard.Being in debt is hard.
Being financially disciplined is hard.
Choose your hard.Communication is hard.
Not communicating is hard.
Choose your hard.Life will never be easy.
It will always be hard.
But we can choose our hard.Pick wisely.
-- Devon Brough, “Choose Your Hard”
I don’t know much about the author, but he makes a good point.
Running an organization with an inflexible CRM is hard.
Doing it with one that’s complex and customizable — also hard.
You’ve probably chosen the latter.
Sometimes it will be hard.
That’s unavoidable.
But in those moments it helps to remember why you chose it:
Because it lets you shape the system
to fit the work that actually matters.
All the best,
A.
The giant cabinet
As if on cue, following yesterdays note on building something valuable:
My buddy Austin told me today what happened with his recent custom-built cabinet.
I remembered it because a couple of weeks ago he’d asked for my help loading this massive and well-built thing into his pickup truck from his workshop next door.
I could see he had really built something nice.
Here's what became of it:
He drove it home,
struggled mightily to get it into the house,
and placed it neatly in the cubby of his hallway,
which he had carefully measured.
It was a perfect fit.
But when he showed his wife, her comment was simply:
"Austin, that's way too big. I just wanted a little bookshelf."
That cabinet is no more.
Austin hauled it out.
He went back to the workshop and spent a few hours building a
nice
little
bookshelf.
And everyone was happy.
It's the same lesson as before:
Bigger is not always better.
But early clarification of desired outcomes ...
usually is.
All the best,
A.
Build something valuable
In the past few weeks, I've heard from non-profit teams in some uncomfortable situations:
Event registration has been open for weeks, and now we realize we never asked about dietary restrictions.
We sent the quarterly report to the board; now they say they wanted it broken down by program instead of by campaign.
We released a slick new online volunteer registration workflow, but most of our volunteers won't use it -- they still just show up unannounced.
... et cetera.
It happens.
But it's not random or unavoidable.
You probably wouldn't have a custom home built without reviewing the mockups and floor plans first.
You probably wouldn't host a dinner without counting guests and discussing the menu.
Heck, you probably wouldn't even paint your kitchen without considering a whole list of details.
In my own work, I encourage clients to go through /some/ phase of discovery and planning for almost any substantial undertaking:
What does "success" really look like -- not just features, but real-world outcomes?
Who are the stakeholders here, and what would make this awesome (or awful) for them?
What little contradictions are hiding in our initial concept, and how can we deal with them?
Those questions matter whether you're hiring an outside specialist or implementing small changes in-house.
Define the outcomes.
Acknowledge the stakeholders.
Challenge the assumptions.
This makes all the difference between "building something new" and "building something valuable."
All the best,
A.
Bunny in the mailbox
Over this past weekend my wife found a chocolate bunny in our mailbox.
We have a neighbor makes a habit of dropping small gifts and encouraging notes into our box — and, I assume, doing the same for the others in our little neighborhood.
It’s safe to say they’re not doing this for their own benefit:
No advertising value.
No public recognition.
No subscriber counts.
No votes on elecction day.
But clearly they’re “getting” something. It could be anything:
A sense of belonging.
A belief that they’re making their world brighter.
A warm feeling.
A way to dispose of their massively overbuilt chocolate bunny stockpile.
Here’s the thing:
People give for their own reasons.
They just need to know you’re willing to receive, and to believe their gift is well placed with you.
All the best,
A.
Choosing
When things go wrong, you can say:
"Not again. This is all just craziness."
Or:
"Okay, there's a pattern here, and if I can spot it, I can take action."
You already do a little of both, depending on the situation.
But you do have a choice.
The second option points toward solutions.
Choose that one.
Thousands of receipts, batched
Are end-of-year receipts a big deal for you?
By "big deal", I mean:
Important
Lots of work
A headache
CiviCRM already has basic features for this.
But the headaches usually start when:
A donor needs a corrected receipt
Finance needs consistency across thousands of gifts
Someone asks, “Are we sure every receiptable gift actually got one?”
If you're issuing receipts at scale, there’s a new extension worth knowing about: Donation Receipts.
It's not flashy, but it brings a lot to the table:
It finds what should be receipted before you send anything.
It lets you dry-run the whole process.
It locks things down so records don’t drift after receipts go out.
It can batch, queue, and send at scale.
In other words:
It assumes things can go wrong --
and builds structure so they don’t.
You can find it in CiviCRM under
Administer → System Settings → Extensions → Add New
One caveat: it comes with just one receipt template (in German).
You might want some help creating one in English.
Here's the thing:
The CiviCRM community keeps on producing great tools like this --
practical, powerful, and usually free.
They’re not always plug-and-play.
But they beat building from scratch.
And they definitely beat doing it all by hand.
All the best,
A.
P.S. Yes, it’s April. That’s exactly why now is the time to try this -- not the week your receipts are due.
Sharp tools
Last weekend I helped my dad fix some plumbing at his house.
Got four blisters on my hands.
And took forever to cut that pipe.
Ran by the supply house to get some fittings.
Spent $3 on a new cutting wheel while I was there.
Blazed through the second half of the job.
The new wheel cut that pipe like butter.
Turns out, keeping your tools sharp helps a lot.
(Hint: The moral of this story isn't really about plumbing.)
All the best,
A.
Early warnings
Today I met with a coaching client who was having a very hard time applying CiviCRM's latest security update.
She kept getting fatal errors, with very uninformative messages.
Turns out, it was caused by an issue that CiviCRM had been warning everyone about -- in it's System Status warnings -- for a very long time.
She's not alone there.
In the past few days, I've fixed several sites with the same problem.
On the call today we worked through it together, and she's now fully upgraded -- yay!
But it reminded me:
Those little status messages CiviCRM pops up for you when you log in?
They're worth noticing.
Eventually, keeping up with them might just save you a lot of trouble.
Believe me, I know it's easy to let things slide when they don't seem urgent.
But eventually they can become urgent.
And you usually don’t get to pick when that will be.
All the best,
A.

