The Scenario
Your customer success team spent the past three weeks running 200 check-in calls. Every note from those calls lives in a Google Sheet — column A has the contact email, column B has the call notes. The notes need to go into Intercom as internal notes so the account managers can see them when they open a contact record.
The sheet is ready. The problem is that nobody has had time to copy the notes in, and "copy 200 notes from a spreadsheet into Intercom one at a time" is not a task that appears in anyone's job description.
The bad version:
- Open Intercom, search for the first email in column A, open the contact, click "Add note", paste the text from column B.
- Do this 199 more times.
- Realize halfway through that Intercom's note field has a character limit and some of the longer call notes got silently truncated.
You hired the CS team to run calls, not to manually migrate spreadsheet data into a CRM.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads each row and posts the note text to the matching Intercom contact as an internal note.
For each row in this sheet (columns: Contact Email, Note Text), find the matching Intercom contact and create an internal note with the text from column B — write "added" or "contact_not_found" to column C.
What You Get
- One internal note created per row on the matching Intercom contact.
- "added" written to column C for successful notes.
- "contact_not_found" written to column C for any email that does not match an existing contact.
- Notes appear in the contact's activity timeline in Intercom, visible to anyone with access to that workspace.
What If the Data Is Not Quite Ready
Some note texts are very long and need to be summarized before posting
A few call notes run to 800+ words, which is too long to be useful as an Intercom internal note.
For each row in this sheet, summarize the text in column B to no more than 150 words, then post it as an internal note to the matching Intercom contact — write "added" or "contact_not_found" to column C.
Notes need to be prefixed with the call date from column C
The notes are more useful in Intercom with a date header so account managers know when the call happened.
For each row, find the Intercom contact by email in column A and create an internal note formatted as "Check-in call on [column C date]: [column B text]" — write the result to column D.
Some emails in column A do not have matching Intercom contacts and need to be created first
About 15 contacts had calls but were not yet in Intercom.
For each row in this sheet, check if an Intercom contact exists for the email in column A — if not, create the contact first with just the email — then post the note from column B as an internal note and write the outcome to column C.
Prefix dates, handle missing contacts by creating them, post notes, and log results in one pass
You want the whole operation done without any manual pre-work.
For each row, format the note as "Check-in call on [column C]: [column B]", check whether an Intercom contact exists for the email in column A — create it if not — then post the formatted note as an internal note and write "added", "created_then_added", or "error" to column D.
Try It
Get the 7-day free trial of SheetXAI and open your call notes sheet — ask it to push the notes into Intercom before the account managers start their next round of QBR prep. For managing company-level updates alongside these contact notes, see the bulk-update-company-attributes spoke and the Intercom hub overview.
