Home / Knowledge base / Page Studio

Knowledge base

MiBlock Bulk Import & Export – User Guide

Modified on Thu, 5 Nov at 9:19 PM

Overview

You can now create, update and delete MiBlock records in bulk from an Excel file, and export any component's records to an editable workbook. This guide is for anyone who manages MiBlock records in the CMS.

Feature

What it does

Where you find it

Export

Downloads a component's records to an editable Excel workbook, one tab per level

Export on a component or record page

Bulk import

Creates and updates records from a workbook, from the level you start on down

Import on a component or record page

To move around nested components and edit single records, see Record Manager – User Guide.

Exporting records

Export works for every component type. It downloads the records at the level you're on, and every level beneath it, to one Excel workbook you can edit and import back.

  1. Use the tree to go to the component or record whose contents you want.
  2. Click Export.

3. Open the downloaded .xlsx file. Its name combines the component, the level you exported from, and the date, e.g. MiblockMenunewL1_20261027.xlsx.


How the workbook matches your component

The workbook is built from your component's structure and field definitions, so every component gets its own layout.

  • Instructions tab: always first. It explains how to fill the file and the rules the import checks.
  • One tab per component or sub-component, named after it. A record with several sub-components gets a tab for each, e.g. a Meeting Space with Floor Plans, Capacity Charts and Gallery.
  • One row per record.
  • One column per field defined on that component, in the same order as the record form. Fields added to the component appear in your next export.

Columns every tab has

Column

What it holds

Record ID (grey)

The system's ID for the record. Don't change it.

Action *

What the import should do with the row. Exported rows start as NoAction.

Parent- component name (yellow)

On sub-component tabs only: a drop-down of the records on the parent tab.

Your component's fields

One per field definition. Fields marked * are required.

Status

Published or Draft.

Where you start decides what you get

Export from

Workbook contains

The component (Level 1)

Every level, the whole tree

A Level 1 record

That record's sub-components and everything below them

A record further down

Only its own sub-components and below

Importing records

Import works for every component type. It creates, updates and deletes records from the workbook, starting at the level you're on and covering every level beneath it. Only rows with an Action are imported.

Get a file to fill

  • Records already exist: click Export, edit the file, and import it back.
  • Starting from scratch: download the template with Download it here in the Import from Excel window. It has the same tabs and columns for your component, with no rows.
  • Component fields have changed: export again first, so your file has the current columns.

Fill the file

  1. Work top to bottom, from the first data tab to the last. Each child row needs its parent to exist first.
  2. Record ID: leave it unchanged on existing rows. Leave it blank on new rows; the ID is created on upload.
  3. Action *: set it on every row you want imported.
  • Create: add a new record.
  • Update: change an existing record.
  • Delete: remove a record.
  • NoAction: leave the record unchanged. Exported rows start with this.
  • Rows with a blank Action are skipped.
  1. Parent: on sub-component tabs, pick the parent from the yellow drop-down. It lists only records on the parent tab.
  2. Fill the fields marked *. Set Status to Published or Draft.
  3. Don't rename tabs or column headers.

Entering values by field type

Each column follows the type of its field in the component definition. Columns with a fixed list of values come with a drop-down.

Field type

What to enter

Example

Text input

Single line, within the field's length limit

Conference Center

Text area

Plain text; press Alt+Enter for a new line

Seats up to 800.

Rich text

The text as HTML

<p>Seats <strong>800</strong></p>

Radio button / dropdown

One value from the drop-down

Published

Multi-select

Allowed values, separated by commas

Vegan, Gluten-Free

Checkbox

A value from the drop-down

Yes

Date picker

A real date

01-Jun-2026

Number / price

The value as it should appear

15

Image

The DAM link of an image already uploaded to assets

https://mds-assets.marriott.com/…

JSON, array and relationship fields can't be edited through import. Update them in the record editor.

Upload the file

  1. Go back to the page you exported from or want to import into.
  2. Click Import. The Import from Excel window opens.
  3. Drop your file into the window, or click browse. Accepted types are .xls, .xlsx and .csv, up to 1 MB.
  4. Click Upload.

Need a sample file? Click Download it here in the same window to get the template for this component.

Import from Excel window, with the template link at the bottom

Import from Excel window, with the template link at the bottom.

If some rows have errors

The CMS checks every row before anything is saved. If any rows fail, the window shows how many, and you choose what to do:

  • Import N valid rows: save the rows that pass now.
  • Download error report: get the rows that failed, with what to fix. Correct them and upload that file the same way.

Import from Excel window showing 1 of 2 rows with an error

Import from Excel window: 1 of 2 rows has an error, with Download error report and Import 1 valid row.

Large imports also send an email when they finish.

Example: a Menu workbook

This example shows a three-level Menu component exported from Level 1. Your component's tabs and columns will follow its own definitions.

Tab

Level

Parent column

Menu-new

1

None. These are the top-level records.

Menu-new Section

2

Parent- Menu-new

Menu-new Section Item

3

Parent- Menu-new Section

Instructions tab

Instructions tab.

Menu-new tab, Level 1

Menu-new tab (Level 1): top-level records, no Parent column.

Menu-new Section tab, Level 2

Menu-new Section tab (Level 2): each row picks its menu in the yellow Parent column.

Menu-new Section Item tab, Level 3

Menu-new Section Item tab (Level 3), first columns: each item picks its section.

The Item tab continues with more fields from the definition, such as price options and add-ons.

Import results

Every import ends in one of three results. Rows that pass are saved; rows that fail come back in a failed-rows file for you to fix. Download it with Download error report in the import window, or from the email for large imports.

Result

What it means

What to do

Success

Every row was imported, e.g. "40 of 40 rows imported"

Nothing. Your records are live.

Partial

Some rows imported and some failed, e.g. "36 imported · 4 failed"

Download the failed rows, fix them, and import that file.

Failed

No rows were imported, e.g. "0 of 12 rows imported"

Download the failed rows, fix them, and import that file.

The failed-rows file

  • It contains only the rows that failed, so importing it again won't duplicate rows that already passed.
  • It keeps the same tabs, columns and drop-downs as your original file.
  • Cells with errors are filled red.
  • An Import result column at the end of each tab says what's wrong and how to fix it.
  • An Import result tab at the front summarises errors by type.

Failed-rows file with error cells in red and an Import result column

Failed-rows file: error cells in red, with an Import result column explaining each fix.

Fixing and importing again

  1. Open the failed-rows file. Filter the Import result column to show only rows with messages.
  2. Fix the red cells. Use the drop-downs for parent, status and action values.
  3. If a parent record failed, fix it first. Its child rows will clear once the parent imports.
  4. Save the file and upload it with the Import button. The Import result column is ignored on upload.

Notifications and emails

Small imports and exports show their result on screen. Large ones run in the background and email you when they finish, so you don't have to wait on the page.

  • When a large run starts: a message confirms it has started and that you'll get an email.
  • When it finishes:you get one email with the result:
    • Success: the counts of records created, updated and removed, with a link to the records.
    • Some rows failed: how many rows failed, the most common issues, and a link to the failed-rows file.
    • Failed: the reason, a link to the failed-rows file, and a link to a blank template.

If you're still on the page when it finishes, you'll see the result on screen instead of an email.

Common errors and FAQs

Most import errors come from a missing parent, a missing required value, or a value outside a drop-down list.

Message you see

What it means

How to fix

Parent "X" doesn't exist

The parent named in the row isn't on the tab above or in the CMS

Pick a parent from the drop-down

Parent "X" wasn't imported because it has errors

The parent row in the same file failed

Fix the parent row first

Name is required

A required field is blank

Enter a value

"X" appears twice under this parent

Two rows have the same name under one parent

Rename or remove one

"X" isn't a valid Status

The value isn't in the allowed list

Pick a value from the drop-down

Must be a number

Text was entered in a number field

Enter digits only, e.g. 800

Can't be negative

A negative number where only positive values are allowed

Enter a positive number

Isn't a valid date

The date can't be read

Use a date like 01-Jun-2026

Is over the character limit

Text is longer than the field allows

Shorten the text

The HTML isn't valid

Rich text has unclosed or broken tags

Close every tag you open

The "X" tab is missing or renamed

The file's structure was changed

Restore the tab name or start from a fresh export


FAQs

Does import create the component itself? 

No. The component is set up in the CMS. Import creates and updates the records inside it.

If I remove a row from the file, is that record deleted? 

No. Only rows with Action set to Delete are removed.

Can I import the whole component in one file? 

Yes. Start the import from the top level of the component.

Will re-importing my original file create duplicates? 

Rows set to Create are created again. After a partial import, upload the failed-rows file, not the original.

What if an export fails? 

The reason shows on screen, or in the email for large exports. Run Export again; if it timed out, export from a lower level.

What file types are supported?

.xls, .xlsx and .csv, up to 1 MB per file.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article