The Blackbaud integration keeps your Blackbaud constituents and your Vome profiles in step with each other. It works with Raiser's Edge NXT, Blackbaud CRM and Blackbaud Altru.
It is a two-way sync, but it is a two-way sync you build yourself. You decide which fields travel, which direction each one travels in, which system wins when both sides have changed, and which people cross over at all. Connecting the two systems does not move any data on its own.
Once it is running, a change to someone's phone number in Vome reaches Blackbaud within a few minutes, a change made in Blackbaud comes back the same way, and your volunteering totals appear on the constituent record overnight.

One record per person across both systems. Your fundraising team and your volunteer team stop working from two different lists of the same people.
Volunteering becomes visible to fundraising. A development officer opening a constituent can see hours served, last shift and upcoming shift without leaving Blackbaud.
No manual exports. Changes flow as they happen rather than in a spreadsheet once a quarter.
You decide what is shared. Nothing moves until you say so, field by field.
The integration page has four tabs, and two of them decide what actually happens. Understanding the difference between them answers most questions about why something did or did not sync.
Fields is the permission layer. It answers one question: may this field ever move, and in which direction? A field switched off never moves, whatever else you set up.
Workflows is the behaviour layer. It answers a different question: when should it move, and for whom? A workflow can never move a field that the Fields tab has not permitted.
If you write no workflows at all, every field you switched on is synced whenever a profile changes. That is the simple setup and it is a perfectly good one. Workflows are for when you want conditions, for example sending only the people your fundraising team has marked.
Connecting Vome to Blackbaud establishes trust between the two systems. It does not move a single record.
Every field starts switched off. You open the field you care about, choose whether it travels to Blackbaud, back from Blackbaud, or both ways, and switch it on. A field you never touch never moves, in either direction.
Before you run a sync for the first time, use Preview changes. A preview reads both systems and shows you exactly which people would be created, matched or skipped, without writing anything to Blackbaud. The live run stays disabled until you have previewed at least once.
Each field carries its own direction, because organizations do not own every field equally. Your fundraising database is usually right about mailing addresses. Vome is always right about hours served.
Name, email, phone, mailing address, date of birth and gender. These can travel either way, or both ways.
Archived becomes inactive. Travels to Blackbaud only. Archiving someone in Vome can mark the constituent inactive, but an inactive donor is never treated as a retired volunteer.
Hours volunteered, shifts completed, first and last volunteered. Travel to Blackbaud only. Vome works these out from your shifts, so there is nothing for Blackbaud to send back.
A direction is a rule, not a preference. A field set to Vome to Blackbaud is simply invisible to anything running in the other direction. It is skipped, never reversed.
When a field syncs both ways, you choose what happens if both sides changed since the last sync:
Vome wins. Vome's value overwrites Blackbaud's.
Blackbaud wins. Blackbaud's value overwrites Vome's.
Most recently changed wins. Whichever value was edited last is kept.
A field that only travels one way has no conflict to resolve, so it has no such setting.
A workflow is one rule, written as a sentence. When something happens, if some condition holds, then do this.
When is what starts the rule, and it also decides which system the rule writes into:
A profile is added or updated in Vome, or added only. A rule that starts in Vome writes into Blackbaud.
A constituent is added or updated in Blackbaud, or added only. A rule that starts in Blackbaud writes into Vome.
Every hour, day, week or month. A scheduled rule walks the people already linked and pushes to Blackbaud. It never creates anybody.
If is optional. Conditions test a field on the side the rule starts from, so a rule that starts in Blackbaud can test a Blackbaud custom field, which is how "only the constituents our fundraisers marked as volunteers" is written. Leave it empty and the rule applies to everyone.
Then is what it does:
Create them in Blackbaud or Create their profile in Vome. Makes the matching record if it is not there yet. A profile created from Blackbaud is offline and is not invited to anything.
Sync the mapped fields. Brings every field you switched on up to date, in this direction. One action, however many fields.
Set a value in Vome or Set a value in Blackbaud. Writes a fixed value you type, rather than copying a field. This is how you tick your own box on a profile to record that Blackbaud sent them. It can write into any field on that side, and it offers the right control for the field, so a yes or no field gives you two choices and a date field gives you a date picker.

The two systems find the same person by email address, in both directions, and they do it carefully.
Going out to Blackbaud:
If the two records have been matched before, that link is used and no search happens.
Otherwise Vome searches Blackbaud for that exact email address.
If exactly one living, active constituent matches, the two are linked.
If several constituents share the address, Vome reports it as Needs a decision and links nobody. Guessing would write a volunteer's details onto the wrong donor.
Constituents marked deceased are never matched. Constituents marked inactive are reported rather than linked.
Coming back from Blackbaud:
Vome looks for a profile holding that email address, checking both the sign-in address and the alternative one.
If exactly one profile matches, the two are linked and the rule runs.
If nobody matches, the constituent is skipped, unless a workflow says Create their profile in Vome.
If two profiles share the address, nothing is written and the clash is reported. Tidy the duplicate in Vome first.
Four things drive the sync, and they run on different clocks for good reasons.
When something changes in Vome. Adding or editing a profile queues that person, and the change reaches Blackbaud within about five minutes.
When something changes in Blackbaud. Switch on Let Blackbaud send us changes on the Activity tab and Blackbaud tells Vome when a constituent is added or edited, when a constituent custom field changes, and when an email address, phone number or address changes. Until that switch is on, a workflow that starts from a Blackbaud change has nothing to start it.
Overnight, for your volunteering totals. Hours and shift counts move whenever anyone logs time, so they are refreshed once a night rather than on every edit.
Whenever you press the button. Preview changes, Run the sync and Pull from Blackbaud are always available.
Raiser's Edge NXT does not accept volunteer timesheets through its API. Blackbaud allows them to be read, not written. So Vome writes your volunteering totals to a custom field on the constituent instead, which is visible, reportable and queryable on the Blackbaud side.
You create the custom field in Blackbaud first, then name it in Vome when you switch the mapping on.
Blackbaud CRM and Altru call these constituent attributes rather than custom fields, and they work the same way with one difference: those two products do not publish a list of the attributes your organization has created, so instead of picking one you type the attribute category name exactly as it appears in Blackbaud, and tell Vome what kind of value it holds.

On Raiser's Edge NXT, the integration also adds a Vome panel to the constituent record, so your fundraising team sees volunteering without opening Vome. This part is Raiser's Edge NXT only. Blackbaud CRM and Altru get the full sync, including hours written to a constituent attribute, but not the panel. It shows hours volunteered, shifts completed, last and next shift, and the programs the person volunteers with.
It is read only, and it deliberately shows activity only. Notes, medical information, emergency contacts and custom fields stay in Vome, because the person reading the panel is a Blackbaud user and Vome's own permissions do not apply to them.
You will need:
A Vome subscription on the Ultimate plan
An administrator account in Vome
A Blackbaud login with permission to see and edit the records you want to sync. Vome can only do what the person who connects it can do.
An administrator in your Blackbaud organization who has activated Vome in the Applications area of your Blackbaud product. Consent alone is not enough, and this is the most common reason a first connection attempt fails.
From the left-hand navigation in Vome, click Integrations & Apps.
Open Blackbaud.
Choose which Blackbaud product you are connecting: Raiser's Edge NXT, Blackbaud CRM or Altru. They use different APIs, so this cannot be changed later without reconnecting.
Click Connect to Blackbaud. You are taken to Blackbaud to sign in.
Sign in with your Blackbaud credentials and approve the connection. Choose the environment you want to link if you are asked.
You are returned to Vome, and the environment appears under Connection.
Click Test connection to confirm it is working.
On the Fields tab, open each field you want to sync, choose its direction, and switch it on.
On the Workflows tab, add a workflow if you want conditions. Skip this if you want everything switched on to sync every time.
If you want changes made in Blackbaud to reach Vome, open the Activity tab and switch on Let Blackbaud send us changes.
Run Preview changes, read the result, then run the sync.
Open the Activity tab and read Is this working? at the top. It walks every step between the two systems in order and tells you which one is stopping, with the fix beside it. Start there rather than guessing.
The usual answers it gives:
No fields are switched on. The most common one by far. Connecting is not the same as syncing.
Blackbaud has not been asked to send events. A workflow that starts from a Blackbaud change cannot run until Let Blackbaud send us changes is on.
The field you edited is not switched on in that direction. A workflow that matches somebody and writes nothing is usually this.
Nobody matched. More than one record shares that email address, or the person is in one system only and no workflow asks for them to be created.
The person has no last name in Vome. Blackbaud will not create a constituent without one.
The connection says Reconnect needed. Someone in Blackbaud may have deactivated the application, or the connection has aged out. Click Reconnect.
Two buttons on the same tab let you test without waiting. Run now works through anything queued from Vome. Pull from Blackbaud reads the constituents changed there recently and runs your inbound workflows against them, which is the quickest way to find out whether a rule does what you meant. It only reads from Blackbaud, so it is safe to press.
If the sync is not behaving, the fastest route is to submit a ticket. You can also email us at support@vomevolunteer.zohodesk.com.
Tell us which direction is failing, Vome to Blackbaud or Blackbaud to Vome, and which field. Reading out what Is this working? says gets to the right answer much faster.
Two-way sync between Vome and Raiser's Edge NXT, Blackbaud CRM or Altru, on the Ultimate plan.
Fields decides what may move and in which direction. Workflows decides when it moves and for whom. A workflow can never move a field you have not switched on.
Nothing syncs until you switch a field on. Every field starts off.
A direction is a rule. A field set one way is skipped by anything running the other way, never reversed.
People are matched by email address in both directions. Shared addresses are reported, never guessed.
Blackbaud only tells Vome about changes once Let Blackbaud send us changes is switched on.
Hours are written to a Blackbaud custom field, or a constituent attribute on CRM and Altru, because Raiser's Edge NXT does not accept volunteer timesheets through its API.
The Vome panel inside the constituent record is Raiser's Edge NXT only. The sync itself works on all three.
When something does not sync, Is this working? on the Activity tab names the step that is stopping.