# Import from MeetMaker

You ran registration in MeetMaker and you want to bring the clubs, gymnasts, and meet details into Gym Art Meets. The MeetMaker importer talks to MeetMaker directly, so you don't need to export anything. You paste the event URL, pick which clubs to pull in, and start the import.

There are two ways to run this, depending on whether you've already created the Gym Art Meets meet:

* **New meet from MeetMaker**. Start from the new meet dialog. The importer creates the Gym Art Meets meet using the MeetMaker meet details, then imports clubs into it.
* **Apply to an existing meet**. Open a meet you already created, and pull MeetMaker data into it. Useful when you set up the meet manually and realize later that MeetMaker has most of the info.

## Prerequisites

* A club in Gym Art Meets. If you don't have one yet, [create one first](/club-management/create-a-club.md).
* A published MeetMaker event with registrations. You need the event URL or the numeric event ID.

## Find your event ID

Open your event page on MeetMaker and copy the URL from your browser. It looks like `https://meetmaker.com/Event?eid=8953`. You can paste the whole URL, or just the number at the end.

## Path A: Create a new meet from MeetMaker

### Step 1: Start a new meet

1. From your club dashboard, click **New meet**.
2. On the "How would you like to create your meet?" screen, pick **MeetMaker**.

### Step 2: Fetch the meet details

1. Paste your event URL or ID into the field.
2. Click **Fetch meet details**.
3. Gym Art Meets pulls the meet from MeetMaker and shows you the name, dates, location, organizer contact, and any level fees that were set up in MeetMaker.

If you see "No meet data was found for this event," double-check the URL. The event ID is the number after `eid=`.

### Step 3: Create the Gym Art Meets meet

Click **Apply to meet**. Gym Art Meets creates a new meet using the MeetMaker details. You stay in the same dialog, with the new meet ready to receive the import.

### Step 4: Pick the clubs to import

1. Click **Fetch Clubs**. Gym Art Meets asks MeetMaker for the list of clubs registered to the event.
2. The club list appears. By default, all clubs are selected.
3. Deselect any clubs you don't want to import. This is useful if a club registered by mistake, or if you're running a combined event and only some clubs are yours.

### Step 5: Run the import

Click **Import {count} club(s)**. Gym Art Meets fetches the registrations for each selected club, maps them to Gym Art Meets levels, and creates the gymnasts and coaches. You'll see a progress bar.

When the import finishes you get a result card with counts. The dialog closes and takes you to your new meet.

## Path B: Apply MeetMaker data to an existing meet

If you've already created your meet and just want to bring MeetMaker data in:

1. Open the meet from your dashboard.
2. Navigate to the **MeetMaker Import** page from the meet menu.
3. Paste your event URL or ID and click **Fetch meet details**.
4. Click **Apply to meet**. The meet's name, dates, timezone, description, cover image, location, organizer contact, and event manager contact are overwritten with the MeetMaker values. Other meet settings (levels you already created, registration settings, documents) are kept.
5. Click **Fetch Clubs**, pick the clubs, and run the import.

## What you get

| Entity in Gym Art Meets                              | From MeetMaker                                                 |
| ---------------------------------------------------- | -------------------------------------------------------------- |
| Meet name, dates, timezone                           | Yes (from Fetch meet details)                                  |
| Location and description                             | Yes                                                            |
| Organizer and event manager contacts                 | Yes                                                            |
| Cover image                                          | Yes (if set on MeetMaker)                                      |
| Levels                                               | Yes                                                            |
| Level fees (registration price, team fee, team size) | Yes, when MeetMaker has a fee table                            |
| Gymnasts (name, DOB, club, level)                    | Yes                                                            |
| Coaches                                              | Yes                                                            |
| USAG numbers                                         | Stored as additional identifier on each gymnast                |
| Age groups                                           | No (MeetMaker doesn't send DOB ranges, set these up per level) |
| Subdivisions                                         | No                                                             |
| Sessions                                             | No                                                             |
| Rotations                                            | No                                                             |
| Competitions                                         | No                                                             |
| Scores                                               | No                                                             |
| Judges                                               | No                                                             |

Scheduling, age groups, and scoring all get set up inside Gym Art Meets after the import.

## Level name mapping

MeetMaker uses short level codes. Gym Art Meets expands them automatically:

| MeetMaker code   | Gym Art Meets level          |
| ---------------- | ---------------------------- |
| `XB`             | Xcel Bronze                  |
| `XS`             | Xcel Silver                  |
| `XG`             | Xcel Gold                    |
| `XP`             | Xcel Platinum                |
| `XD`             | Xcel Diamond                 |
| `XSA`            | Xcel Sapphire                |
| `C` or `Coach`   | Coach                        |
| `1`, `2`, `3`... | Level 1, Level 2, Level 3... |

Anything else is kept as-is. After the import, you can rename levels from the level settings.

## Who counts as a coach

Registrations where MeetMaker marks the role as coach are imported as coaches, not gymnasts. Everyone else goes into the gymnast roster, as long as they have a date of birth.

## Common stumbling blocks

**A gymnast is missing.** MeetMaker entries without a date of birth are skipped. Check the registration in MeetMaker.

**A whole club didn't come through.** If MeetMaker fails to return the registrations for one club, the import logs a warning and continues with the others. You'll see the successful count in the result card. Re-run the import with only that club selected to retry.

**My meet name got overwritten.** The **Apply to meet** button on an existing meet overwrites the meet name, dates, timezone, description, cover image, location, and contacts with MeetMaker's values. If you want to keep your current values, fetch the details to preview them but don't click apply, and do the club import only.

**Levels have short names like "XB".** That means normalization didn't run. Report this and rename the level manually in the level settings.

**I re-ran the import and have duplicates.** Gymnasts and coaches are matched by first name, last name, and club name. Renaming someone between imports creates a second entry. Delete the duplicate.

## What's next

* [Configure levels and categories](/meet-setup/configure-levels-and-categories.md) to set up age groups and subdivisions
* [Create a session](/scheduling/create-a-session.md) to build your schedule
* [Set up judge profiles](/scoring/set-up-judge-profiles.md) to prepare for scoring

## Related

* [Import from KSIS](/migration/import-from-ksis.md)
* [Migration overview](/migration/index.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gymart.org/migration/import-from-meetmaker.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
