Sikh Research Institute
Data map · Phase 2 · Draft v13 · 14 Oct 2026
Drag the background to move, or scroll (hold space to drag anywhere) · ⌘/ctrl + scroll to zoom · click a card to flip it · comment on any card
To confirm
Trace a system through the CRM: ƒ computed by the CRM new field
From nine systems to one source of truth

Where every record lives today, what we trim, and how it lands in Zoho CRM

Systems today on the top row, the CRM in the middle, the Zoho apps it feeds below. Flip any card for its before-and-after table. What still needs a call or an answer is on the To-confirm slide.

37,336distinct people across the five systems holding email
24,886subscribed on at least one Mailchimp list
181fields in the target model, each traced to a client requirement
1call still open, on the To-confirm slide
Before

Nine systems, the same person in most of them

Front: the system as it is and the recommendation. Back: one table per system. For every piece of data it says what exists today (Before), exactly what happens to it (After) and why.

Green: kept, moved into Zoho
Orange: kept, but changes shape or tool
Red: not carried over, or a fix needed whatever we do

Mailchimp

Newsletter and every mailing list ever made
49mailing lists
36,964people
24,886subscribed
1.74Memails a year
3people who send
RecommendationMove email sending to Zoho Campaigns and keep one copy of each person in the CRM. 14 of the 49 lists were sent to in 2025 or 2026; the other 35 are dormant or copies of other systems. Lists become segments on CRM fields, interest groups become nine Topics, and every unsubscribe and bounce is loaded before anyone else.

Mailchimp

before and after

Mailchimp is the newsletter tool. It holds 49 separate mailing lists (Mailchimp calls them audiences), and the same person is often in several of them. Sending moves to Zoho Campaigns; the CRM holds the single record of each person and Campaigns reads from it.

DataBefore (today)After (in Zoho)Why
Mailing lists49 lists. Seven carry the sending: Community Updates, the newsletter (21,599 subscribed); Stakeholders (152); Donor/Prospect List (1,673); TGGSP Updates (668); Sidak Alumni (424); Media & Press (306); Academics & Institutions (996). Six regional lists (BC, GTA, NJ/NY, AB, IL, DMV) are used for fundraiser invitations. 35 have had no send since 2024 or earlier, or never. Most lists are subsets of the newsletter, so one person receives the same email twice.Keep every person and their subscription status from all 49 lists, loaded once into the CRM: about 37,000 people, 24,886 with a live subscription. Keep as Campaigns segments, each a filter on CRM fields so a person appears once, set up before the first send: Community (everyone except Stakeholders and Staff; every email sent by topic goes here: the weekly email, invitations, launches, TGGSP, K-12 / Sojhi, press releases), Stakeholders, Staff, Sidak Alumni, Donors & Prospects, Major Donors, 1K+ Donors, Institutions (Audience includes Institutions, in place of Academics & Institutions), Learners (Thinkific ID) and Store Customers (Shopify customer ID). The six regional lists become segments on State / Province together with donors, Sidak alumni and the Board, AC and Board Emeritus values. Retire the 29 one-off lists (exported to an archive file), the four copies of Thinkific and Shopify (their people are the Learners and Store Customers segments), and Donors from Funraise, whose people the donor segment already holds; the Test Audience is deleted.One record per person ends the double sends, and "who is on which list" becomes something the CRM knows rather than a manual import.
Interest groupsSix topics a subscriber can tick on a preference page: Talks & Learning Events 9,635 · Publications 4,989 · TGGSP 3,778 · K-12 / Sojhi 488 · Articles 429 · Sidak 386. The page exists and has never been sent to anyone.Become nine Campaigns Topics: General Announcements (new, held by everyone subscribed) · Weekly Newsletter (new) · Talks & Learning Events · Publications · The Guru Granth Sahib Project · Sidak · K-12 / Sojhi · Fundraising & Impact (new) · Press Releases (new). Articles is not carried; the people who ticked it keep the Weekly Newsletter. Everyone starts with the topics that match what they receive today; Stakeholders and Staff start with General Announcements only. Each email goes under one topic. A person can leave one topic and keep the others; the preference page goes in the footer of every Zoho email.Today an unsubscribe removes a person from a whole list. Topics let a board member stop the newsletter and still receive board mail.
Tags706 labels attached to people, doing four different jobs: statuses (Charter Member, Board, Donor, Sidak Alumni); which system the person came from (Thinkific 3,862, BigMarker 1,665); about 150 per-event labels (Eventbrite auto-tags, "Registrant" and "Attendee" per webinar); and send tracking ("Invite Sent" 14,714, "Already Sent").Keep the statuses, but as CRM fields: roles as Affiliation values and prospects as the Prospect checkbox, set by staff; donor category and giving level calculated from gifts; Major Donor, 1K+ Donor and Sidak alumni as saved filters. Keep the per-event labels as Event Registration records on the contact. Keep the origin markers as the contact's source IDs. Drop send tracking: Campaigns records who received what on its own.Zoho allows 10 tags per record, and a tag is only a word: it has no date, no owner and no rule behind it, so it cannot say when or why a status applies. Fields and records can.
Merge fieldsMerge fields are the data columns Mailchimp stores per person (first name, postcode and so on). The newsletter list has 51 of them. 24 were copied in from Funraise (Total Donated, Donor Type, Gift Capacity, Net Worth, Income, wealth score) and 14 from BigMarker; fewer than 2% of records hold a value. Other feeds reuse them for unrelated data: Facebook zip codes land in the Funraise postcode column.Keep first name, last name, email, address and organisation. Drop the rest. Giving figures live on the CRM contact, where Campaigns can read them to build segments; wealth-screening data does not go into an email tool at all.Two copies of donor data drift apart, and personal financial data in a marketing tool is a privacy exposure.
Saved segmentsSaved segments are stored filters. There are 15. Geography is done three different ways: by the IP address at sign-up (USA List 6,720, Canada 3,201), by a Funraise country column (UK 109), and by hand-made regional tags. One filter points at deleted tags and matches nobody.Rebuild as rules on CRM fields. Geography comes from the contact's address (state or province, with city or postcode for the Toronto and New York areas), so an invitation to a BC fundraiser is "everyone with a BC address". The event reminder is a template only: Zoho One's Campaigns edition has no filter on who did not open. Nothing else is carried.A filter on a real address field stays correct; IP location and hand-made tags go stale.
Opt-outs and bounces9,612 unsubscribed and 6,471 bounced addresses across all lists. 2,150 people unsubscribed from the newsletter but are still subscribed on another list, so they still receive email.Keep every unsubscribed and bounced address. They are loaded into Campaigns first, before any contact is imported, and the count is checked. A bounce on any list counts as a bounce everywhere. The 2,150 who left the newsletter keep only the topics of the lists they stayed on, never the Weekly Newsletter.The first Zoho send must not reach anyone who opted out.
Campaign history and engagement1,227 sent campaigns with opens and clicks. The warehouse already stores campaign totals for the dashboard's Email tab. Per-person activity exists only in Mailchimp and is deleted when a member is deleted.Keep campaign totals (already in the warehouse; the 1,227 campaigns stay on the dashboard's Email tab). Keep each person's full Mailchimp history in an export, and a summary on the contact: first subscribed, last open, last click, and campaigns opened and clicked in the 12 months before the move. As much of the history as Zoho can load also comes onto the contact, for the Mailchimp years and for Zoho's own campaigns from the first send; Raah checks how much Zoho accepts. No Mailchimp member is deleted before the migration is signed off.Engagement feeds the engagement score and the lapsed-donor logic.
Feeds that write into MailchimpThinkific (an app plus a Zapier zap), Shopify (ShopSync), Eventbrite (three integrations, no longer running), Facebook lead ads (Zapier), the website sign-up form (7,489 records), and two zaps copying one list into another. Also a webhook to campaignsync.ca, a retired NationBuilder bridge that wrote 31.7% of the newsletter's records.Re-point each one at the CRM: Thinkific, Shopify and BigMarker, each connected in the way agreed with Raah, Facebook lead ads through LeadChain, the website sign-up forms through Zoho Flow once their destination in Webflow changes. Switch off the three Eventbrite connections, the two list-copy zaps and the dead webhook.The CRM becomes the one place a person enters the system.
Templates19 templates. The 200 campaigns sent since June 2025 were built from four of them in all but 6 cases: SikhRI - Simple Message, 1:2 columns:3 columns, Weekly - 13 August 2024 and SOTP-Report-template.Rebuild these four in Campaigns to look the same. The rest are saved as files, not rebuilt.These cover the current sending.
Data that exists only hereSidak attendance by year (tags "Attended Sidak 2003" to "2022" on 424 people); stakeholder roles (Charter Member, Board, BE, AC, CM Family); media classifications (International, Panjabi); TGGSP India event attendance.Keep, as CRM fields and records: Sidak years attended on the contact, with Year unknown where no year is known; roles as Affiliation values; media classification as Media type; India events as Event records.Nowhere else holds them. Losing them loses the alumni and press databases.

Fix regardless: the 2,150 people who left the newsletter and still receive other mail. Topics in Campaigns resolve it: leaving the newsletter leaves that topic, and a bounce anywhere suppresses everywhere.

Funraise

Donor database and online giving; every gift keyed by Shevya
7,788gifts
2,774supporters
4active giving forms
88.9%of dollars arrive offline
$7,020a year
DecidedFunraise goes; Zoho replaces it, last in the sequence. Harinder has made this call: one source of truth, 85% or more of gift entry automated. Donor records and gift entry move to the CRM, online giving to the new Stripe donation pages Raah is building on the same Stripe accounts, reports to a fundraising dashboard in Zoho Analytics. The Funraise Migration Plan v1 sets out every field; the back of this card lists the pieces of work and who owns each.

Funraise

before and after

Funraise is the donor database and the online giving tool. Shevya keys every gift into it, including cheques and wires. The decision is made: the CRM becomes the donor database, the new Stripe donation pages take online giving, and Funraise is switched off last, after everything else has moved. Values marked "proposed" are in the Funraise Migration Plan v1, for Shevya to confirm. The first table says what happens to each piece of data; the second is the work plan.

DataBefore (today)After (in Zoho)Why
Supporters2,774 records: 2,581 people and 193 organisations (109 corporations, 62 foundations, 8 places of worship, 8 donor-advised-fund sponsors, 3 schools, 3 other). 389 households hold 692 people. 1,130 supporters have no donation recorded.Keep all but the 6 test records. People become CRM Contacts, matched by email to the same person from Mailchimp, the courses and the store, never by name; organisations become CRM Organizations with their type kept; the 241 households with two or more members become Household records. The Funraise supporter ID is stored on every record so gifts match back (proposed).One person, one record. Organisations and households become their own objects instead of a flag on a person.
Supporter tags43 different tags on 2,765 supporters, doing five jobs. Donor category: NCM 1,843 · CM_Life 67 · CM_Active 62 · CM_Inactive 7 · Prospect 89. Charter-member start year: a bare year tag on 49 people. Ex-charter-member year: 2021_Ex_CM to 2026_Ex_CM, 24 people. Giving tier: 1K_Donor 157 · Major_Donor 75. Governance: Board 10 · AC 10 · BE 12 plus family variants. Fundraiser attendance: BC_Fundraiser_2024 129 · NJ_Fundraiser 79 · Calgary 2023 and 2024 · DMV · SA · NY. Programme: Sidaker 603 · Volunteer 7. Noise: Test, Facebook, Paypal.Keep the meaning, not the tags (proposed). Charter status becomes a charter commitment with its start year, set from the tags and then by the fundraising role. Donor category, giving level and retention are calculated from gifts and commitments; Major Donor and 1K+ Donor become saved filters. Board, AC, BE, the family tags and Volunteer become Affiliation values; Prospect becomes the Prospect checkbox; CM_Submission becomes the lead source Charter Members Network. Each fundraiser attendance becomes an Event Registration record. Sidaker becomes Sidak years attended. Test, Facebook and Paypal are dropped.A tag is a plain label with no date, no rule and no owner, so it cannot say when someone became a Major Donor or why. Today Shevya updates these by hand; calculated fields update themselves and are always current.
Gifts7,788 completed gifts dated 2004 to 2026: 4,832 online and 2,956 entered by staff. Online gifts keep the amount and currency given; gifts entered by staff are recorded in USD only, including 628 on the Canada and UK forms. 2,215 failed attempts, 1,568 of them in 2022; 53 Pending entries, USD 996,500; 6 refunds.Keep every completed gift as a Donation record with the amount and currency given and its USD value, plus four fields Funraise does not separate out: Channel, Fund, Entity and Entry mode. CAD and GBP amounts entered by staff are recovered from the notes, or worked back at the rate of the donation date. The Funraise donation ID is kept as a hidden reference field for the import. The dedication, anonymous flag and donor comment are not carried as fields; where a past gift has one, it goes into that gift's notes, so an anonymous donor is never named. Refunds come over as refunded; failed attempts are counted on the recurring plan; Pending entries become pledges for the year (proposed).Every board indicator (totals, tiers, retention) is a sum over these records, and every donation keeps the currency it was given in.
Allocation23 fund names and 32 donations with none, including legacy codes prefixed with "#" and staff role names typed in as allocations.Keep as Fund with exactly four values: Unrestricted, TGGSP, Sidak, SHP. Older spellings map to the four; the 13 other names count as Unrestricted unless Shevya says otherwise, and each donation keeps its original name (proposed).Reports need a clean split by fund. TGGSP and Sidak are sub-brands that must never be collapsed into the organisation total.
Payment methodTen values, with checks under two spellings; "other" on 1,073 gifts, mostly third-party platform receipts such as DVN and CanadaHelps.Keep as one picklist: Card, ACH, Wire, Check, PayPal, Cash, Stock, Other. Checks paid online through Stripe, iATS or a removed gateway become ACH, and "other" takes the method a payment tag names (proposed). The channel information moves out of this field into the new Channel picklist (see the Offline card).Method (how the money moved) and channel (where the gift came from) are two questions; today one field answers both badly.
Giving forms and payment accounts31 forms: 4 active (US main, US Foundation, Canada, UK) and 27 closed, on three Stripe accounts, PayPal and iATS. Country totals are reported by the form a gift came through.Keep the form as the Entity on every historical gift (US, Canada, UK; the US Foundation form reports as US). The form name is not carried: entity and channel replace it. New online gifts come through the Stripe donation pages Raah is building on the same Stripe accounts.Country indicators depend on this field. The Stripe accounts stay, so no new payment underwriting.
Recurring plans30 active (28 monthly, 2 quarterly; 20 in USD, 9 in CAD, 1 in GBP), all last charged through Stripe; 48 failed, 12 cancelled, 58 historical, 18 redacted. Donors cancel by emailing Shevya.Keep each plan as a Recurring plan record with status, next payment date, card type and expiry, never the card number. The requirement is that each plan carries on from the new Stripe setup with the card already on file, without the donor entering it again; a plan is cancelled in Funraise the day it starts on the new setup, so nobody is charged twice.The failure alert and the card-expiry reminder in the requirements need the plan as a record.
ReceiptsTemplates per entity; CAD and GBP receipts prepared by hand; donor-advised-fund gifts get an acknowledgement, not a receipt.Keep the rules, rebuilt as CRM templates that read the gift's original currency. Receipt type (receipt, Foundation / DAF letter, or none for platform donations and Gift Aid) is set automatically from the organisation and the channel, with a manual override (proposed).Requirement, and it removes the manual CAD and GBP step.
Consent flagEvery giving form opts donors in automatically.Do not copy the flag. Every donor starts with General Announcements and the Fundraising & Impact topic (Mailchimp Migration Plan v7), and the donation pages say so in one line near the donate button. Mailchimp unsubscribes and bounces always win. The postal opt-out (1,100) is kept as Do not mail.One consent rule for every donor, set in the Mailchimp plan.
Reports and dashboardsShevya's board dashboard and reconciliation dashboards. The donor-tier table cannot be built in Funraise, which is why the planner spreadsheet exists. Marketing has no Funraise access and asks Shevya for numbers.Rebuild as one fundraising dashboard in Zoho Analytics, opened from a tab in the CRM, with the Monthly PI report and the tier table; saved filters of donors live in the CRM. Marketing opens the same dashboard. The Performance Dashboard reads donations from the CRM after the switch-over.One place for the numbers.
IntegrationsMailchimp (writes 24 donor columns into two lists), Streamlabs and Twitch (legacy), Shopify pending; QuickBooks, Salesforce and Raiser's Edge deactivated. The single webhook slot is disabled and free.Switch off all of them at cut-over. The free webhook slot can feed Zoho Flow or our own receiver during the transition.Nothing downstream depends on them once the CRM is the source.

The work that makes it happen

WorkstreamWhat it involvesOwnerWhere it stands
1 · CRM data modelContact, Organization, Household, Donation, Pledge and Recurring plan modules with the agreed field set, so every Funraise field has a home before anything is moved.Skyrocket, with Raah buildingTarget model v3; Funraise fields and API names proposed in the Funraise Migration Plan v1, for Shevya to confirm
2 · Mapping tables43 supporter tags to fields and records; 23 fund names to 4 funds; payment method and channel picklists; receipt type rule.Skyrocket; Shevya signs offIn the Funraise Migration Plan v1; Shevya's review pending
3 · Online givingStripe donation pages on the three Stripe accounts, each donation written to the CRM with entity, fund, channel and UTM, then to Books (Donation Flow Data Requirements v4).RaahIn progress
4 · ReceiptsTemplates per entity in USD, CAD and GBP reading the gift's original currency; automatic receipt type; Gift Aid declaration on the record.Raah, rules from ShevyaReceipt formats handed to Raah; rules still to write
5 · Recurring plansThe 30 active plans carried onto the new Stripe setup with the card on file; failure notice and card-expiry reminder set up (method in Donation Flow Data Requirements v4).Shevya, with a message drafted by SkyrocketNot started
6 · Third-party importsA monthly import template for the DVN and CanadaHelps reports: channel preset, entry mode Platform report, no SikhRI receipt, donors matched on email or created.Raah, to the Funraise Migration Plan v1Waiting on the report formats from Gurjot
7 · MigrationLoad supporters, gifts, plans and pledges from Funraise as repeatable updates, keep Funraise IDs on every record, and check counts and totals by year, fund and entity against Funraise.Raah, to the Funraise Migration Plan v1; Skyrocket supplies the file of CAD and GBP amounts recovered from the notesAfter Mailchimp and the feeds are live
8 · ReportsOne fundraising dashboard in Zoho Analytics, opened from a tab in the CRM: the board dashboard, the Monthly PI report and the tier table; marketing opens the same dashboard. Saved filters of donors in the CRM.Raah, to the Funraise Migration Plan v1; Skyrocket moves the Performance Dashboard to read donations from the CRMSet out in the Funraise Migration Plan v1; Shevya's review pending
9 · Cut-overFunraise set read-only, integrations off, webhook slot released, subscription cancelled after one full reconciled month on Zoho.JaspreetLast step

To confirm with Shevya, as comments in the Funraise Migration Plan v1: the Pending entries as pledges for the year · the 13 other fund names as Unrestricted · no receipt for platform donations · the charter tier from the yearly commitment · one commitment per couple · CM_Family donations as non-charter · the last 36 months for giving levels · the exchange rate from Zoho Books · donors to date counted once · the non-charter tier from this year's total · the retention definitions · grants, employer matching and Gift Aid · the Australian charter members in the projections. Where Gift Aid declarations are read today is open with Shevya (Funraise Migration Plan v1, FR-25); the donation forms are covered in a separate call with her. With Jaspreet: which Stripe account belongs to which entity, and whether the 30 active plans were charged through the accounts Raah has connected.

Eventbrite

Free registration for in-person events, and growing
71events
3,906registrations
2,493people
16 + 16events in 2025 and 2026
0check-ins recorded in 2026
RecommendationKeep Eventbrite; connect it to the CRM with Zoho Flow. Zoho Backstage's free tier has no CRM link and caps events at 100 attendees, which four 2026 events exceed; the paid tier costs C$3,492 a year and Luma is a third option; both are on the To-confirm slide. Whatever the platform, volunteers need a way to check people in that is not a shared spreadsheet.

Eventbrite

before and after

Eventbrite handles registration for in-person events. It stays. The change is that registrations and attendance flow into the CRM automatically through Zoho Flow instead of being exported and tagged by hand.

DataBefore (today)After (in Zoho)Why
Events71 events since 2016: 16 in 2025 and 16 in 2026, up from 7 in 2024. 58 in person, 13 online, 64 free, 3 multi-day, 60 publicly listed.Keep all 71 as Event records in the CRM (name, date, venue, online or in person, capacity, listed or not), imported once. New events arrive through Flow.Attendance has to attach to an event record.
Registrations3,906 registrations from 2,493 people. The form asks only for first name, last name, email, an optional phone number, and one access or dietary question.Keep all 3,906 as Registration records on the contact: event, date registered, source, ticket type, status. New registrations arrive through Flow ("Attendee added") within minutes."Event Registrant" with the detail of each event is the Community team's biggest ask. Today it is a Mailchimp tag applied by hand from an export.
Registration sourceRecorded on every registration: organiser-shared links 568 · Eventbrite-distributed 496 · WhatsApp 482 · website 394 · direct 276 · email 177 · Mailchimp 96 · Eventbrite search and browse about 400 (10%) · Facebook 71 · ads 78.Keep as the Registration source field on every record.It is the event equivalent of a UTM code: it says which channel filled the room. WhatsApp is a top-three channel nobody was measuring.
Check-in429 check-ins ever recorded, zero on any 2026 event. Volunteers check people in on a Google Sheet because the single Eventbrite login cannot be shared.Capture attendance two ways. Going forward, volunteers check in on the Eventbrite organizer app with per-event access (no shared login) and Flow writes "Attendee checked in" to the Registration record. For 2025 and 2026, the check-in sheets are imported once and matched to registrations by email.Without this, "Event Attendee" is empty for every 2026 event, and the registrant-versus-attendee question cannot be answered.
Custom answersAccess and dietary needs; a photo release on some events.Not migrated. They stay in Eventbrite, per event.Sensitive and only relevant to one event.
Platform and costFree plan, no link to any CRM. Three old Mailchimp integrations no longer run.Keep Eventbrite on the free plan. Zoho Flow is the link. Zoho Backstage was evaluated: its free tier has no CRM sync and caps at 100 attendees; the paid tier, its cost and Luma as an alternative are on the To-confirm slide.Free, keeps the roughly 10% of registrations that come from Eventbrite search, and no migration of 71 events.

To confirm with Simran: whether per-event organizer access for volunteers is acceptable · whether the check-in backfill happened, and where · the list of events not on Eventbrite.

Shopify

The book store, sold through the Buy Button on sikhri.org
3,106orders
2,450customers
37products
$13.8K2026 to date
457paid orders never marked shipped
$413a year
RecommendationKeep Shopify and connect it to Zoho. We recommend Shopify webhooks straight to a CRM function, or a Zoho Marketplace Shopify extension, rather than Zoho Flow; Raah decides. Zoho Commerce would import products and customers but not ten years of orders. Two problems need fixing whatever happens: orders are never marked shipped, and payouts are paused.

Shopify

before and after

Shopify runs the book store. It stays for now. Orders and customers reach Zoho through the connection Raah chooses, and two operational problems are fixed regardless of platform.

DataBefore (today)After (in Zoho)Why
Customers2,450 records, 2,443 with an email. Marketing consent given at checkout: 1,354 subscribed (55%), 931 not asked or declined, 158 unsubscribed. 265 records never bought anything (they downloaded a free item). Only 13 buyers exist in no other system.Keep every buyer as a CRM Contact with the Shopify customer ID, a "Website purchase" relationship, and the consent they gave at checkout, which no other system may overwrite. New customers arrive through the same connection.The CRM gains the purchase relationship and a real consent signal, not new people.
Orders3,106 orders since 2016. 2026 to date is the best year: $13,791 on 169 orders. Since 2025, 90% of revenue is one title, Guru Gobind Singh Sahib: Life, Vision & Wisdom.Keep the full ten-year order history. It is extracted to the warehouse first (no Shopify source exists there today). Past orders are loaded into the CRM once from a Shopify export. New orders are written to Zoho Books and linked to the contact.Zoho Commerce cannot import order history, so it must be captured before any platform change.
Products37 products, 35 active: print books, Sojhi curricula, posters, and free e-books and reports sold at $0.Keep the 37 as Books items. Move the free downloads out of the store, if Gurjot agrees. Report downloads on sikhri.org already link straight to the file and ask for no email (Form Migration Plan v5).Free items make people "customers" with no order.
FulfilmentNever recorded. 457 paid orders are marked unfulfilled (171 in 2026). Books are shipped by hand from India and the USA, and orders are noticed in the support@ mailbox. Tracking numbers are emailed to buyers by hand.Fix regardless of platform: whoever ships marks the order fulfilled in Shopify (or in Zoho Inventory if the team later moves to Commerce). The connection then records the status on the order.A customer-service exposure. The undelivered B.C. book orders had no system trail.
Payments and payoutsShopify Payments pays out to a Chase account. The admin shows "Payouts paused because your bank account isn't set up for withdrawals", a failed $96.48 reverse payout, and a $528.08 balance. Chargeback rate 5.26% against Shopify's 1% threshold.Fix regardless: enable withdrawals on the bank account or replace it, and review the two high-risk orders.Shopify can hold payouts if the negative balance grows.
IntegrationsA Zapier zap logs each order to a Google Sheet. A Mailchimp feed (ShopSync) no longer runs. A Xero invoice zap died with Xero. The Mailchimp app is installed.Replace with one connection: order to Books, customer to CRM. Retire the sheet log and the Mailchimp app.One path instead of three half-working ones.
Store platformShopify Basic, $413 a year.Keep. Gurjot confirmed the store is used only to take orders and payments. Zoho Commerce and Mo's Checkout plus Inventory option were weighed and set aside; the gaps are process, not platform.A migration would not fix fulfilment or payouts by itself.

To confirm with Gurjot: how pending shipments are tracked · the payout bank account · whether free downloads should stay in the store. With Parwinder: how payouts and refunds are booked in Books.

Zapier

The plumbing between systems: 44 automations, 13 switched on
44zaps
13active
10active zaps in one person's private folder
<100runs a month, of 20,000 paid for
$2,268a year
RecommendationRetire Zapier. Every zap that moves a person's data into Mailchimp or a spreadsheet is rebuilt in Zoho Flow or LeadChain, writing to the CRM; the website forms stay on Webflow. The Meta conversion moves to Google Tag Manager and the two content zaps move to Flow (Zapier Migration Plan v3, now being aligned to the Form and Mailchimp plans). Move the private folder to a team workspace first.

Zapier

the 13 active zaps, before and after

Zapier is the plumbing: 44 automations (zaps), 13 switched on. Each active zap is listed with what it does today and what replaces it. Where it stands: Zapier Migration Plan v3 is the published version; it is being aligned to Form Migration Plan v5 and Mailchimp Migration Plan v7 before the next version goes out.

ZapBefore (today)After (in Zoho)Why
Thinkific to MailchimpEach new Thinkific user is added to the Online Courses list with email, name and Thinkific ID. Running since 2021.Replace: Thinkific's webhooks (sign-up, enrollment, completion) create the Contact if new and add a Course enrollment record. We recommend they go straight to a CRM function, as Raah does for Stripe, rather than through Zoho Flow; Raah decides.No Flow connector exists for Thinkific; a sign-up reached Flow by webhook in a test on 2026-09-17, so Flow stays the fallback.
Two list-to-list copiesEvery Online Courses member and every TGGSP subscriber is also added to the newsletter list.Retire. With one contact base there is nothing to copy; TGGSP interest becomes a Topic. New learners still start with the Weekly Newsletter, with a notice on the sign-up form (Mailchimp Migration Plan v7); Thinkific's own Mailchimp connection is switched off with the zap.One contact base.
Facebook lead ad to MailchimpOne copy per event, one currently live: email, name, phone, zip code, form name and an "Interested" tag go to the newsletter list.Replace with LeadChain, a free Zoho extension that writes Facebook leads straight into CRM contacts in real time. Switch it on before the zap goes off; Facebook keeps leads for 90 days.No copy per event, and the person lands on their contact record.
BigMarker to Mailchimp and a SheetEach webinar registrant is added to the newsletter with a per-webinar tag, and city and country are written into a Funraise column.Replace: Flow's BigMarker connector ("registered for conference") creates a Webinar registration on the contact. The sheet row continues until the team using it confirms the CRM replaces it.The connector exists; the sheet duplicates the record.
Online Event Request, In-Person Event Request, Media RequestThree Webflow forms write name, email, phone, role, organisation and event details to Google Sheets. The online request also subscribes the requester to the newsletter.Replace: the Webflow forms stay; Zoho Flow writes the same Google Sheet row and finds or creates the CRM contact with its lead source and topics: General Announcements with Talks & Learning Events for event requests, General Announcements with Press Releases for media requests (Form Migration Plan v5). This replaces the newsletter step on the online request.Requests become CRM records, and the team keeps its sheet.
Ask SikhRI form to a Sheet, and to Facebook ConversionsQuestion, source page and timestamp go to a sheet, and a Meta conversion event is sent.Replace: the form stays; Zoho Flow writes the same sheet row. The conversion moves to Google Tag Manager, already on sikhri.org.Conversion tracking is advertising measurement, not CRM data, and Tag Manager follows the visitor's cookie choice.
New Shopify Customer to a SheetFires on every order and writes an order-log row.Retire once orders reach Books through the new Shopify connection and finance confirms Books replaces the sheet.Duplicate of the Books record.
Spotify to Webflow, YouTube to WebflowA new podcast episode or video becomes a Webflow CMS draft.Move to Zoho Flow: its YouTube connector for videos (confirmed available), and a daily check of the Spotify feed for episodes. The daily check needs Flow's custom functions, which the Flow trial asked to upgrade for; whether Zoho One includes them is open. Episodes published only on Podbean are not in the Spotify feed and are added to Webflow by hand.Content, no people data; Zapier can then close.
The 31 switched-off zaps11 abandoned tests, 11 legacy Webflow CMS pipelines, Funraise-to-Xero and Shopify-to-Xero (dead with Xero), Gift Aid declaration to a Sheet (off since 2024), Resource Download to Mailchimp, Google Ads customer lists, a Sidak form conversion.Delete after export. Nothing replaces the Gift Aid and Resource Download zaps: the declaration form no longer exists on SikhRI's sites, and the download form is hidden on every resource. Gift Aid moves to the UK donation page.Nothing depends on them.

Fix regardless: a Webflow API key sits in plain text inside eleven zaps and must be rotated. 10 of the 13 active zaps live in one person's private folder; move them to a team workspace before anything else.

To confirm with Manveer: keep or replace, per zap · who reads the four request sheets and the Ask SikhRI queue. With Jaspreet: who owns the Zapier account.

Thinkific

Free self-paced courses
18courses
8,842enrollments
6,188users
99.7%already in Mailchimp
$1,428a year
RecommendationKeep. Each enrollment becomes a record on the CRM contact, delivered by Thinkific's webhooks. We recommend they go straight to a CRM function rather than through Zoho Flow; Raah decides. The Mailchimp mirror list and the two-step zap retire.

Thinkific

before and after

Thinkific hosts the free self-paced courses. It stays. The change is that enrollments become records on the CRM contact instead of members of a Mailchimp list.

DataBefore (today)After (in Zoho)Why
Users6,188 users with email, names and a Thinkific ID. 99.7% are already Mailchimp records.Keep all as CRM Contacts, with the Thinkific ID stored as a source ID.The source ID, not the email, is how records match.
Enrollments8,842 enrollments across 18 courses, each with course, date enrolled, date completed and percentage progress.Keep every enrollment as a Course enrollment record on the contact. Past enrollments are loaded once from a Thinkific export; new ones arrive by Thinkific webhook.Enrolled versus completed is how "attended" is answered for a self-paced course.
Sign-up questionsUnknown. The API token refused our local check even though the daily warehouse sync works.To confirm. If custom sign-up questions exist, each is mapped to a contact field or dropped.Open item.
Mailchimp mirrorThe Online Courses list (5,502 members) and the zap that fills it.Retire once the new feed is live.The CRM holds the enrollment natively.

To confirm with Manveer and Simran: what counts as "attended" for a self-paced course: enrolled, started, or completed.

BigMarker

Live webinars and paid instructor-led courses
95webinars
4,107attendee records
18webinars that asked extra questions
$1,474a year
RecommendationKeep. BigMarker holds the richest attendance record of any system (minutes watched, chats, polls) and Zoho Flow has a connector for it. The extra registration questions are optional enrichment; only 18 of 95 webinars asked them.

BigMarker

before and after

BigMarker runs live webinars and the paid instructor-led courses. It stays. Registrations and attendance flow to the CRM through Flow.

DataBefore (today)After (in Zoho)Why
Registrations4,107 attendee records across 95 webinars, each with email, names, registration source, tracking code and country.Keep all as Webinar registration records on the contact, with source and tracking code.Says which channel brought each registrant.
AttendanceTime entered and left, minutes present, chats, questions and polls. On large webinars 30 to 45% of registrants attend.Keep an attended flag and minutes present on each registration.Feeds the engagement score, and separates registrant from attendee.
Extra registration questionsCity, phone and WhatsApp opt-in, asked on 18 of 95 webinars.Optional: mapped to contact fields only where a value exists.Inconsistent across webinars, so not a reliable source.
FeedA Zapier zap adds registrants to the Mailchimp newsletter and a Google Sheet.Replace with Flow's BigMarker connector writing to the CRM. The Google Sheet row continues until the team using it confirms the CRM replaces it.The connector exists.

Forms

Website forms on Webflow, Typeform and Google Forms
4Webflow sites with forms
3kinds of newsletter sign-up, sending to Mailchimp today
23forms mapped, donation forms aside
6Typeforms moving to Zoho Forms or Zoho Survey
RecommendationTwo routes into the CRM. Forms built into the Webflow pages stay where they are and Zoho Flow carries each submission, the newsletter sign-ups included once their Mailchimp code is replaced by a Webflow form. The Google Forms and the Typeform member forms are rebuilt in Zoho Forms, and the Typeform surveys in Zoho Survey, each on its own page behind the same buttons (Form Migration Plan v5, under review). Zoho Flow, Zoho Forms and Zoho Survey are all included in Zoho One.

Forms

before and after

Website forms today write to Google Sheets or Mailchimp through Zapier, or only send a notification email, and nobody owns the follow-up. Form Migration Plan v5 (2026-10-07) gives each form a route: Webflow page forms stay and Zoho Flow carries them to the CRM and the team's Google Sheet; Google Forms and Typeform member forms move to Zoho Forms, which writes to the CRM itself; Typeform surveys move to Zoho Survey and are not connected. Every route that creates a person searches by email first. Where it stands: v5 is under review with SikhRI and Raah.

FormBefore (today)After (in Zoho)Why
Event and media requestsThree Webflow forms (online event, in-person event, media) write to Google Sheets through Zapier.Stay on Webflow; Zoho Flow replaces the Zapier webhooks. Each submission writes the same Google Sheet row and finds or creates the CRM contact with its lead source (In-person event request, Online event request, Media request) and its topics. The Contact Form and the Sojhi / SOTP contact forms, email only today, also reach the CRM as contacts through Flow.Each request becomes a CRM record, and the team keeps working from its sheet.
Ask SikhRIA Webflow form writes the question and source page to a sheet.Stays on Webflow. Zoho Flow writes the same sheet row; the Meta lead report moves to Google Tag Manager. No CRM record: the form asks for no name or email.The team answering works from the sheet.
Gift Aid declarationThe UK giving form asks about Gift Aid and links to a separate declaration page. The Webflow declaration form no longer exists on SikhRI's sites; its zap has been off since November 2024.Gift Aid declared on each new UK donation, from the UK donation page's Gift Aid answer (proposed). Where declarations are recorded today, and whether a standalone form is needed, is open with Shevya.Required for UK Gift Aid claims.
SurveysThree Typeform surveys: State of the Panth (168 responses, latest 2026-09-29; the site links Typeform's old address, which adds a "this typeform has moved" step), Sikhi & Philanthropy, Donor Satisfaction. Typeform Basic stops collecting at 100 responses a month.Rebuilt in Zoho Survey, each on its own page; the /sotp and /social links point to the new State of the Panth survey. Not connected to the CRM. Typeform is cancelled once past results are exported (about $327 a year).Survey branching and reports, no response cap, and the UTM tags on the link kept with each response (tested 2026-10-07).
Sidak application, Sidak alumni form, Volunteer FormGoogle Forms, responses kept in Google Forms. The alumni form opens only after a Google sign-in, for its headshot upload. The Sidak application is closed until the 2027 intake.Rebuilt in Zoho Forms, each on its own page at a SikhRI address, linked from the same buttons, and sent straight to the CRM as a contact, with a Google Sheet copy where the team wants one. The 2025 Sidak link and the two Google request forms on /workshops are retired; those buttons point to the Webflow request forms.Save for later on any device, uploads without a Google sign-in, styling that matches the site (tested on a Zoho Forms trial 2026-10-07), and no Flow step.
Member formsCharter Members Network questionnaire, Board and AC member forms on Typeform, not linked from the sites: contact details, consents, headshot.Rebuilt in Zoho Forms. Each response updates the member's existing contact and marks their affiliation.Typeform's own Zoho link can only create a new lead and cannot fill affiliation.
Charter Members Network sign-upA Webflow form on charter.sikhri.org; Webflow emails each sign-up to four inboxes, and a welcome template is sent by hand.Stays on Webflow; Zoho Flow finds or creates the CRM contact, lead source Charter Members Network, and an automatic reply replaces the hand-sent template. Who follows up the sign-ups in the CRM is open.Sign-ups land where the fundraising team works.
Newsletter sign-upA Mailchimp embedded form (7,489 records) and a hosted sign-up page.Stays on Webflow: the Mailchimp code is replaced by a Webflow form in the same spot, looking as it does today, and Zoho Flow finds or creates the Contact with General Announcements and the Weekly Newsletter, plus the topic for each interest ticked (Mailchimp Migration Plan v7). The interests with no topic come off the forms. No sign-up form is built in Campaigns.The CRM becomes the entry point.

Still open: who follows up Charter sign-ups; the Sidak application's questions, readable only when the 2027 intake opens; the forms.sikhri.org address, available on a paid plan only and not yet tested; the Google Tag Manager tag that carries a visit's UTM tags into the Zoho form pages, still to be built. The donation forms are covered in a separate call with Shevya.

Offline and third-party giving

Where most of the money arrives
52.8%of dollars by cheque
16.2%by wire
13.8%recorded as "other"
5.9%by card
monthlyDVN and CanadaHelps reports keyed by hand
RecommendationManual entry stays, but into the CRM first, with Books receiving the entry and receipts sent from the CRM. Six channel tags and the payment routes become one required Channel field with 11 values (proposed), so no gift can be missed in a channel report. DVN and CanadaHelps monthly reports become file imports.

Offline and third-party giving

before and after

Most of the money arrives offline: cheques, wires, stock, and third-party platforms such as DVN, CanadaHelps and employer matching. These gifts are typed in by hand today and will still be typed in, but into the CRM, with a required Channel field.

DataBefore (today)After (in Zoho)Why
Cheques, wires, stock52.8% of dollars by cheque, 16.2% by wire. Keyed into Funraise by Shevya; finance looks up the USD exchange rate by hand.Keyed into the CRM Donation form in the currency given. The exchange rate for the donation date is filled automatically from the Zoho Books rates, and finance can correct it (proposed); Books receives the entry through the sync.One entry point and no manual currency lookup.
ChannelA tag on the gift, with six defined values: DVN, CanadaHelps, Employer matching, Grant, Fundraiser, Campaign. A missed tag makes a gift invisible to channel reports.A required choice with the 11 values listed below (proposed). It cannot be left blank.Every gift is counted in exactly one channel.
DVN and CanadaHelpsMonthly reports keyed in line by line by Gurjot.A monthly file import into the CRM with the channel preset and no SikhRI receipt; the donor is matched by email or created, and a donation the report names no donor for goes on one anonymous contact per platform (proposed).Harinder's target is 85% of gift entry automated.
Employer matchingThe company is recorded as the donor, with a tag and a soft credit to the employee.Organization as donor, channel set to Employer matching, soft credit to the employee. Soft credits are never counted in totals or tiers. Employer matching counts as non-charter (proposed).Keeps the employee visible without double counting.
Grants and donor-advised fundsOrganisation gifts; DAF gifts are acknowledged, not receipted.The organisation's type (Foundation, DAF sponsor) sets the Foundation / DAF letter in place of a receipt (proposed).The receipt rule stops depending on memory.

The 11 channel values (proposed)

DVNCanadaHelpsEmployer matchingGrantLocation fundraiserOnline campaignDAFOther platformGift AidOnline formDirect (check, wire, cash, stock or PayPal)
The single source of truth · Zoho CRM

One contact, one gift, one pledge. Statuses are derived, channels are picked, nothing is a tag.

From the team's CRM Requirements workbook, the Shevya and Manveer sessions, the Mailchimp Migration Plan v7 and the Funraise Migration Plan v1: 14 entities, 181 fields, 27 rules. Colour is the source system. ƒ marks a field the CRM computes. "Proposed" marks a Funraise plan value Shevya has yet to confirm. Hover a field for its definition or formula.

Households are explicit, never inferred from a shared surname or email.
Receipts read the original currency; reports read USD at the rate of the donation date, and past totals stay as Funraise has them.
Giving level counts the currency given: a CAD 5,000 donor is in the top band, and the bands carry no currency sign.
Soft credits never count in totals, tiers or retention.
Email is not the unique key; source IDs are. Duplicates are flagged, never auto-merged.
Board members see only assigned donors, view plus notes.
Zoho caps tags at 10 per record, so statuses are picklists, computed fields or saved filters.

Contact the person

BeforeThe same person sits in up to six systems with no shared key.AfterOne record with a source ID per system; consent, Affiliation and the giving figures live on it. Every person is a Contact: there is no Leads module, so nothing is converted and no one exists twice.

Contact ID source IDs first, last name Singh / Kaur primary email additional email phone address do not mail Funraise tags social profile links email opt-out topic subscriptions Audience media type lead source prospect first-touch UTM Affiliation donor category giving level yearly tier retention status first and last donation date lifetime · this year · last year giving active recurring plans last course enrolled, courses completed last purchase date, purchases organisation household assigned board member possible duplicate engagement score

Organization companies, foundations, DAFs

BeforeFunraise files them as supporters: 193, including 109 corporations, 62 foundations and 8 DAF sponsors; 171 have given.AfterTheir own module. Their donations count for the organisation; the person named on it is a linked contact.

name type receipting person named on it assigned board member giving and category

Household explicit

Before389 Funraise households hold 692 people; no other system knows.AfterAn explicit Household record, built only from Funraise's own households.

members household on each donation household giving

Pledge charter commitments

BeforeCharter membership is hand-set tags (CM_Active 62, CM_Life 67, CM_Inactive 7, Ex_CM by year); no pledge record can be read from Funraise.AfterA charter commitment per member and per removal, and a pledge for the year per Pending entry (53). Charter status follows from it (proposed).

pledgor, joint pledgor, household type amount, currency yearly amount start year term, end date status paid · balance due date fund, entity

Donation one gift, one donor

Before7,788 completed donations in Funraise: channel as a tag, 23 fund names, checks under two spellings, and CAD and GBP gifts entered by staff recorded in USD.AfterOne record; channel, fund, entity and payment method required on manual entry. Every indicator is a sum over it.

donation ID donor · organisation amount given currency exchange rate amount USD amount for receipts and Books payment method channel fundraiser event UTM entity fund type donation date soft credit household receipt email receipt type advantage, eligible amount Gift Aid declared pledge link recurring plan link status entry mode donor category check number, payment reference notes Funraise history

Recurring plan 30 active

Before30 active plans, all last charged through Stripe; cancellations arrive by email.AfterA plan record kept up to date from Stripe, with failed charges and a card-expiry reminder (proposed).

amount, currency, frequency status next and last payment entity, fund start, cancel date and reason card type, expiry failed charges Stripe subscription ID payments made

Event & registration registrant vs attendee

BeforeEventbrite exports tagged by hand in Mailchimp; zero check-ins recorded in 2026.AfterEvent and Registration records via Flow, registrant vs attendee.

event registration status registered date registration source ticket class checked in fundraiser attendance

Course & webinar enrollment

BeforeThinkific and BigMarker each mirror into Mailchimp through Zapier.AfterEnrollment records on the contact: Thinkific by webhook (straight to the CRM recommended), BigMarker through Flow.

course enrollment webinar registration and attendance engagement source, tracking code

Website purchase

BeforeShopify orders logged to a Google Sheet; buyer consent only in Shopify.AfterOrder in Books; purchase relationship and consent on the contact.

order fulfilment status consent at purchase

Email engagement

BeforeOpens and clicks live only in Mailchimp and vanish with the member.AfterThe full Mailchimp history is exported and kept; as much of it as Zoho can load comes onto the contact, at a minimum a summary, and Zoho's own campaigns from the first send.

campaign membership opened · clicked · bounced unsubscribed Mailchimp history summary

Notes, assignment, volunteer & Sidak profile

BeforeNotes in Funraise; Sidak years as Mailchimp tags on 424 people.AfterNotes and the assigned board member on the donor; Sidak years as a field, with Year unknown; Volunteer as an Affiliation value. Volunteers in Zoho's volunteer module, owned by SikhRI staff (Harinder, 20 Aug).

interaction notes board assignment Sidak years attended Sidak profile volunteer interest and participation

Statuses asserted vs computed

Before43 Funraise tags and 706 Mailchimp tags carry status by hand.AfterAffiliation and Prospect set by staff; charter status set on the commitment; the rest computed or saved filters.

Affiliation: Board · AC · Board Emeritus · family values · Charter Member Family · Staff · Contractor · Contributor · Presenter · Volunteer · DHC · NSF BoardProspect: ticked by staffLead source: Charter Members NetworkCharter commitment: Active · Completed · Cancelled · Removed after reviewƒ Donor categoryƒ Giving level → Major Donor · 1K+ filtersƒ Sidak alumni = Sidak years filledƒ retention · yearly tier
Next

Where the CRM hands data on

Each card: what happens today, what happens once Zoho is in place, and why. Checked against Zoho's documentation: 93 claims confirmed, 26 undocumented.

Zoho Campaigns

CRM ⇄ Campaigns
LinkContacts sync from CRM within minutes. Lists are segments over synced fields; interests become Topics. Opens, clicks and unsubscribes write back. Emails are unlimited and contacts are 5,000 per employee licence, so capacity is not a concern.

Zoho Campaigns

Before (today)After (in Zoho)Why
Contacts49 Mailchimp audiences, the same person in severalCRM Contacts sync to Campaigns within minutes; lists are segments over synced fieldsOne contact base
Interests6 groups on the newsletter, never used to sendNine topics: General Announcements, Weekly Newsletter, Talks & Learning Events, Publications, TGGSP, Sidak, K-12 / Sojhi, Fundraising & Impact, Press ReleasesLeave one topic, keep the rest
EngagementOpens and clicks only in Mailchimp, deleted with the memberMailchimp history exported; as much as Zoho can load on the contact, at a minimum a summary, and Zoho's own campaigns from the first send (Raah to check)Engagement score, retention
UnsubscribesPer audience; three systems disagreeCampaigns writes Email Opt Out back to the CRMOne consent record
Field mapping51 merge fields, 38 barely filledManual mapping: name, email, address, organisation, and the fields segments filter on (Affiliation, Prospect, State / Province, Sidak years, Audience, Media type, Donor category, Giving level, Lifetime giving, Giving this year, Giving last year, Active recurring plans, Thinkific ID, Shopify customer ID, Last course enrolled, Courses completed, Last purchase date, Purchases)Nothing else belongs in an email tool
Capacity36,964 people, 1.74M emails a year5,000 contacts per employee licence, unlimited emailsNot a concern at this size

Order: Campaigns extractor into the warehouse first, so the Email tab survives; then suppression, contacts, Topics, feeds, templates; then Mailchimp goes read-only. Rabia (Raah): field labels and API names must be identical across CRM, Campaigns and Backstage or "the data will not sync".

Zoho Flow

the glue
LinkCarries what Zoho has no native link for: the Webflow page forms and their Google Sheets, Eventbrite (incl. check-in), BigMarker, YouTube and the podcast. Thinkific and Shopify are recommended to reach the CRM directly, and Zoho Forms needs no Flow. 50 flows and 3,000 + 1,000 per employee tasks a month; Zapier uses under 100. Flow is included in Zoho One.

Zoho Flow

Before (today)After (in Zoho)Why
EventbriteNo link; registrant tag applied by hand from an exportAttendee added, order placed, checked in, each a Registration recordConnector exists
BigMarkerZap to Mailchimp and a SheetRegistered for conference, a Webinar enrollmentConnector exists
ThinkificZap to Mailchimp, then a list syncRecommended: webhooks straight to a CRM function, not Flow (Raah decides); a Course enrollmentNo Flow connector; Raah uses the same pattern for Stripe
ShopifyZap to a Sheet; dead Mailchimp feedOrder to Books; customer with consent to the CRM. Recommended: webhooks to a CRM function or a Marketplace extension, not Flow (Raah decides)One path
Webflow formsZaps to Google Sheets or MailchimpForm submitted: a CRM contact with its lead source and Campaigns topics, plus the same sheet row where the team uses oneWebflow has no Zoho CRM connector
YouTube, podcastZaps create Webflow draftsYouTube connector for videos; a daily check of the Spotify feed for episodesThe daily check needs custom functions

Zoho One: 50 flows, 3,000 tasks plus 1,000 per employee a month; Zapier uses under 100. Open: whether Zoho One includes Flow's custom functions, which the podcast check needs and the Flow trial asked to upgrade for. The polling interval is undocumented; confirm in the sandbox.

Zoho Books

CRM → Books
LinkOne Books organisation syncs two-way and must share the CRM's USD currency. UK and Canada receive master data only. So a gift is a CRM record first, then Books: Jaspreet's rule, confirmed by the docs.

Zoho Books

Before (today)After (in Zoho)Why
A giftKeyed in Funraise, reconciled into Books by handCRM record first, then Books through the syncJaspreet's rule, confirmed by the docs
Contacts, accounts, itemsKept separately in BooksTwo-way sync with the first Books organisation; must share the CRM's USDOnly one org can be two-way
UK and Canada orgsRabia said three organisations; we see oneMaster data one-way only, no transactionsDocumented limit
Payments receivedBooked in BooksNot documented as syncing to the CRMGap to confirm

Ask Jaspreet: how many Books organisations, and which Stripe account maps to which.

Webflow forms and LeadChain

forms → CRM
LinkEach kept Webflow form keeps its page and Zoho Flow writes each submission to the CRM, first searching by email so nobody is created twice. Google Forms and Typeform member forms move to Zoho Forms, which writes to the CRM itself (Form Migration Plan v5). LeadChain (free) writes Facebook lead ads into the CRM in real time and replaces the Zapier zaps.

Webflow forms and LeadChain

Before (today)After (in Zoho)Why
Website formsWebflow forms zapped to Google Sheets or Mailchimp, or sending a notification email onlyOne flow per form: a CRM contact with its lead source and Campaigns topics, plus the same Google Sheet row where the team uses oneWebflow has no Zoho CRM connector
Newsletter sign-upsThree kinds of form sending straight to MailchimpThe Mailchimp code replaced by a Webflow form in the same spot; Flow to the CRM, which passes the topics to CampaignsA submission that goes straight to Mailchimp never reaches the CRM
Gift Aid declarationThe Webflow declaration form no longer exists; its zap has been off since November 2024Gift Aid declared on each new UK donation, from the UK donation page's answer (proposed); any standalone form is open with ShevyaRequirement
Google Forms and TypeformsSidak, alumni and volunteer Google Forms; member forms and surveys on TypeformZoho Forms for the forms, straight to the CRM; Zoho Survey for the surveys, not connected. Each on its own page, ending on a sikhri.org thank-you page so Google Analytics records itTypeform's Zoho link only creates new leads
Report gatingFree e-books sold at $0 in Shopify; a hidden download form on each sikhri.org resourceResource downloads link straight to the file with no email asked, and the hidden form stays disabled (Form Migration Plan v5). Whether the free e-books leave the store is open with GurjotRemoves 265 zero-order "customers"
Facebook lead adsZap to Mailchimp per campaignLeadChain (free) writes each lead to a CRM contact in real timeZoho Social lead forms are deprecated

Each form, its route, lead source and topics are listed in the Form Migration Plan v5, under review with SikhRI and Raah.

Stripe donation pages

Stripe → CRM → Books
LinkThe new Stripe donation pages Raah is building replace the Funraise giving forms. Each donation is written to the CRM with entity, fund, channel, payment method and campaign information, then reaches Books from the CRM (Donation Flow Data Requirements v4, Funraise Migration Plan v1).

Stripe donation pages

Before (today)After (in Zoho)Why
Online giving4 active Funraise forms on 3 Stripe accounts, PayPal and iATSThree Stripe donation pages, US, Canada and UK, built by Raah and agreed with SikhRIOne record per gift, in the CRM
Data to the CRMFunraise API and webhookEach payment creates its donation: entry mode Online, entity from the region, fund from the page, payment method from Stripe, channel Online form, Gift Aid declared from the UK page's answer, and the campaign information set out in Donation Flow Data Requirements v4 (proposed)Entity, fund, channel and payment method are needed on every donation
BooksReconciled by handFrom the CRM, like every other donation; Books reads the amount in the currency givenA gift is a CRM record first
Recurring30 active plans on FunraiseA recurring plan record for each Stripe subscription, with each payment linked and failed charges counted. The requirement is that each active plan carries on from the new Stripe setup with the card already on file, without the donor entering it again; a plan is cancelled in Funraise the day it starts on the new setup (proposed)Nobody is charged twice
Donor noticesDonors cancel by emailing ShevyaAn email to the donor when a recurring charge fails, and 30 days before the card on file expires (proposed)Both are mandatory in the requirements

To test: a donation on each of the three pages arrives with entity, fund, channel and payment method set; a test subscription creates its plan, links two payments, records a failed charge, then a cancellation. Ask Jaspreet: whether the Stripe accounts the 30 active plans were charged through are the accounts Raah has connected.

Eventbrite, kept

Eventbrite → Flow → CRM
LinkRegistrations and check-ins become records on the contact; Eventbrite discovery stays. Check-in itself still needs a path volunteers can use.

Eventbrite, kept

Before (today)After (in Zoho)Why
RegistrationsExport, then a Mailchimp tag by handFlow creates a Registration with source on the contactManveer's biggest ask
Check-inVolunteers use a Google Sheet; zero check-ins in Eventbrite for 2026Volunteers check in on Eventbrite; Flow records attendanceAttendee tag is empty otherwise
2025 and 2026 historyOnly in the sheetMapped back by email onceOr attendance for those events is lost
DiscoveryAbout 10% of registrations from Eventbrite searchKeptBackstage has none

Zoho Backstage

not in the entitlement
StatusZoho One grants the Free plan (100 attendees, one day) plus one Premium event. CRM sync, Flow and webhooks are Premium and Ultimate only, at C$291 a month billed yearly or C$749 per event. Priced on the To-confirm slide against Eventbrite plus Flow and Luma.

Zoho Backstage

Before (today)After (in Zoho)Why
Events platformEventbrite Free, no CRM linkEventbrite plus Flow, or a Luma trial; Backstage only if one vendor is worth C$3,492 a yearCost, on the To-confirm slide

Backstage plans

PlanAttendeesCRM syncCheck-in app
Free (in Zoho One)100 per event, single dayNoYes
Essentials200NoYes
Premium1,000Yes, with Flow and webhooksYes
Ultimate5,000YesYes

Zoho One grants Free plus one Premium event. Zoho list prices, CAD, before tax: Essentials C$124 a month billed yearly · Premium C$291 a month billed yearly, C$349 month to month, C$749 per event · Ultimate C$541 a month billed yearly. Extra attendees C$0.60 each.

Analytics, warehouse, dashboard

CRM → reports
LinkZoho Analytics for board reports; it only exports files. The warehouse reads the CRM by Bulk Read for dashboard.sikhri.org, alongside Books, Campaigns and the feeders it syncs daily. Shevya's reports rebuild here.

Analytics, warehouse, dashboard

Before (today)After (in Zoho)Why
Board reportsFunraise dashboards, Shevya only; marketing asks her for numbersOne fundraising dashboard in Zoho Analytics, opened from a tab in the CRM, for the fundraising team, leadership and marketing (proposed)One place for the numbers
Target vs ActualShevya's planner sheet, which Funraise cannot holdThe sheet stays as the source, with Shevya as the only editor; Zoho Analytics reads it and draws Target vs Actual against CRM actuals. Proposed layout: year, PI line, month, target, threshold, close dateHarinder's call: one structured file, one editor
Daily feedFunraise API to the warehouseCRM Bulk Read, alongside Books and CampaignsDocumented
Donor PIINever in the warehouseStill never; hashes and IDs onlyStanding rule

Sources: Mailchimp API (513 calls), Funraise API and admin, the SikhRI warehouse, Eventbrite API (122 calls), Shopify Admin API and admin, four Zapier exports (44 zaps), Zoho documentation (93 confirmed claims), the CRM Requirements workbook, twelve SikhRI meeting transcripts and eighteen email threads. People were counted by hashed email only. Draft v13. Skyrocket Digital for the Sikh Research Institute.