Import Your Messages History on a Mac

If you use Messages on a Mac, the conversations already sitting there can become part of your contacts' records. Groupthink reads the Messages database on your own machine, you tick the conversations you want, and each one is filed onto the contact whose phone number or Apple ID it matches. When nothing matches, the import asks you who the conversation belongs to. Either way it ends up as a Text interaction on that person's timeline, alongside meetings and forwarded email.

This lives in the Groupthink desktop app for Mac, under Settings > Capture > Messages on this Mac. The web app shows the same card with a Mac app only label, because the reading happens on your machine.

What is read, and what leaves your Mac

The card states this before you turn anything on, and it is worth repeating here:

  • Your Messages database is read on this Mac only. Nothing is read until you turn this on. That includes the list of who you text, which is itself private information.
  • Only the conversations you tick are sent to Groupthink. Group chats are never read.
  • Uploaded conversations are stored and can be deleted from your notes at any time.
  • Filing a conversation to a contact saves that sender's phone number onto the contact, so the next conversation from the same number files itself. This is the one thing an import writes to a contact record. Phone numbers only: an Apple ID email address is never saved to a contact. Nothing is saved if that contact already has a number, if another of your contacts already has that number, or if the handle is not something Groupthink can read as a real phone number.
  • Disconnecting stops all future reading and clears what this Mac remembers about the import.

Nothing runs on a schedule. There is no background sync and no timer. A conversation is read when you press the import button and at no other time.

Before you start

  • A Mac running the Groupthink desktop app, signed in.
  • Messages history on that Mac. If your texts live only on your iPhone, turn on Messages in iCloud and let them sync down first.

Step 1: Turn on Messages import

Open Settings > Capture in the desktop app and find Messages on this Mac. It starts Off.

Click Turn on Messages import. This is the consent step. Nothing has been read up to this point.

Step 2: Grant Full Disk Access

macOS blocks every app from reading the Messages database until you grant Full Disk Access. Two things about this surprise people, so here they are plainly.

There is no in-app prompt. macOS gives apps no way to ask for Full Disk Access. Groupthink can only send you to the right settings pane. The card gives you an Open Privacy & Security button that opens it directly.

macOS quits Groupthink the moment you flip the switch. That is macOS applying the change, not a crash. The card has a Restart Groupthink button for exactly this, and once you reopen the app you can come back to the card and click Check again.

One grant covers both databases. Groupthink also reads the Contacts database on this Mac, so the conversation list can show names instead of phone numbers. Full Disk Access covers both, so there is no second permission to grant and no second prompt.

The steps:

  1. Click Open Privacy & Security on the card.
  2. Under Privacy & Security > Full Disk Access, turn on Groupthink.
  3. macOS quits Groupthink. Reopen it.
  4. Go back to Settings > Capture. The card now reads On.

Step 3: Choose conversations

Click Choose conversations. Groupthink lists the one-to-one conversations on this Mac, with a message count and when the last message arrived. Each row leads with the name Messages itself shows for that person.

A few things about that list:

  • Only one-to-one conversations appear. Group chats are never read, so they are never listed.
  • Names come from Contacts on this Mac and never leave it. Groupthink reads the same address book Messages reads, so a row says Sarah Chen instead of +15035551234. The name is a label on your own screen. It is not a decision about which contact the conversation belongs to, and nothing about your contacts is sent to Groupthink.
  • The phone number or Apple ID stays on the row, next to the message count. That is the thing you cross-check against Messages, so it is always in view.
  • A conversation with no contact card shows as a number. This is the common case, not a failure. Messages shows those as bare numbers too.
  • Search by name or number. The box above the list filters as you type. Numbers are compared digit by digit, so typing 503 555 finds +15035551234 and you do not have to guess how the number was stored.
  • Automated senders are hidden. The short codes that carry two-factor codes, delivery alerts, and marketing are folded away behind a Show automated senders checkbox, which tells you how many there are. If you cannot find the thread from your pharmacy, tick that box.
  • Conversations you have imported before are marked Imported, or New messages since import if there is anything new.

Tick the conversations you want. You can pick up to 25 per import. The import button tells you roughly how many notes that will produce before you press it.

Ticking a conversation and then searching for something else does not untick it. The count on the import button, and the import itself, cover everything you ticked, on screen or not.

Step 4: Import

Click the import button. Groupthink reads each conversation you ticked, uploads it, and files it onto the matching contact where there is one.

When it finishes you get a plain summary: how many conversation notes were created, how many were already captured, and how many did not go through. Under that summary, every conversation that landed this run is listed by name, with where it went:

  • Matched to a contact. A link to that person, so you can open their timeline and read it.
  • Matched to nobody. An Attach to a contact button, so you can file it yourself.

If a conversation was long enough that Groupthink stopped partway, the summary says so. Run the import again and it picks up where it left off. Nothing is sent twice.

Filing a conversation to a contact

Expect to do this by hand for now. Groupthink matches a text conversation to a contact by phone number, and no contact record carries a phone number yet, because the sync that would fill them in has not shipped. So a conversation from a phone number arrives unmatched today. A conversation from an Apple ID email address can still match, because Groupthink already holds email addresses. Nothing is broken when the summary asks you to file everything; the matcher has nothing to match against yet.

Filing them is not wasted work. Each conversation you file saves that sender's phone number onto the contact you picked, so the next import has that much more to match against and the list of conversations you have to file gets shorter.

Click Attach to a contact on a row. Groupthink uses the name from Contacts on this Mac to narrow the search for you:

  • One contact with that name: you get a button with their name on it. One click files the conversation.
  • No contact with that name: you get Create new contact: Sarah Chen, which creates the person and files the conversation in one step.
  • More than one contact with that name: you get all of them and you pick. Groupthink will not choose for you, because filing a conversation to the wrong person quietly is worse than asking.

You can also search your contacts yourself, or close the row and come back to it. Filing a conversation puts it on that person's timeline and reads it again for commitments and context under their name. A long conversation is split into several notes, and all of them move together.

A filed row then reads Filed to with the contact's name and links to them. A row that matched on its own reads View with the name.

Where imported conversations show up

Every imported conversation lands on the Captures page, which you reach from Captures in the left sidebar. Each one is a row headed with the conversation's handle, showing its most recent messages, with a copy button that takes the whole thread.

A conversation whose handle matched one of your contacts also lands on that contact's relationship page, as a Text card in the timeline.

Imported conversations are not listed in Recaps. Recaps is for meetings and for interactions you logged as they happened; an imported history is a capture, and a few hundred of them would bury the meetings there.

A conversation that matched nobody sits on the Captures page marked Not routed to a contact, with an Attach to contact button on the row, so you can file it from there as well as from the import summary. Groupthink reads it for that person once it is filed, which is why the extraction waits for the attach rather than running against nobody.

Limits worth knowing

  • 25 conversations per import. Run it again for more.
  • One-to-one only. A group chat has no single person to file it to, so it is never read.
  • Re-importing sends only what is new. Groupthink remembers where each conversation left off, so a second run on the same conversation sends only the messages that arrived since. If nothing arrived, it reports that there is nothing new to import.
  • Messages still syncing down from iCloud may not appear yet. Groupthink reads the database without disturbing it, which means a message that has not been written out yet is picked up on the next import instead.
  • Messages.app is left alone. Groupthink opens the database read only. You can keep Messages running throughout.
  • Filing a conversation teaches Groupthink that number, once. The number is saved onto the contact you picked, so a later import from the same number arrives already filed. It is saved only when that contact has no number on record and no other contact of yours has that number. An Apple ID email address is never saved this way, so a conversation from an Apple ID that matched nobody has to be filed each time.

Turning it off

Click Disconnect on the card. That stops all future reading and clears what this Mac remembers about the import, including where each conversation left off.

Conversations you already imported stay in Groupthink, because they are your record now. You can delete any of them from your notes.

If you disconnect and later turn it back on, Groupthink starts from an empty imported state and will offer you the full list again.

If the card says something else

What it says What it means
Needs permission Full Disk Access has not been granted yet. See Step 2.
There is no Messages history on this Mac yet The Messages database is not there. If you use Messages on your iPhone, turn on Messages in iCloud so it syncs down.
Reading the Messages history is macOS-only Windows has no Messages database to read.
This Mac is missing the system database tool Groupthink needs Groupthink reads the database using a tool that ships with macOS. Contact support and we will take a look.
Sign in to Groupthink on this Mac before importing The desktop app is not signed in. Sign in and try again.
macOS refused access to Contacts on this Mac Full Disk Access is granted, but macOS is still refusing the address book. Conversations show as numbers. Search and the import itself both still work.
We could not read Contacts on this Mac Groupthink could not open the address book, so conversations show as numbers. Search and the import itself both still work.

Frequently Asked Questions

Does Groupthink read my texts in the background?

No. There is no background sync, no timer, and no scheduled run. Reading only happens when you click import.

Does Groupthink upload my whole Messages database?

No. The database is read on your Mac. Only the conversations you tick are sent, and only the messages inside them.

Does Groupthink read my contacts?

It reads the names stored on this Mac, so the conversation list shows people instead of phone numbers. Nothing about your contacts is uploaded, stored, or sent to Groupthink. The name labels the list on your own screen and goes nowhere else. Only the conversations you tick are sent.

What about group chats?

Never read. Not listed, not imported.

How does Groupthink know which contact a conversation belongs to?

By the handle. A phone number matches the number on a contact's record, in any format. An Apple ID email matches any email address on the record, including a secondary one. If nothing matches, the conversation is stored without a contact rather than filed to the wrong person. It is not stranded there: the import summary lists it with an Attach to a contact button, and filing it puts it on that person's timeline. Filing it also saves that phone number onto the contact you picked, so the next conversation from the same number matches on its own. The name shown in the conversation list is a label read from this Mac, not a match, so it does not decide this for you.

Why is Groupthink asking me to file every conversation by hand?

Because it has nothing to match on yet. Matching is by phone number, and no contact record carries one today. It gets better as you go: every conversation you file saves its number onto the contact, so the next import matches more of them on its own. See Filing a conversation to a contact.

Will importing an old conversation change when I last spoke to someone?

Yes. An imported conversation counts as an interaction and moves that contact's last interaction date to match the conversation.

Can I do this on Windows?

No. This is macOS only, because the Messages database only exists there. On any platform you can still paste a text conversation into Capture.

Getting Help

Stuck on the Full Disk Access step, or a conversation that imported empty? Email support@groupthink.com.