Functional Overview
How does it work?#
The Populi integration is bi-directional, meaning data can be synced in two directions:
- Element451 → Populi
- Populi → Element451
The integration is designed to be reusable and configuration-driven, allowing the workflow to be tailored based on a partner’s needs while still following a standard overall sync pattern .
Sync Configuration#
The Populi integration can support either unidirectional or bi-directional syncing, depending on the partner’s implementation.
Element451’s Populi integration supports:
- Element451 → Populi sync
- Populi → Element451 sync
- Document upload workflows???
In practice, not every partner will use every part of the integration. The exact behavior depends on the school’s configured scope.
Element451 → Populi#
This sync process sends data from Element451 to Populi.
The standard Element → Populi flow begins by loading the client-specific configuration, translating Element student data into Populi-compatible values, attempting to match the student in Populi, creating a new Populi student if needed, saving the Populi identity back into Element, and then populating the rest of the student-related data .
How the Sync Is Triggered#
By default, the integration is initiated through the following sequence:
- A label—Element451 to Populi - Trigger Sync—is applied to a contact record.
- This label triggers the rule Element451 → Populi Sync.
- The rule calls the webhook Element451 to Populi Sync(), which starts the integration process.
If you are finding data isn’t syncing as expected, you should reach out to Live Support (How to Work with Live Support (Managed Integrations)).
Element451 Delivered Functionality#
The following components are included in the standard Element → Populi integration flow:
Label: Element451 to Populi - Trigger Sync#
- This label is used to manually trigger a sync for a contact.
- Once the sync begins, the label is automatically removed, allowing it to be reused for future syncs.
Rule: Element451 → Populi Sync#
- This rule is triggered when the Element451 to Populi - Trigger Sync label is added.
- Partners can add additional triggers to automate syncing. Common examples include:
- Decision release
- When triggered, the rule:
- Calls the Element451 to Populi Sync () webhook
- Removes the trigger label (if present) to allow future reuse
Webhook: Element451 to Populi Sync()#
- Webhooks are used to send automated notifications to external systems.
- In this case, the webhook sends the Element451 record ID to the integration process to begin syncing.
- This webhook is pre-configured and does not require modification.
Integration Process#
- The integration runs in a cloud-hosted environment managed by Element451.
- During processing, the system:
- Extracts data from Element451
- Transforms it into the format required by Populi
- Sends it to the appropriate Populi endpoints
- It checks for an existing Populi record before creating a new one using the following data points:
- identity fields
- school ID
- first name
- last name
- date of birth
- preferred name
- It checks for an existing Populi record before creating a new one using the following data points:
- Data that is synced includes:
- Person/Demographic/contact information
- Application/Lead data
- Previous Schools Attended
- Student Roles
- Document Upload
- Multiple validation checks occur throughout this process to ensure data accuracy.
- If an error occurs:
- It may stop the entire sync, or
- It may only impact a specific data element while others continue processing
Populi → Element451#
This sync process sends data from Populi to Element451.
The Populi → Element flow starts by exporting data from Populi using change notifications. The integration retrieves person changes from Populi where their change date is later than a provided date, stores those notifications in our database, and also saves extended student data for later processing .
After the extract step completes successfully, a process kicks off and launches Element import runs for Populi records that have not yet been marked as processed .
How the Sync Works#
The standard Populi → Element flow happens in two stages:
1. Populi → Staging Area in Database#
The integration first retrieves Populi change notifications and stores them in the database. It also fetches the full student record, including configured custom fields, and stores the extended data for import processing in a staging table.
2. Staging Area in Database → Element451#
Once staged records are available, the import job:
- extracts values from the staged Populi record
- translates them into Element-compatible values
- prepares the import payload
- imports the student data into Element
- marks the record as processed.
Data Imported from Populi#
The standard Populi → Element flow can import:
- Populi ID and identity
- date of birth
- social security number
- school and personal emails
- phones
- names
- citizenship country
- race and Hispanic status
- addresses
- source code / import labeling
- previous education
- custom fields defined in configuration
Data Sources and Translation Tables#
The Populi integration uses translation tables to map values between Element and Populi and ensure data consistency across systems.
Important Guidelines#
For any data source that is supported by a translation table:
- Do not add or remove values directly in Element451.
- Adding values can cause sync errors due to missing translations.
- Removing values may result in them being automatically re-added during a future sync.
- If a new value is needed:
- Add it in the SIS first, then request a data resync through Live Support.
- If a value needs to be removed:
- Contact Live Support to determine the appropriate approach.
Translation Tables Built#
The standard supported translation tables can include:
- races
- school types
- academic loads
- terms
- sources
- campuses
- degrees
- majors/programs
- genders