Element451Integrations Guide

ZeeMee Community Data Integration Guide

Updated 1 page in this section

Overview#

ZeeMee allows you to enrich data about student’s in your institutions Community with CRM data.

Before you begin this guide, reach out to your ZeeMee Partner Success Director to receive a copy of the ZeeMee Community Data Notes and Community Data Specs. This guide and the assets it references have been built to those specifications.

Data Connectors#

ZeeMee supports transfer of batch data via API or SFTP.

This guide and the Mapping Template have been designed for SFTP.

ZeeMee will create an SFTP for you via Files.com. You will need to create a data connector (opens in a new tab) for this ZeeMee SFTP in Element451 and point the Export Task there.

Community Data Export

The Element451 team has built a Mapping Template that you can quickly load onto an Export Task and send to ZeeMee. You will be responsible for configuring the Task and scheduling the export. Recommendations for Task configuration are below.

Export Data Mapping Template

New database
41 rows
New database
NameElement451 SlugNotesRow
FirstNameuser-first-name1
LastNameuser-last-name2
Emailuser-email-address3
CellPhoneuser-phone-cell-number4
IDNumberuser-elementid5
PreferredNameuser-preferred-name6
EntryYearZeeMee prefers term and year split to two columns, as opposed to the single column in Element451. This formula converts the term GUID (as it is stored in the database) to the Term name. The Term name is assumed to be saved as “Term Year”, like “Fall 2024”. Split_Index then separates the string via the space in the middle, and selects the second half of the string, “2024”. You should modify this formula if your term name is different (ie 2024 Fall). SPLIT_INDEX(DB_MAP("term", [user-applications-term], "guid", "name", ""), " ", 2)7
EntryTermZeeMee prefers term and year split to two columns, as opposed to the single column in Element451. This formula converts the term GUID (as it is stored in the database) to the Term name. The Term name is assumed to be saved as “Term Year”, like “Fall 2024”. Split_Index then separates the string via the space in the middle, and selects the first half of the string, “Fall”. You should modify this formula if your term name is different (ie 2024 Fall). SPLIT_INDEX(DB_MAP("term", [user-applications-term], "guid", "name", ""), " ", 1)8
StudentTypeuser-applications-student-typeZeeMee supports student type options of “First time” and “Transfer”. Modity the Transformations on this column to replace your student type codes with these values.9
MiddleInitialuser-middle-name10
EmailOptOutThis calculated column utilizes the Email Unsubscribe Milestone to determine if a contact is opted out. Learn more about Opt Outs in Element451 here and here. if([user-milestones-unsubscribe-email-date], "TRUE", "FALSE")11
Address1user-addresses-home-street112
Cityuser-addresses-home-city13
StateProvinceuser-addresses-home-state14
ZipCodeuser-addresses-home-zip15
Countryuser-addresses-home-country16
HomePhoneuser-phone-home-number17
SMSTextOptOutThis calculated column utilizes the SMS Unsubscribe Milestone to determine if a contact is opted out. Learn more about Opt Outs in Element451 here and here. if([user-milestones-unsubscribe-email-date], "TRUE", "FALSE") If you are fully leveraging the user-sms-updates system field, you may choose to swap this calculated field with a standard mapping to user-sms-updates18
CurrentStatususer-calculated-funnel_stageElement451 automatically calculates a student’s status based on their Milestones. Learn more about Milestones, funnel stages, and the active funnel status trait. The following table translates Element451 Funnel Statuses to ZeeMee statuses. CURRENT STATUS CODE CURRENT STATUS DESCRIPTION ZM CURRENT STATUS FUNNEL STAGE SUSPECT Having a "Record Created At" milestone as the most recent. Inquired INQUIRED PROSPECT Having a "Date of Inquiry" milestone as the most recent. Inquired INQUIRED APPLICATION_START Having a "Application Start Date" milestone as the most recent. Application Started INQUIRED APPLICATION_SUBMIT Having a "Application Submit Date" milestone as the most recent. Application Complete COMPLETED APP ADMIT Having a "Admit Date" milestone as the most recent. Accepted ADMITTED CONDITIONAL_ADMIT Having a "Conditional Admit Date" milestone as the most recent. Accepted ADMITTED DEFERRED Having a "Deferred Date" milestone as the most recent. Deferred COMPLETED APP DENIED Having a "Denied Date" milestone as the most recent. Denied COMPLETED APP WAITLIST Having a "Waitlist Date" milestone as the most recent. Waitlisted COMPLETED APP HOLD Having a "Hold Date" milestone as the most recent. Waitlisted COMPLETED APP WITHDRAW Having a "Withdraw Date" milestone as the most recent. ApplicationComplete Withdrawn COMPLETED APP DEPOSIT Having a "Deposit Date" milestone as the most recent. Committed COMMITTED ENROLL Having a "Enroll Date" milestone as the most recent. Enrolled ENROLLED19
DateofBirthuser-dob20
Raceuser-race-categoriesZeeMee’s Community Data Notes ask for RaceEthnicity as a single column but will accept two columns at the time of this writing. In Element451, Race is shown as IPEDS categories by default. You may need to update your copy of the Template to support a custom data source for Race.21
EthnicityHispanicuser-race-hispanicZeeMee’s Community Data Notes ask for RaceEthnicity as a single column but will accept two columns at the time of this writing. In Element451, ethnicity is a Boolean indicating that a student identifies as hispanic. You may need to reconfigure this column if you use a custom data source or custom field for ethnicity.22
FirstGenFlagThis column is left unmapped in the Mapping Template. Element451 does not have a system field to specifically flag contact’s as first gen students. You may have a custom field for this or calculate it via a student’s listed family members.23
Genderuser-gender24
DateofInitialContactuser-milestones-prospect-dateContact’s are assigned a Date of Inquiry Milestone when they submit a Form or Register for an Event. Element451 defines this as the initial contact where the student becomes a prospect.25
InitialSourceCodeuser-calculated-first_sourceElement451 automatically creates Sources for contact records, and Sources can be manually assigned. This calculated trait finds the first Source a contact was assigned.26
CollegeCounselorNameCodeuser-ownerIn Element451, counselors or representatives are often assigned to the contact as the “owner” or “assignee”. A contact’s owner is stored on the contact record as their Element ID, which corresponds to the counselor’s account in Element451. Find a counselor’s Element ID by navigating to their profile at Settings > Manage Users and observing the URL of their profile. It is the series of numbers and letters at the end of the URL. Having located the Element ID, add a Replace transformation to the user-owner column, replacing the Element ID with the staff user’s name. Repeat for each staff user.27
CollegeCounselorEmailConsider mapping this column to user-owner if you utilize assignees in Element451. In Element451, counselors or representatives are often assigned to the contact as the “owner”. A contact’s owner is stored on the contact record as their Element ID, which corresponds to the counselor’s account in Element451. Find a counselor’s Element ID by navigating to their profile at Settings > Manage Users and observing the URL of their profile. It is the series of numbers and letters at the end of the URL. Having located the Element ID, add a Replace transformation to the user-owner column, replacing the Element ID with the staff user’s email. Repeat for each staff user.28
InitialVisitTypeElement451 supports visits as a type of Event, but does not enforce a “visit” type event. If you consider all Event in Element451 to qualify as visits, consider mapping user-events-event_type29
InitialVisitDateElement451 supports visits as a type of Event, but does not enforce a “visit” type event. If you consider all Event in Element451 to qualify as visits, consider mapping user-events-date Alternatively, consider automating the creation of a Visit Date Milestone per contact (it will not generate automatically). Then map user-milestones-visit-date in this column.30
ApplicationDateuser-applications-submitted-time31
ApplicationCompletedDateuser-applications-completed-at32
WaitlistedDateWaitlist Date is stored as a Milestone in Element451, separate from the Application. As such, we cannot guarantee a waitlist date is associated with a particular Application when exporting. For student’s with multiple applications, a waitlist date might have been created for the first application, but not be relevant to the second. This formula checks that the waitlist date is greater than the application submitted date. IF(DATE_COMPARE([user-milestones-waitlist-date], ">", [user-applications-submitted-time]) = "TRUE", DATE_FORMAT([user-milestones-waitlist-date], "Y-m-d"), "")33
DeniedDateDenied Date is stored as a Milestone in Element451, separate from the Application. As such, we cannot guarantee a denied date is associated with a particular Application when exporting. For student’s with multiple applications, a denied date might have been created for the first application, but not be relevant to the second. This formula checks that the denied date is greater than the application submitted date. IF(DATE_COMPARE([user-milestones-denied-date], ">", [user-applications-submitted-time]) = "TRUE", DATE_FORMAT([user-milestones-denied-date], "Y-m-d"), "")34
AcceptedDateuser-applications-decision-released-at35
DecisionsReleasedFlagZeeMee asks for a flag to indicate that a student’s decision has been released and communications about it can be sent. This formula checks for the presence of a decision released date and uses it to generate a boolean. if([user-applications-decision-released-at], "TRUE", "FALSE")36
CommittedDateDeposit Date (which corresponds to ZeeMee “committed” status) is stored as a Milestone in Element451, separate from the Application. As such, we cannot guarantee a deposit date is associated with a particular Application when exporting. For student’s with multiple applications, a deposit date might have been created for the first application, but not be relevant to the second. This formula checks that the deposit date is greater than the application submitted date. IF(DATE_COMPARE([user-milestones-deposit-date], ">", [user-applications-submitted-time]) = "TRUE", DATE_FORMAT([user-milestones-deposit-date], "Y-m-d"), "")37
WithdrawalDateWithdrawal Date is stored as a Milestone in Element451, separate from the Application. As such, we cannot guarantee a withdrawal date is associated with a particular Application when exporting. For student’s with multiple applications, a withdrawal date might have been created for the first application, but not be relevant to the second. This formula checks that the waitlist date is greater than the application submitted date. IF(DATE_COMPARE([user-milestones-withdrawal-date], ">", [user-applications-submitted-time]) = "TRUE", DATE_FORMAT([user-milestones-withdrawal-date], "Y-m-d"), "")38
HSCEEBCodeuser-education-highschools-ceeb39
HSNameuser-education-highschools-name40
ZeeMeeIDuser-identities-zeemeeid41

Export Data Task

To send data to ZeeMee via SFTP, you must create an Export Task (opens in a new tab).

Here is some recommended configurations for that task.

Creating a Segment to Export

ZeeMee requests a growing file that includes all records in a cohort, even if they’ve appeared in prior exports to ZeeMee.

Your institution will have unique concerns, but these are some Segment filter combinations you may consider.

All Records (Identities Type Exists)

This would effectively create a Segment of all user’s in Element451.

Element451 Segment filter on Identities: HAS an identity where Type exists, matching every record
Element451 Segment filter dialog, path Identities > Identity (All Properties). The condition is set to HAS, Property is Type, Operator is exists. Add Property link, then Cancel and Submit buttons.

All Student Records (Profile Type is Student)

If your instance includes family members and influencers, this Segment Filter would limit the export to just students.

Element451 Segment filter on User > Profile Type, set to Profile Type is Student
Element451 Segment filter dialog, path User > Profile Type. Property is Profile Type, Operator is is, Value is Student. Add Property link, then Cancel and Submit buttons.

Prospects + Applicants (Milestone Type in Date of Inquiry or Application Start Date)

This would segment only contacts that have a Date of Inquiry or Application Start Milestone.

Element451 Segment filter on Milestones: HAS milestone Type in Application Start Date or Date of Inquiry
Element451 Segment filter dialog, path Milestones > Milestone (All Properties). Condition HAS, Property Type, Operator in, Value lists two chips: Application Start Date and Date of Inquiry. Add Property and a partly visible Add Date Property link, then Cancel and Submit.

Repeating Rows on Application

To send the latest application data, set the Export to repeat rows based on Application.

Element451 export 'Repeat fields based on' options, with Applications (Application Data) selected
Element451 export task step titled Repeat fields based on, showing a grid of record types: User Profile, Applications, Decisions, Decisions Checklist, Education, Emergency Contacts, Employment, Evaluations, Events, Holds, Milestones, Notes, Payments and Sources. Applications, described as Application Data, is outlined in blue to show it is selected.

Then set “Item To Export” to Last and order by Application Created Date ascending.

Element451 Export Settings with Item To Export set to Last, ordered by Application Creation Date ascending
Element451 export task Export Settings panel. Item To Export has three options, First, Last and All, with Last selected. Order By is Application Creation Date, Order is Ascending, and Conditions shows an empty Add Filter button.

This will enable the user-applications-... fields to find the student’s latest application.

File Naming Convention

Ensure your file will be named according to ZeeMee’s convention, ZM_YourUniversity_YYYYMMDD.csv.

Replace "YourUniversity" with your institution’s name.

Use the [date:now,format=Ymd] token to dynamically add the export day’s date in the correct format.

Element451 export file settings with filename ZM_YourUniversity_[date:now,format=Ymd], comma-delimited CSV
Element451 export task file settings panel (labeled Source settings). Filename is ZM_YourUniversity_[date:now,format=Ymd], Delimiter Character is Comma, Extension is Comma Separated Values (.csv), and the Export first row as header toggle is on.

Delivering the Export File to the ZeeMee SFTP

Configure the destination of the Export Task to deliver the file to your ZeeMee SFTP Data Connector.

Element451 export destination set to SFTP, using the ZeeMee SFTP connection
Element451 export task Select a destination step with five options: Email, SFTP, Dropbox, Google Drive and Web Data Connector. SFTP is outlined in blue as selected. Below, SFTP Settings show Connection set to ZeeMee SFTP and a Select Path button for the required Path.

Community Engagement Import

ZeeMee sends contact data and aggregate activity counts via the Community Engagement file, which you can import to Element451 using the Mapping Template. You will be responsible for creating and configuring the Import Task. Recommendations for the Task are below.

The Mapping Template only maps a few fields as most columns don’t have matching system fields. Optional mappings are listed in the Notes of each column, below.

Consider creating the following assets in Element451 to accompany this Import Task.

Custom Fields#

ZeeMee activity and community data does not have a system-delivered field. Consider creating a Custom Field (opens in a new tab) for columns 18-41.

Custom Profile Card#

Custom Fields can be displayed in Custom Profile Cards (opens in a new tab) when viewing a student’s record in Element451. Consider creating a Custom Card for ZeeMee data to quickly surface it for your team.

ZeeMee Source Code#

Consider creating a Source Code (opens in a new tab) for ZeeMee and mapping it in column 43.

Though not required, you might also create term-based Source Code Segments and mapping them in column 44. Note that the Source Code Segment taxonomy will have to be updated every term if this approach is used.

Import Data Mapping Template

New database
46 rows
New database
NameElement451 SlugNotesRow
Entry.Term.ZMThis is the entry term (ie “Fall”, “Spring”) that the student has selected on ZeeMee. Consider importing if student’s intended term is unknown. NOTE: Entry.Term.ZM and Entry.Year.ZM are combine and mapped to user-education-term in column 46. Delete this calculated column if this data is unwanted.11
ZeeMee.Engagement.ScoreConsider mapping to a Custom Field.41
InterestedConsider mapping to a Custom Field.25
EDIT: ZeeMee Source Code Segmentuser-sources-source-code-segmentCreate a Source Code Segment for ZeeMee and insert the taxonomy in the formula for this column. “instance.taxonomy.49472” . Else delete this calculated column.45
Last.Login.DateConsider mapping to a Custom Field.36
Public.Private.Profile24
Community.Match21
Last.Engaged.DateConsider mapping to a Custom Field.37
ZM.Major.240
Partner.Institution10
Community.Join.StageConsider mapping to a Custom Field.20
Videos.Viewed.UniqueConsider mapping to a Custom Field.34
Phone.Numberuser-phone-cell-numberBe advised, mapping to this field may overwrite an existing phone number on the contact’s record. Remove the mapping if this behavior is unwanted. Consider, if different, the number used for a social app could be a more used than the number submitted to an inquiry form or application.9
Chats.ViewedConsider mapping to a Custom Field.32
EngagedAnyConsider mapping to a Custom Field.38
GoingConsider mapping to a Custom Field.29
Competitor.Match22
Entry.Term.PartnerCSV“PartnerCSV” columns reference data you might have sent to ZeeMee via the Community Data Export.12
EDIT: ZeeMee Source Codeuser-sources-souce-codeCreate a Source Code for ZeeMee and insert the taxonomy in the formula for this column. “instance.taxonomy.49472”. Else delete this calculated column.44
ZeeMee.Engagement.IndexConsider mapping to a Custom Field.42
ZeeMee Source Dateuser-sources-source-code-dateDATE_READ(DATE_DEFAULT("m/d/Y"),"m/d/Y") Applies the date that the import was run as the date of the Source. Alternatively, consider mapping the Community.Join.Date column 20 as the Source date.43
ZM.Major.1Consider mapping to Custom Field or Intended Major, if unknown.39
Chats.SentConsider mapping to a Custom Field.31
Accepted.CommunityConsider mapping to a Custom Field.26
Student.ID.PartnerCSVuser-elementid2
Commit.Button23
Emailuser-email-address8
Entry.Year.ZMThis is the entry year (ie “2021”, “2022”) that the student has selected on ZeeMee. Consider importing if student’s intended term is unknown. NOTE: Entry.Term.ZM and Entry.Year.ZM are combine and mapped to user-education-term in column 46. Delete this calculated column if this data is unwanted.13
Videos.LikedConsider mapping to a Custom Field.33
Last.Nameuser-last-name7
Friend.FinderConsider mapping to a Custom Field.28
Total.Partner.VideosConsider mapping to a Custom Field.35
Entry/Year.PartnerCSV“PartnerCSV” columns reference data you might have sent to ZeeMee via the Community Data Export.14
First.Nameuser-first-name6
HS.on.ZM17
Community.Join.DateConsider mapping to a Custom Field.19
Schools.Followed30
Student.Type.ZM15
in.CSV.File4
EDIT: Intended Termuser-education-termZeeMee send term and year split to two columns, as opposed to the single column in Element451. This formula converts combines the term and year from columns 11 and 13 into a single string. Then the DB_MAP formula converts the term name into the GUID. If you don’t wish to intended import term from ZeeMee or if your Term names are not stored as “Fall 2024”, “Spring 2025”, etc, you should modify this formula. DB_MAP("term", CONCAT([C11], " ", [C13]), "name", "guid", "")46
Student.Name5
ZeeMee.IDuser-identities-zeemeeid1
Room.Mate.QuizConsider mapping to a Custom Field.27
HS.in.PartnerCSV“PartnerCSV” columns reference data you might have sent to ZeeMee via the Community Data Export.18
School.ID2user-identities-schoolid3
CEEB.Code.PartnerCSV“PartnerCSV” columns reference data you might have sent to ZeeMee via the Community Data Export.16

Import Data Task

To Import data from ZeeMee, you must create an Import Task (opens in a new tab).

Here is some recommended configurations for that task.

Import from ZeeMee SFTP

Select the Source of the Import to look in the ZeeMee SFTP Data Connector.

Element451 import source connector options, with SFTP chosen and the ZeeMee SFTP connection set
Element451 import task Select a source Connector step with options Computer, Dropbox, Google Drive, SFTP and URL; SFTP and URL both appear outlined in blue. Below, SFTP Settings show Connection set to ZeeMee SFTP and a Select Path button for the required Path.

Match Entries By All Available Identities

Under Match Settings, configure the “Match entries by” to match on all available identities, including ZeeMee ID, Element ID, School ID and Email address. This will prevent duplicate records.

Element451 import Matching settings matching on ZeeMee ID, Element ID, School ID and email
Element451 import task Matching settings panel, which matches imported data to existing records. Match entries by lists four identities in order: ZeeMee.ID (user-identities-zeemeeid), Student.ID.PartnerCSV (user-elementid), School.ID2 (user-identities-schoolid) and Email (user-email-address).

Create New Segment for Import Task

Under “Groups and User Type”, create a new Segment for all contact’s affected by the Import Task. This will help you quickly find ZeeMee contacts and debug potential issues.

Element451 import Groups and User Type with Create New Segment on, named ZeeMee Community Engagement Import
Element451 import task Groups and User Type panel. The Create New Segment toggle is on, New Segment Name is ZeeMee Community Engagement Import, and Default User Type is Don't change.

Always Preview and Test Import

Always Preview and Test Import the task before running the Task. Ensure that any dates or data source values have been properly interpreted (opens in a new tab).

Additional Articles#

ZeeMee API Integration