Add every new spreadsheet lead to Freshchat as a contact

Every time you add a customer or lead to your Google Sheet, they become a contact in Freshchat, so your team has them on file before the first chat.

Deterministic Code
FreshchatGoogle SheetsOperationsCustomer SupportData Sync
PromptCreate

Whenever a new row is added to my Google Sheet of customers and leads, add that person to Freshchat as a contact so my agents always have them on file before the first chat. Use a poll trigger on new Google Sheets rows as the trigger for this workflow. Because the trigger fires exactly once per new row and the column-to-field mapping is fixed, build this as a deterministic code workflow with no reasoning step.

For each new row, read the name, email, and phone columns, plus any tag or attribute columns the sheet includes.

If the row has neither an email nor a phone, skip it entirely and do not create a contact, so we never create empty contacts. Only continue when at least one of email or phone is present.

Otherwise, create the matching Freshchat end-user with the Freshchat Create User operation. Map the name onto the user's first and last name, the email onto the email field, and the phone onto the phone field. Map any extra tag or attribute columns onto the user's custom properties so agents see the full profile.

Do not try to look up or de-duplicate contacts first: Freshchat exposes no search-user-by-email operation, so a true upsert is not possible. Since the new-row poll trigger fires exactly once per row, each contact is created exactly once and no lookup is needed.

What does this prompt do?

  • Watches your Google Sheet and picks up each new customer or lead the moment their row is added.
  • Creates a matching contact in Freshchat with their name, email, and phone.
  • Copies any tag or attribute columns onto the contact's profile so agents see the full picture before the first chat.
  • Skips rows that have neither an email nor a phone, so you never end up with blank contacts.

What do I need to use this?

  • A Google account with the spreadsheet where you track new customers or leads.
  • A Freshchat account you can connect.
  • Columns for name, email, and phone, plus any tag or attribute columns you want carried over.

How can I customize it?

  • Point it at a different spreadsheet or tab as your lead list changes.
  • Choose which columns map to name, email, phone, and the extra profile details.
  • Adjust the skip rule, for example requiring an email specifically before a contact is created.

FAQs

What happens when I add a new row to the sheet?
As soon as a new row appears, that person is created as a contact in Freshchat, ready for your agents to chat with.
Does it update existing contacts or prevent duplicates?
No. It creates a fresh contact for each new row. Freshchat doesn't offer a way to look someone up by email first, so this is built for adding new leads rather than de-duplicating an existing list. Because it only reacts to brand-new rows, each row becomes exactly one contact.
What if a row is missing an email or a phone number?
If a row has neither an email nor a phone, it is skipped so you don't get empty contacts. As long as one of the two is filled in, the contact is created.
Can I bring over tags or other details from my sheet?
Yes. Any extra tag or attribute columns are copied onto the contact's profile as custom details, so your team sees the full context.
Do I need a paid Freshchat plan for this?
You just need a Freshchat account you can connect. Any plan that lets you add contacts will work.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Local listing health board for every location you manage

See every Google Maps listing you manage on one screen, ranked worst first, with an audit button that writes the fix list for you.

Local Business Data
Google Sheets
App
Let support send one-off Loops emails without an engineer

Your team picks a template, finds the customer, checks they are safe to email, then sends it, with every send logged where the whole team can see it.

Loops.so
Stripe
Google Sheets
App
Stop cold emails to anyone with a live deal in Pipedrive

Every night at 2am, pull the contacts on your open and won deals and block them from your cold outreach before the next send goes out.

Mailshake
Pipedrive
Google Sheets
Deterministic Code
iMessage campaign console with pre-flight checks and delivery board

Build every text campaign in one screen: check who is actually reachable, see a realistic send plan, then watch delivery land row by row.

LoopMessage
Google Sheets
HubSpot
App
LinkedIn Ads budget pacing dashboard for every client account

See every LinkedIn ad account's spend against the budget you committed to, catch overspend early, and rebalance without rebuilding a spreadsheet.

LinkedIn Ads
Google Sheets
Slack Bot
App

Stop hand-adding leads to Freshchat.

Let every new row in your sheet become a ready-to-chat contact automatically.