> For the complete documentation index, see [llms.txt](https://docs.gymart.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gymart.org/connectors/publish-to-meetscoresonline.md).

# Publish to MeetScoresOnline

> Connect your meet to MeetScoresOnline and let scores go up on their own, or upload a CompleteMeet file by hand.

MeetScoresOnline is where a lot of results live publicly. There are two ways to get your scores there. Connect MSO once and Gym Art keeps it fed, or export a file and upload it yourself.

Connecting is the one to use. The manual upload is still here, and still works, for meets where you would rather push the file yourself.

## Connect MeetScoresOnline

### Before you start

* You are an admin on the meet in Gym Art Meets.
* Your gymnasts are on the roster. A gymnast who is not on it is left out of what gets sent.
* If your meet is already registered on MSO, have its **MeetID** and **Meet Password** ready. If it is not registered, Gym Art can register it for you.

### Connect it

1. Open your meet, then click **Connectors** in the sidebar under **Score Exporting**.
2. Leave the **Live publishing** switch at the top of the page on. Nothing goes out while it is off.
3. Find the **MeetScoresOnline** card under **Outbound**.

**If the meet is already on MSO**, leave the toggle on **Enter details** and fill in:

* **MSO meet ID**. What you registered with, often an email address.
* **Upload password**. The password you set when you registered the meet.
* **MSO event ID**. Optional. Fill it in and the card gets an **Open in MSO** link straight to your public page.

Click **Connect**.

**If the meet is not on MSO yet**, switch the toggle to **Set up automatically** and click **Create & connect**. Gym Art registers the meet on MSO and links it, using our own MSO account rather than credentials from you.

It does need the meet filled in first, and it refuses with a message naming what is missing rather than registering something half-right on MSO under your club's name. The **Event details** card at the top of the Connectors page holds every required field — meet name, dates, organizer contact name and email, and club name — and flags the empty ones, so you can fill them there before you click.

One more rule applies to MSO only: **one discipline.** MSO registers one discipline per event, so a combined WAG and MAG meet is refused. Register each discipline as its own meet on MSO, or connect with **Enter details**. This does not apply to ScoreCat, which takes the whole meet.

Registering is one-shot: it creates a meet on MSO that Gym Art cannot rename or delete afterwards. If you click it twice, the second attempt is refused rather than registering a duplicate. To delete the meet you have to go to MSO and delete it there.

### Check it took

The card flips to **Connected** and shows the **Meet ID**, a **Status**, and a **Last published** time once the first send goes out. Status reads **Uploaded** when MSO accepted it, **Failed** when it did not.

From here on, scores go out on their own about once a minute for as long as the meet runs. Each send carries the scores, the all-around and the placements so far, and MSO shows the meet as **Uploading**.

When the **whole meet** is done and its scores are verified, press **Finalize meet** at the bottom of the page. That marks the results official and flips MSO to **Meet Complete**. What goes out is rebuilt from the meet as it stands at that moment, so it can differ from the last live send.

It covers the whole meet, not one session. Pressing it while a session is still running marks that session official and flips MSO to **Meet Complete** mid-meet, so wait until every session is done.

Turn the **Live publishing** switch off first, or the next score entered anywhere sends the provisional version again over what you just published, which flips MSO back to **Uploading**.

The card also carries **Pause**, **Clear & resync** and **Disconnect**, described in [Connect ScoreCat](/connectors/connect-scorecat.md#control-what-goes-out). Pause and Disconnect behave the same on both cards. **Clear & resync** is MSO's alone, because MSO merges each send into what it already holds. ScoreCat ignores it.

## Upload a CompleteMeet file instead

Prefer to drive it yourself? The export path is unchanged.

### Step 1: Export from Gym Art Meets

1. Open your meet from the club dashboard.
2. Go to **Score Exporting** in the sidebar.
3. Click **Export to MeetScoresOnline**.

![Open Score Exporting in the sidebar, then click Export to MeetScoresOnline.](/files/i15r3cuS1NS5TVWOGm2d)

You get **one CSV per discipline**, already in MSO's CompleteMeet format. A meet with both WAG and MAG gives you two files, which is what MSO expects.

### Step 2: Upload to CompleteMeet

1. Open <https://meetscoresonline.com/completemeet>.
2. Fill in the **Import Meet Scores** form:
   * **MeetID** and **Meet Password** from your MSO registration.
   * **Meet Status**. **Uploading** for interim scores during the day, **Meet Complete** once results are final.
   * **Clear Scores**. Leave it off so repeat uploads merge. Tick it only to make MSO forget everything you sent before.
   * **Event Type**. **Men's** or **Women's**, matching the file.
   * **Choose File**. The CSV you exported.
3. Click **Submit**, once per discipline.

The file carries the identity columns MSO matches on (level, session, age division, club, competition number, name, date of birth when you enable it) and a score plus a placement column per apparatus. Placements come from the same rankings and tiebreakers as your leaderboard.

## Common stumbling blocks

**A gymnast is missing on MSO.** MSO matches on the identity columns. If a bib or club number changes between sends, MSO treats it as a different person. Keep them stable.

**Placements are blank.** Scores were not verified when the results were built. Verify them, then publish or export again.

**MSO does not match the leaderboard.** A manual export is a snapshot from the moment you clicked. Re-export and re-upload, or connect MSO and stop thinking about it.

**Entries are duplicated on MSO.** Use **Clear & resync** on the MSO card. It rides along with the next live send, so wait for that. Do not press **Finalize meet** to hurry it: that marks the whole meet official, including the sessions still competing.

## Related

* [How publishing to partner platforms works](/connectors/index.md)
* [Connect ScoreCat](/connectors/connect-scorecat.md)
* [Understand score status](/scoring/understand-score-status.md)
* [Export scores](/scoring/export-scores.md)
* [MSO CompleteMeet official help](https://meetscoresonline.com/Help.Complete-Meet)
