Skip to main content
admin·Programs

Importing Program Records

Prepare CSV files, review linked program records, fix import issues, and invite participants separately.

Use a program import to bring participants, matches, goals, and past meetings into MentorStack from a previous or ongoing program.

Note

Release preview: This guide describes the CSV import workflow prepared for release. Production availability has not been verified.

A new program can start without an import. Add files only when you have existing records to bring across.

Before you start

You must be an organization administrator. Open Settings, then select Import program.

Each batch can contain up to 800 KiB across all files and 500 total data rows. Header rows do not count toward the row limit.

Imports add records. They do not overwrite existing records or keep another system synchronized. Keep a copy of your source files.

Choose your templates

Download the templates from the import screen. Replace the fictional example rows with your own records. Keep the column names unchanged.

TemplateWhat it contains
ParticipantsEmail address, name, mentoring role, department, and active status.
MatchesParticipants, format, status, start date, and completion date.
GoalsOwner, optional match, title, description, status, and dates.
Meeting historyMatch, optional organizer, title, notes, date, duration, and historical status.

You can leave unused templates empty. Include at least one data row across the files you select.

Participants

The columns are email, name, role, department, and active.

  • Use MENTOR, MENTEE, or BOTH for the role.
  • Use true or false for active status. An empty value means true.
  • Leave the department empty if you do not have that information.
  • Existing participants in your organization keep their current details. Their existing roles must support the imported records.
  • The import cannot reactivate, deactivate, or change the roles of an existing account. Make those changes separately in Members.
  • An account registered elsewhere cannot be moved into your organization through an import.

New active participants use seats. You can import new inactive participants to retain history. Reactivate them before adding active work or sending invitations.

Matches

The columns are match_key, format, mentor_email, mentee_emails, title, status, started_at, and completed_at.

Supported formats are ONE_ON_ONE, REVERSE, GROUP, and CIRCLE.

  • One-to-one and reverse matches contain one mentor and one mentee.
  • Separate multiple mentee email addresses with semicolons.
  • A circle has no mentor. Leave mentor_email empty and include at least two participants in mentee_emails.
  • Groups and circles require a title. Groups allow 1–20 mentees; circles allow 2–20 peers.
  • Active and paused groups must also fit your organization’s configured group size.
  • Use ACTIVE, PAUSED, COMPLETED, or CANCELLED for the status.
  • Active and paused matches use the normal match capacity and plan limits.

Use a unique match_key for each row, such as spring-pair-17. Goal and meeting rows use that value to identify their match.

Match references work within one batch. Include a referenced match in the same batch as its goals and meetings. A key from an earlier import cannot link a new row to that earlier match.

Goals

The columns are goal_key, owner_email, match_key, title, description, status, created_at, target_date, and completed_at.

  • Use a unique goal_key for each row.
  • The owner must have the Mentee role, including participants with both roles.
  • Leave match_key empty for a personal goal. A linked goal must belong to a participant in that match.
  • Use ACTIVE, COMPLETED, ARCHIVED, or CANCELLED for the status.
  • Active goals use the normal goal limits.

Meeting history

The columns are meeting_key, match_key, organizer_email, title, summary, scheduled_at, duration_minutes, and status.

  • Import past meetings only. Use COMPLETED, CANCELLED, or NO_SHOW for the status.
  • Use a unique meeting_key for each row.
  • Set the duration to a whole number from 1 to 480 minutes.
  • Leave the organizer empty if it is unknown. An organizer you include must participate in the match.
  • The summary is the text you supply. Import does not generate a new meeting summary.

Schedule future meetings through the Meetings page.

Format dates and text

Use ISO 8601 timestamps with a timezone, such as 2026-06-01T12:00:00Z. A goal’s target_date uses YYYY-MM-DD, such as 2026-10-01.

Start, creation, completion, and meeting timestamps must not be in the future. A goal’s target date can be in the future.

For matches and goals, supply completed_at only when the status is COMPLETED. It must be on or after the start or creation timestamp.

Save files as UTF-8 CSV. Quote cells containing commas, quotation marks, or line breaks. Spreadsheet exports normally handle those quotes for you.

Remove unknown or repeated column names. Use the exact names from the downloaded templates.

Preview and import

  1. Enter an Import name, such as spring-2026-batch-1.
  2. Select the CSV files for this batch.
  3. Select Preview records.
  4. Review every proposed record, the counts, and all reported issues.
  5. Confirm that you reviewed the records.
  6. Select Import records.

The import name accepts 3 to 80 lowercase letters, numbers, and single separating hyphens. Keep it with your source files for retries.

Preview does not save records. Each issue identifies its file, row, field, and required correction. Fix the source file, replace it, and preview again.

Changing the name or a file clears the previous review. All issues must be resolved before importing.

The batch saves all records together. If validation or a write fails, none of that batch’s new records are saved.

Warning

The import itself sends no invitations, calendar events, meeting reminders, or AI jobs. Active records enter normal program operation afterward. Ordinary program automation may apply later.

Retry safely

If a connection fails, keep the same files and import name. Preview them again before retrying.

When the same parsed records were already imported, the screen returns the previous receipt. It does not create the records again.

If the import name was used for different records, the preview reports a conflict. Restore the original files for a retry.

Use a new name only for a new batch. A new name does not update records from an earlier import. Include only new records in that batch.

Give participants access

Importing participant records does not send invitations or complete account registration.

After a successful import, select View members. Send invitations separately when you are ready for participants to join.

The participant accepts the invitation through the normal registration flow. Their imported records remain attached to their account.

An active imported participant already uses a seat. Their access invitation does not reserve a second seat. An inactive imported participant must be reactivated before an invitation can be sent.

See Managing Members for invitation and reactivation controls.

What is outside this import

This format does not import messages, attachments, surveys, milestones, cohorts, or calendar connections. It does not provide ongoing synchronization.

An import also cannot replace existing participant details or bypass plan, seat, role, or match capacity limits.