Send a Message
Send messages to a single recipient, a custom list, or a saved segment.
Compose a message
- Go to Communications → Send and click New Message.
- Choose the channel and (optionally) a template.
- Select recipients by tag, segment, or manual selection.
- Personalize merge fields and review the preview.
- Schedule for later or Send Now.
Email one person from their profile
To write to one constituent directly, open their profile, open the actions menu and choose Send Communication. Pick Email, add a subject and write your message.
Write in the formatting editor. Its toolbar has bold, italics, lists and a link button: select the words you want them to click, click the link button, and paste the web address. A web address you paste on its own becomes a clickable link too.
If you start from a template, the template's own formatted content is used instead, and you edit it as it is. Text messages (SMS) are always plain text.
A copy of what you sent is saved as a note on the person's profile.
Build an audience from an organization
Under Communications → Audiences, create a new list and choose Dynamic to have membership stay current automatically. Among the filters, pick Organization affiliation:
- Select one or more organizations. The list resolves to everyone currently affiliated with those organizations — plus each organization's primary contact — so a company's whole roster is reachable in one place.
- Optionally narrow to specific affiliation types (e.g. only Board members, only Staff). Leave it empty to include every affiliated person.
- Keep Include each organization's primary contact on (the default) to always reach the org's main contact, or turn it off to message only the affiliated roster.
Because it's a dynamic list, anyone newly affiliated to the organization (for example, a contact added when they register a table or give on the org's behalf) is picked up the next time the list is used — no manual upkeep.
Every dynamic list needs at least one filter
A dynamic list is defined entirely by its filters. With none set, it matches every active contact in your affiliate — so Omnivo won't let you save one that way, and blocks sends that target one. If you see "This list has no filters set", open the list and add a filter.
To reach everyone on purpose, don't use an empty dynamic list. Either:
- Create a static list and tick Include all current constituents, which takes a snapshot you can review, or
- Send a campaign with the All contacts recipient type, which respects each person's email preferences.
Target donors by giving level
Among the donor filters on a dynamic list (and on a campaign segment), Giving Level lists your affiliate's own levels, as set under Fundraising → Giving Levels. If you have never set your own, it lists the built-in Bronze to Legacy levels.
- It matches the level shown on each donor's profile, so "Gold" in a list means the same donors you see badged Gold.
- Renaming a level doesn't break a list that uses it.
- If a level is deleted, a list that used it matches no one at that level. The filter then shows the level as not a current level. Pick another level and save.
- Combine it with Donor Type (Individual, Corporate, Foundation or Government) to reach, for example, Gold-level corporate donors only.
- Older lists may show the donor type Organization (no longer offered). No donor record uses that type, so those lists matched no one. Choose Corporate or another type before you save.
Omnivo won't save a list or campaign with a giving level your affiliate doesn't have.
What counts as giving
The giving amount filters (Min and Max Lifetime Giving, and the time-period amounts below) add up the same gifts as the lifetime giving on the donor's profile:
- Completed gifts count in full. A partially refunded gift counts at the amount you kept.
- Pending, failed and fully refunded payments don't count.
- A gift recorded for an organization counts toward that organization, not toward the contact who handled it.
Last Donation Within (days) is different: it looks at the date of the person's most recent donation record, whatever its payment status.
Narrow an audience to a time period
Giving and volunteer-hour filters come in two forms, and the difference matters.
The all-time boxes — Min Lifetime Giving, Min Hours (all time) — count everything on record. A $500 gift from six years ago and one from last month look identical to them. That is the right measure for recognition and lifetime-value work, and the wrong one for "who should get this appeal".
Below each of those is a time period group: the same minimum and maximum, measured only over the stretch you choose. Type an amount and Omnivo assumes the last 12 months; change it with the Time period dropdown, or pick Custom date range to set exact dates — useful for a fiscal year. Leave the end date blank and the period runs to today.
So "donors who gave at least $500 in the last year" is Min given in period $500 with the period set to Last 12 months. "Volunteers with 50 or more hours this year" is Min hours in period 50 over the same window.
Both ends of a custom range are included, whole days at a time. A gift made at 7pm on the closing date is inside the period.
Find the people who used to show up
The all-time and time-period filters sit side by side on purpose — set both and Omnivo applies both. That is what makes lapsed audiences possible, and they're the ones worth mailing:
- Major donors who have gone quiet. Min Lifetime Giving $5,000, then Max given in period $0 over the last 12 months. Everyone who has given generously and given nothing since.
- Volunteers who have drifted away. Min Hours (all time) 1, then Max hours in period 0 over the last 12 months. People who showed up before and haven't lately.
- Growing donors. Min given in period $100 over the last 12 months alongside Max Lifetime Giving $1,000 — recent, active, not yet a major gift.
A zero in the maximum box is a real filter, not an empty one. It's the whole point of a lapsed list.
A period needs an amount
The period on its own doesn't select anyone — it only says when to measure. Omnivo won't save a list with a period and no minimum or maximum, or with an amount and no period, and the dropdown stays greyed out until one of the boxes has a number in it. Clear the last number and the period clears with it.
To count across all time instead, use the all-time boxes above rather than stretching the period.
Build a campaign segment
A campaign can go to a Segment instead of a saved list. You set the filters right in the campaign: volunteer hours and status, giving amounts, donor type, giving level, join dates and email engagement.
A segment needs at least one filter. With none it reaches no one, so you can't continue past the recipients step until you add one. To email everyone, choose All Contacts.
Estimated recipients matching this segment uses the same rules the send uses: active contacts with an email address who match every filter. People who have opted out of that kind of email, or whose address is on the suppression list, are removed when the campaign is prepared. So the number that actually goes out can be a little lower than the estimate.
Filter by email engagement
The engagement filters look at your campaign emails only. Automated messages and one-off sends don't count.
- Opened Email Within (days): opened a campaign email in that many days. Clicking a link counts as opening.
- Clicked a Link Within (days): clicked a link in a campaign email in that many days.
- Opened Any Campaign Email:
- Has opened at least one finds anyone who has ever opened one of your campaign emails.
- Was sent one and never opened any finds people you have emailed at least once who have never opened anything. Someone you've never emailed isn't included.
Some email apps (Apple Mail, for one) open messages automatically to protect privacy, so "opened" can include people who never actually read the email. Clicks are a stronger signal.
Change a campaign's lists before it sends
When you create a campaign, Omnivo prepares its recipients right away, so the Recipients column on the campaigns list shows how many people it will reach.
A draft or scheduled campaign's lists can still be changed: open Edit on the campaign and tick or untick lists under Recipients.
- Refresh counts how many people the ticked lists reach, after opt-outs, inactive contacts and suppressed addresses are taken out. It doesn't change the campaign. Close the dialog without saving and the campaign keeps its old lists.
- Save with a different set of lists prepares the recipients from the new lists, and the campaigns list shows the new count.
Prepare Recipients on a draft or scheduled campaign's menu re-counts its saved lists, which picks up anyone added to a list since it was last prepared. Omnivo also does this when the campaign sends, so people added to a list after you saved are still included.
Once a campaign has sent to anyone, its lists can't be changed, even if it was paused and resumed.
When a list or segment matches no one
If a list or segment was saved with a filter Omnivo can't apply, it matches no one rather than everyone, and a send that uses it stops with a message naming the filter. This can happen with lists made by older versions of Omnivo. Open the list, check its filters, and save it. Saving removes filters that are no longer supported, and the edit screen tells you which ones those are first.
A scheduled campaign that reaches its send time with such a list or segment is paused instead of sent. How you get it going again depends on who it sends to:
- Saved lists: open each list the campaign sends to under Communications → Audiences, check its filters and save it. Then click Resume on the campaign under Campaigns. The campaign picks up the fixed list when it sends.
- A segment: a campaign's segment filters can't be changed once the campaign is created, and Duplicate copies them unchanged, so neither fixes it. Cancel the paused campaign and create a new one, building the segment again. Resuming the paused campaign as it is only pauses it again.
Build an audience from a spreadsheet
Under Communications → Audiences, Import from File builds a static list from a CSV or Excel file. Useful when the people you want already exist somewhere else — a registration export, a report, a sign-up sheet a volunteer kept.
- Export or prepare a file with a column of email addresses. A column headed Email is found automatically; if yours is called something else, or the file has more than one address column, type the header name in Email column.
- Give the list a name and upload.
- Review what came back before you use it.
Omnivo matches each address to a contact you already have, and creates a contact for any address you don't have yet — email only, no name — so the list ends up the same size as your file and the relationship is on record. Those contacts appear in Contacts like any other; fill in names and details whenever you learn them.
Untick Create contacts for addresses we don't have to leave unknown addresses out instead. Omnivo then lists them back to you so you can decide what to do.
Either way the summary accounts for every row — added, newly created, already on the list, blank, duplicated, not a valid address — so the number on the list is one you can explain.
Files up to 10MB, in CSV or Excel format. Re-importing the same file into an existing list adds only the people who weren't already on it.
Member counts are a snapshot
The number shown next to a list in the Audiences screen is stored, not live — it's from the last time the list was created, edited, or refreshed. A dynamic list drifts away from it as people are added, tagged, or deactivated.
Anywhere Omnivo is about to send, it re-checks the list and shows you the current number instead. To update the stored count yourself, open the list and use Refresh.
Two numbers can differ for a good reason. A list's members are everyone on it; the number Omnivo shows before a send is everyone it will actually reach — members who are still active and have an email address. A list of 500 that reaches 480 has 20 members a send would skip.
"Not counted" is not zero
A list reads Not counted when Omnivo has never successfully worked out its size — usually because something in its filters couldn't be evaluated when it was saved. It deliberately doesn't show 0, because a list nobody has counted and a list with nobody on it are very different things and you shouldn't have to tell them apart from the same number.
Open the list, check its filters and use Refresh. If it still won't count, the filter combination needs fixing before the list is safe to send to. A brand-new static list you haven't added anyone to yet correctly reads 0, not "Not counted" — that zero is a real answer.
Best practices
- Test with a small internal group before large sends — put the test addresses in the manual recipients box rather than selecting a list, since a selected list is always sent to in full.
- Read the recipient count on the Send button before you confirm. It is the number that will actually receive the message.
- Stagger large lists to avoid deliverability issues.
- Honor unsubscribe and SMS opt-out preferences automatically applied by Ayuna.