Skip to main content
Question

How to Use Airtable to Share Migration Progress Reports with Customers in Real Time?

  • June 10, 2026
  • 6 replies
  • 95 views

SidHeart
Forum|alt.badge.img+1

Hi everyone,

We're currently managing Microsoft 365 mailbox migration projects and using Airtable as a project tracking platform.

The migration itself is performed using SysTools Office 365 migration software, which generates detailed CSV reports containing mailbox status, migrated item counts, failures, timestamps, and other statistics.

What I'd like to do is automatically push those CSV reports into Airtable so customers can view migration progress in near real time through a dashboard or interface, rather than sending them updated spreadsheets manually.

Has anyone built something similar?

I'm considering a workflow where Airtable automatically imports the latest CSV data and updates customer-facing views. I'm curious whether people are using Airtable Automations, Make, Zapier, custom scripts, or another approach for this type of reporting.

Would appreciate any suggestions or examples from those who have implemented client-facing status dashboards.

6 replies

TheTimeSavingCo
Forum|alt.badge.img+32

I'm considering a workflow where Airtable automatically imports the latest CSV data and updates customer-facing views.

Airtable lets you email CSVs and have them auto imported into tables if that helps: 

https://support.airtable.com/docs/airtable-sync-integration-emailed-data

Main limitation is that it can only do 10k rows at a time though

---

What I'd like to do is automatically push those CSV reports into Airtable so customers can view migration progress in near real time through a dashboard or interface, rather than sending them updated spreadsheets manually.

Yeah this makes sense.  You’d use the Dashboard layout and point it at the table where the data imports go and so anyone visiting that page would have the latest data all the time


ScottWorld
Forum|alt.badge.img+35
  • Genius
  • June 10, 2026

@SidHeart 

If you’d like to automate the process of importing CSV files into Airtable, your #1 best bet for this is to use Make’s CSV modules along with Make’s Airtable modules.

I demonstrate how to automatically import CSV files into Airtable on this Airtable podcast episode. This video will give you a step-by-step walkthrough on how to set this up in Make.

If you’ve never used Make before, I’ve also assembled a bunch of Make training resources in this thread.

Hope this helps!

If you have a budget and you’d like to hire the best Airtable consultant to help you with this or anything else that is Airtable-related, please feel free to contact me through my website: Airtable consultant — ScottWorld


Jonathon91
Forum|alt.badge.img
  • New Participant
  • June 11, 2026

I’d split this into two layers: ingestion and customer-facing reporting.

For ingestion, keep a raw imports table so every CSV load has a timestamp, source file/run ID, and import status. Then normalize that into a current “Mailbox Migration Status” table keyed by mailbox/project/customer so your dashboard is not just appending duplicate rows forever.

If emailed CSV sync works for your file size, that is the simplest starting point. If you need updates/upserts, failure handling, or row-level validation, I’d move to Make, a custom script/API flow, or a purpose-built Airtable sync/integration tool. The main thing you want is control over matching existing rows, marking stale rows, and logging failed imports.

For the interface, I’d avoid exposing the raw CSV table directly. Give customers a filtered dashboard with current status, last updated time, failed item count, and a “needs attention” view. The most important thing is a visible freshness indicator so people trust the dashboard.


SidHeart
Forum|alt.badge.img+1
  • Author
  • New Participant
  • June 11, 2026

Thanks for the suggessions


Jonghyun_Oh
Forum|alt.badge.img+2
  • Inspiring
  • June 13, 2026

I would keep a staging/current split here so customers never see a half-imported CSV as if it were the live status.

A structure that usually works:

- Migration Projects: one row per customer/project.
- Mailboxes: one row per mailbox being migrated.
- Import Runs: one row per CSV/report import, with source file, timestamp, status, and error count.
- Migration Status Snapshots: either one row per mailbox per run if you need history, or a current-status table if you only need latest state.

The flow would be:

1. SysTools exports or drops the CSV somewhere predictable.
2. Import the CSV into a staging table first.
3. Upsert Mailboxes by mailbox ID/email.
4. Update current status fields from the latest successful import.
5. Mark the Import Run complete.
6. Show the customer-facing Interface filtered by project/customer.

If "near real time" means every few minutes, Airtable alone may be awkward unless the report can arrive through an email/CSV sync path. If SysTools can put files in OneDrive/SharePoint/Google Drive, I would use Make, Power Automate, or a small scheduled script to push the parsed data into Airtable.

Fields I would add early:
- last_report_at
- last_successful_import_at
- source_run_id
- import_error
- customer_visible
- dashboard_note, e.g. "Last updated at 10:32"

That gives you a clean way to hide stale or failed imports instead of accidentally showing old data as live.
 


SidHeart
Forum|alt.badge.img+1
  • Author
  • New Participant
  • June 18, 2026

Just to add a bit more context 
The tool that I was using could generate reports with time stamp in names. you can see that in the guide page:
https://www.systoolsgroup.com/office365-express-migrator.html

Moreover, at the end I also get .log files can Airtable be used to build a dashboard that can support different data types?