Hello! I am working on a database for a nonprofit organization that includes a donor CRM and program data with volunteers, events, and more.
See my attached Miro board for the proposed workspace structure with syncs. I'm looking specifically at the relationships between the Fundraising base, Contacts base, and Programs base in this use case.
Here's my question: some donors are also volunteers and volunteers also make great prospective donors. Let's say that Donor A is a member of the Board. She donates $1,000 per year and also volunteers at 4 events each year. I want a single record of Donor A that shows both her donation history and volunteering history. At the same time, I want Fundraising and Programs to live in separate bases as they are each managed by different teams.
My current idea is to create a sync from Fundraising to Contacts and another from Programs to Contacts. Then, in the Contacts base, I'll add a 'remove duplicates' extension and a staff member will review it monthly for duplicates. I also thought about creating two syncs from Contacts: one to Programs and one to Fundraising, but that would require staff members to enter new contacts in the Contacts base and then go to their respective bases to log a donation or volunteer event -- an extra step I'd like to avoid. But maybe that's the best solution?
Thanks in advance for your help in thinking through this!
Hmm, it feels like there's two goals here:
1. Keeping contact information consistent between the two bases
2. Seeing both donation history and volunteering history
If you just care about 2, as long as you have a unique ID associated with the volunteer then you're pretty much good to go; your solution of syncing both bases to a "Contacts" base would let you see all the history as needed based on said unique ID
If you care about 1...this is where it gets tricky. What you said about getting users to go into the "Contacts" base to key it in would probably be the simplest solution in terms of set up but would be an extra step as you mentioned. Perhaps just set up a form for them instead so that they can just submit that instead of having to go into the base?
There are workflows that you can set up around this involving automations that duplicate synced views (allowing your users to "update" the synced view), and then syncing that new duplicate back to the "Contacts" base, but they might be more trouble than they're worth really.
You could also consider just having everything in one base and setting up Interfaces for your teams if you'd like
Hi! I think that if you construct it right, you won't have duplicates (and removing duplicates would actually be problematic, as you would also lose the related data). Start at the Contacts base. Make sure that they are added here first. You should also be able to see any related data in the context view (such as donation and volunteer history). You can do all this by adding the linked records field). You can also create an automation that first does a lookup for an existing contact and adds the appropriate link. Hope this helps!