Skip to end of metadata
Go to start of metadata


As the use of the UW Groups Service grows on campus, integration with communications tools would offer customers a significant value-add when using the groups service to organize groups of people. One such communication tool is Convio, a third-party web application that allows UW users to send mass email messages to customers. Convio is supported and administered by the UW Advancement team and primarily used by departments for sending out e-Newsletters, event invitations, and mass communications. It is also used by Central Advancement to send emails to the entire university community, such as messages from the President's Office to all students, staff and faculty.

About Convio Centers, Interests and Groups

Currently, Convio is only integrated with the Advance database, which primarily stores information about alumni and donors but also now loads student and faculty/staff lists. The details of this synchronization are outside the scope of this document, but the important detail is that as contact information is updated in Advance, these changes are made automatically in the Convio database as well. This ensures that contact information stays up-to-date for constituents.

Convio uses a number of conceptual organizational tools to structure constituent records:

  • Centers: each department that uses Convio has a "Center," allowing secure usage of Convio without interfering in other departments
  • Interests: people are subscribed to "interests" and these help users and staff track which constituents are interested in different aspects of the university. Each Interest has a corresponding "opt-in" group and "out-out" group.
  • Groups: messages are sent to members of groups

** UW Advancement can probably provide a better description of how these three things play together with each other.

Loading Convio Groups

Currently, when a user needs to load people into a Convio group, the only reliable way to do it is to send an Excel file of user information to advhelp@u and wait for them to manually upload the list. You specify the Center, Interest, and Group in which to load the list using an online form on the DEVAR website. There is also a tool in Convio to add members to a group, but this often fails because users who try to add a person from another Center into a group in their Center don't have the permissions to do so. The built-in Convio interface is also somewhat poorly designed.

This process does not work well for groups in certain situations:

  • groups whose membership changes frequently
  • groups that are administratively created -- e.g., a list that is not created by people who opt-in like a class list or a group of program participants and thus will not use a "Sign up for our newsletter" formExample 

Example Use Case: UW Dream Project Semi-Weekly E-mails

The Dream Project sends semi-weekly messages to all program participants. Currently, this is done using a Mailman listserv, which is synced with the UW Groups Service to keep the subscriber list current based on the constantly changing participant list. This list changes daily during the first few weeks of the quarter and less frequently throughout the remaining weeks of the quarter... but the list is changing regularly. While Mailman has met the need for many years, the emails now are becoming complex and have no way of customizing. Using Convio to send these semi-weekly emails would provide a number of benefits:

  • the ability to easily create HTML-based and text-friendly messages
  • the ability to track usage and open patterns
  • the ability to use A/B tests to improve message content

Currently, in order to utilize Convio, the Dream Project must request a list reload before any email can be sent. Given that multiple emails are sent per week, it is clumsy and inefficient for this to be done manually by advhelp multiple times throughout the week. 

A Proposal for Convio--Groups Integration

The ability to sync UW groups with Convio groups would prove tremendously useful for departments who want to send emails to constituents on campus, primarily. In addition to the use case above, many departments send regular messages to all students and/or staff, and this would open the doors to smaller groups to do the same thing. Given the ease with which individuals and developers alike can manage groups in the UW Groups Service, the ability to automatically utilize Convio to send emails to those groups would increase the benefits provided by the Groups Service.

Unfortunately, as described above, Convio groups are a bit more complex than Mailman lists:

  • Constituents must be a member of a Convio Center before they can be added to a Convio Group within that Center.
  • Only certain individuals have access to Convio, and a separate permissions structure exists for using Convio tools
  • All Convio messages are required to include an "unsubscribe" link at the bottom of the message to comply with the CAN-SPAM act. This cannot be removed, even for lists where membership is required (e.g., a class list, or an "all staff" list). The opt-in/opt-out feature recently added to UW Groups Service could potentially be used to address this.

How Integration Might Be Managed By End-Users

The first step would be creating an infrastructure in which UW Advancement, the team that manages Convio, can authorize users to attach a UW Group to a Convio Group. This could be done using the Groups Service itself:

Create UW Group "u_convio_center1481" if it doesn't exist
Add user "mharris2" as a member manager on UW Group "u_convio_center1481" 

Where "center1481" is the ID of the Convio Center that mharris2 should be able to access, in this case the "Undergraduate Academic Affairs" user group.

Now, as an authorized user in this Center, I can tell Convio to sync one of my UW Groups to one of my Convio groups, again through the Groups Service:

Add group "u_uwdrmprj_mentors" as a member of UW Group "u_convio_center1481"
Add entity "" as a membership viewer on UW Group "u_uwdrmprj_mentors"

Where u_uwdrmprj_mentors is the group I want to sync with Convio automatically. To keep things simple, the Convio group could use the same name as the Groups Service name (u_uwdrmprj_mentors) or the friendly name (Dream Project Current Mentors).


A nightly batch process can update Convio group information with the information from the Groups Service.

  1. Fetch groups to sync
    1. Request all groups under stem "u_convio_"
    2. For each group under this stem, get members list (which should only be a list of other groups)
    3. Temporarily store the list of these groups, members, and the associated center ID (based on the group ID)
  2. For each group in the list, sync members
    1. Parse the Center ID from the group name and ensure that Center exists in Convio
    2. Check if the group already exists in Convio
      1. create new group in associated Center if needed
    3. Fetch effective members of the group and:
      1. ensure each is a constituent in Convio Center
      2. reload Convio group membership with new list (if Convio API has a "replace members" call, use that; otherwise, iterate through each member and add or remove as necessary)

This integration allows for minimal involvement from the IAM team and the Convio team. IAM is not required to make any changes to the existing Groups Service infrastructure and the Convio team only needs to build the initial sync script and add people as member managers on the relevant u_convio groups.

1 Comment

  1. Please note that the advancement office has chosen and licensed Marketo as their new solution to replace Convio. Convio's contract expires in Aug. 2017 and there are currently no plans to extend the contract but that could change.