If you are using Classy to receive gifts and manage peer to peer fundraising campaigns, you can have Gift Data from Classy automatically sync to Virtuous. Once the sync is enabled, any new online credit card donations received in Classy will automatically be sent to Virtuous and then bundled for processing via the Gift & Contact Import tool.
Use this handy-dandy guide to connect Virtuous and Classy and enable the sync between systems.
Note: You should only configure the Classy sync once you have access to your live Virtuous database. We do not recommend syncing a test or sandbox instance.
To begin, you'll want to create new user logins in both Virtuous and Classy. These logins will be reserved specifically for the integration. Creating separate user accounts for this ensures that your sync will not be affected if a user has to change their password.
- Create a new user in Virtuous for the integration. Make sure this user has Admin permissions. You will need to use an email address that you have access to, as you will need to be able to receive the invite to complete the setup. (Tip: if you use gmail, you can add a "+" after the first part of your email address — before the "@" — and then type in anything you want to create an aliased email. So, you could create a user with "firstname.lastname@example.org.")
- Create a new user in Classy for the integration. Make sure this user has an Administrator role. It is not required for this user account to be the same as that created for Virtuous, but it is recommended as that will be easier to manage 😉.
Create Custom Fields (optional)
If you will be using the Teams features in Classy, you will need to create two custom fields in Virtuous. Both should be Text type fields, on the Gift object. The field names must match exactly in order to sync data to these fields.
The field names you will need to create are:
- Fundraising Team
Save these fields and check to confirm that both are set to "Show on Import." Just click on the edit icon to the right of each field and you should see that the "Show on Import" box is checked.
If not, check the box and then click save.
Create Your Virtuous Campaigns
When configuring the sync, you'll have the option to select a Virtuous Campaign and a Campaign Communication. This will be used as part of the sync process to automatically generate new Segments in Virtuous.
The Campaign ID associated with Classy transactions will be sent to Virtuous as the Segment Code for those transactions. Since you may have many new Campaigns in Classy as fundraisers create new fundraising pages, it may be difficult to manually ensure that all Classy Campaign IDs have a corresponding Segment in Virtuous. This is why the sync will automatically create new Segment Codes in Virtuous when a Classy transaction has a Campaign ID that does not match an existing Segment Code in Virtuous. All of the auto-generated Segments will be part of the same Campaign Communication, which allows for easy, clear reporting on peer-to-peer fundraising outcomes.
Create the Application in Classy
Now that your users and data are set up, it's time to create the sync in Classy. Log in to Classy and navigate to the "Apps & Extensions" page from the menu.
There, click on the "Classy API" option near the top of the screen.
There, you'll see the option to create a new app.
Fill in the following values:
- Application Name: Virtuous CRM Integration
- Oauth2 Redirect URI: https://app.virtuoussoftware.com/
Then agree to the terms of service and click "Create New App."
Configure the Sync
Now, you've got everything you need! It's time to actually configure the sync. Here we go!
First, log in to the Virtuous Connect app:
using the same Virtuous credentials you created earlier for your integration. On your Integrations screen, click View in the Classy box.
The Credentials tab is where you will enter information about your Classy account.
To find your Classy Organization ID, you'll need to log in to Classy and then look at the url in your address bar. When you do, you should see something like this:
See those numbers in there? The "12345?" That's the Organization ID. Enter yours in the first field.
To find the Classy Client ID and API Key, you'll need to navigate back to the Classy API screen. There, you should see the app you created earlier.
The Client ID listed for your new app is what you'll need to enter in the second configuration field as your Classy Client ID. Click to edit the app in order to see the actual app information, including the "Client Secret."
The Client Secret is what you will enter as your Classy API Key.
Once you've entered all of the required IDs, click on the Settings tab to begin mapping your fields.
Click to select a Virtuous Campaign from a list of your available Campaigns. Once you select a Campaign, you'll be able to click on the drop-down next to it to select a Campaign Communication related to that Campaign.
Once you select a Campaign, you'll be able to click on the drop-down below to select a Campaign Communication related to that Campaign.
You also have the option option to map any or all of the following transaction types from Classy to Virtuous:
Select the ones you wish to have synced to Virtuous with this integration.
Additionally, you can map data from your Classy fundraising pages to specific fields in Virtuous:
You can even map Classy fields to Virtuous Custom Fields like:
- Fundraising Page ID
- Fundraising Team ID
- Campaign Name
- Campaign ID
Here’s a full breakdown of fields you can map:
|Virtuous Object Type||Virtuous Fields||Classy Fields||Classy Object Type|
|Gift||Transaction ID||Transaction ID||Transaction|
|Gift||Gift Date||Purchased At||Transaction|
|Gift||Gift Type||Card Type/Account Type||Transaction|
|Contact||First Name||First Name||Transaction - Billing|
|Contact||Last Name||Last Name||Transaction - Billing|
|Contact||Reference ID||Member ID||Transaction - Member|
|Contact||Email Address||Transaction - Member|
|Contact||Phone||Phone||Transaction - Member|
|Contact||Address 1||Address 1||Transaction - Billing|
|Address||Address 2||Address 2||Transaction - Billing|
|Address||City||City||Transaction - Billing|
|Address||State||State||Transaction - Billing|
|Address||Postal||Postal Code||Transaction - Billing|
|Address||Country||Country||Transaction - Billing|
|Gift||Frequency||Recurring Donation Plan ID||Transaction|
|Gift||Credit Card Type||Card Type||Transaction|
|Event Attendee||Event Name||Name||Campaign|
|Gift - Custom Field||Fundraiser Name||Alias||Fundraising Page|
|Gift - Custom Field||Fundraiser Team Name||Name||Fundraising Team|
|Gift - Custom Field||Campaign Name||Name||Campaign|
|Gift - Custom Field||Campaign ID||ID||Campaign|
|Gift||Amount||Final Price||Transaction Item|
|Gift||Project Code||External Reference ID||Designation|
|Gift||Project Amount||Final Price||Transaction Item|
|Event||Start Date Time||Started At||Campaign|
|Event||End Date Time||Ended At||Campaign|
|Event||Time Zone||Time Zone||Campaign|
|Event||Address 1||Address 1||Campaign|
|Gift||Segment Code||Campaign ID||Campaign|
Note: The 4 Virtuous Gift Custom Field names listed in this chart are recommended; however, you can use different names when creating these Custom Fields in Virtuous.
When adding each field, be sure to click the icon next to each one. Once you have entered all of the information, click on "Add" to finish setup.
And that's it! You're all set!
Managing Project Data
It is strongly recommended that every Gift in Virtuous should have both a Segment and a Project. The sync will automatically handle Segments, but you will need to manage Projects to make sure data in Classy matches data in Virtuous.
In Classy, this will require creating Program Designations. As you create your Program Designations, you'll want to ensure that they match the data in your Virtuous Projects. The mapping from Classy to Virtuous for this data will be:
Program Designation Name - Project Name
External ID - Project Code
Note that both must match (Designation Name must match to Project Name and External ID must match to Project Code) in order for Project data to sync correctly for your Gifts.