Why Notion Import From Microsoft Loop Cannot Preserve Component Type
🔍 WiseChecker

Why Notion Import From Microsoft Loop Cannot Preserve Component Type

When you import content from Microsoft Loop into Notion, the component types such as Loop tables, voting tables, or progress trackers do not carry over. Instead, the imported content appears as plain text or simple tables with no interactive functionality. This happens because Notion and Microsoft Loop use fundamentally different data structures and block types. This article explains the technical reasons behind this limitation, shows you how to manually recreate the lost component behavior, and describes what you can expect during the import process.

Key Takeaways: Why Loop Component Types Are Lost During Notion Import

  • Notion import only reads Markdown and HTML: Loop component metadata is not written in these formats, so Notion discards it and imports only the visible text and structure.
  • Loop uses Fluid Framework components: These are real-time collaborative objects with no equivalent block type in Notion’s database or page system.
  • Manual recreation is required: You must rebuild Loop tables as Notion databases and Loop voting blocks as Notion properties like Select or Rollup.

ADVERTISEMENT

Why Microsoft Loop Components Are Not Converted

Microsoft Loop components are built on the Fluid Framework, a Microsoft technology that enables real-time co-authoring and live data synchronization across Microsoft 365 apps. A Loop component is not a static block of text or a simple table. It is an active object that can be embedded in Teams, Outlook, Word Online, and other Microsoft apps. Each component type has its own internal schema that defines its behavior. For example, a Loop voting table stores vote counts, voter identities, and timestamps in a proprietary format.

Notion, on the other hand, uses its own block-based editor and database system. When you export content from Loop, the platform converts the component into a flat representation such as Markdown or plain HTML. This conversion strips away all component-specific metadata. Notion’s import tool then reads that flat format and maps it to the closest Notion block type. A Loop table becomes a Notion simple table or a bulleted list. A Loop progress tracker becomes a set of static checkboxes or plain text. There is no mapping for the component’s interactive logic.

Microsoft does not provide an export format that preserves the component type definition. Loop components are designed to remain within the Microsoft ecosystem. Notion cannot interpret the Fluid Framework binary data because it is not an open standard. The result is that any import from Loop will always lose the original component type.

What Happens to Common Loop Component Types During Import

Here is what each Loop component type becomes after Notion imports it:

  • Loop table: Becomes a Notion simple table with no database properties. Row sorting, filtering, and rollups are lost.
  • Loop voting table: Becomes a plain table or list. Vote counts and voter names are lost.
  • Loop progress tracker: Becomes a bulleted list or a set of checkboxes. Progress percentages and dependencies are lost.
  • Loop task list: Becomes a to-do list in Notion with checkboxes. Assignment and due date metadata are lost.
  • Loop person component: Becomes plain text with the person’s name. Contact card and online status are lost.

Steps to Recreate Loop Component Behavior in Notion

Since the import cannot preserve component types, you must rebuild the functionality manually. Follow these steps to recreate the most common Loop components in Notion.

Recreate a Loop Voting Table as a Notion Database

  1. Create a new database
    In your Notion page, type /database and select Table. Name the database after the original Loop voting table.
  2. Add the voting property
    Add a column with property type Number. Rename it to Votes. This will store the vote count for each row.
  3. Add a voter identification property
    Add a column with property type Text or Person. Use this to list the names or emails of people who voted.
  4. Manually enter the data
    Copy the text from the imported Loop table and paste each row into the Notion database. Fill in the Votes and Voter columns manually.
  5. Sort and filter the database
    Use the Sort and Filter options in the database header to recreate the order and visibility you had in Loop.

Recreate a Loop Progress Tracker as a Notion Database with a Formula

  1. Create a new database
    Type /database and select Table. Create columns for Task Name, Status, and Due Date.
  2. Add a Status property
    Set the Status column property type to Select. Add options such as Not Started, In Progress, and Done.
  3. Add a Formula property for progress percentage
    Add a column with property type Formula. Enter this formula: if(prop("Status") == "Done", 100, if(prop("Status") == "In Progress", 50, 0)). This returns a percentage based on the status.
  4. Add a Rollup property for overall progress
    If you have a parent database, add a Rollup property that calculates the average of the Formula column across all tasks.
  5. Enter the tasks
    Manually add each task from the imported Loop progress tracker. Set the Status for each row.

Recreate a Loop Task List as a Notion Database with Date and Assignee

  1. Create a database
    Type /database and select Table. Add columns for Task, Assignee, Due Date, and Status.
  2. Set the Assignee property type to Person
    This allows you to tag Notion workspace members. If the original Loop task had a specific assignee, search for that person’s name in Notion.
  3. Set the Status property type to Select
    Add options such as To Do, In Progress, and Completed.
  4. Import the task text
    Copy the task names from the imported Loop content and paste them into the Task column. Fill in the other columns manually.

ADVERTISEMENT

If Notion Still Has Issues After the Main Fix

Imported Loop Table Shows as a Bulleted List Instead of a Table

This happens when Loop exported the component as plain Markdown without table formatting. Notion’s import tool treats the content as a list. To fix this, delete the bulleted list and create a Notion database manually as shown in the steps above. Copy the text from the list and paste it into the new database rows.

Linked Database View Shows Stale Data After Sync

If you imported a Loop component into a Notion page that is linked to a database, the imported content may appear as a linked view of the database. This is not a true import of the Loop component. The linked view shows data from the original Notion database, not from Loop. To resolve this, remove the linked view by clicking the view name and selecting Delete. Then create a new database for the Loop data.

Loop Person Component Imports as Plain Text with No Contact Card

Notion cannot recognize the Fluid Framework person object. The imported text is a static string. To turn it into a Notion person property, create a new column in your database with property type Person. Then type the person’s name in that column. Notion will match it to a workspace member if they exist in your workspace.

Notion Import from Loop: What You Get vs What You Lose

Item In Microsoft Loop After Import to Notion
Table with interactive sorting Live sorting and filtering Static table or list
Voting component Real-time vote tally Plain text or number
Progress tracker Visual progress bar Checkboxes or text
Task list with assignments Assigned to people with due dates Plain text or simple to-do list
Person component Clickable contact card Plain text name

Conclusion

You now know that Notion import from Microsoft Loop cannot preserve component types because Loop uses the Fluid Framework with proprietary data structures that Notion cannot read. To maintain the functionality, you must rebuild each component type as a Notion database with appropriate properties such as Select, Number, Person, and Formula. For future imports, consider using the Loop export to PDF or Markdown and then manually structuring the data in Notion databases. This approach gives you full control over the final layout and interactivity.

ADVERTISEMENT