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.
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.
Additional information
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?
Does it update existing contacts or prevent duplicates?
What if a row is missing an email or a phone number?
Can I bring over tags or other details from my sheet?
Do I need a paid Freshchat plan for this?
Related templates
Every weekday at 7am, your active courses are checked for missing work, silent logins, and slipping grades, with a ranked list sent to your advising channel.
Every Monday at 8am, see exactly which assignments have work waiting, sorted worst first, posted to Slack and logged to a spreadsheet.
Every weekday morning your advising team gets a ranked list of students slipping behind in each course, plus a tracking log that shows whether outreach worked.
Every Monday at 8am, count last week's tickets and SLA results, add one row to a tracking sheet, and post the headlines to Slack.
Every weekday, each person gets one private nudge listing only their own undocumented card spend, plus an aging report for finance.
Every Monday, find the people who never turned on two-factor or never accepted their invite, message them in Slack, and track both numbers.
Stop hand-adding leads to Freshchat.
Let every new row in your sheet become a ready-to-chat contact automatically.