{"id":13433588,"url":"https://github.com/nickvidal/mailsheet","last_synced_at":"2025-03-22T18:34:31.642Z","repository":{"id":89529634,"uuid":"86714401","full_name":"nickvidal/mailsheet","owner":"nickvidal","description":"Send emails from Google Sheets","archived":false,"fork":false,"pushed_at":"2020-11-18T17:49:36.000Z","size":287,"stargazers_count":68,"open_issues_count":0,"forks_count":12,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-18T14:05:03.262Z","etag":null,"topics":["gmail","google-docs","google-sheets","mail-merge","marketing-automation","sales-automation"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nickvidal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-03-30T14:48:02.000Z","updated_at":"2025-03-17T12:15:54.000Z","dependencies_parsed_at":"2024-01-21T03:17:37.126Z","dependency_job_id":"d0df87ff-fb5d-42e1-a931-551721b3f146","html_url":"https://github.com/nickvidal/mailsheet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickvidal%2Fmailsheet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickvidal%2Fmailsheet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickvidal%2Fmailsheet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickvidal%2Fmailsheet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nickvidal","download_url":"https://codeload.github.com/nickvidal/mailsheet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245003667,"owners_count":20545643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gmail","google-docs","google-sheets","mail-merge","marketing-automation","sales-automation"],"created_at":"2024-07-31T02:01:30.045Z","updated_at":"2025-03-22T18:34:31.238Z","avatar_url":"https://github.com/nickvidal.png","language":"JavaScript","readme":"# mailsheet\nSend Emails from Google Sheets\n\n![MailSheet Screenshot](https://github.com/nickvidal/mailsheet/blob/master/MailSheet_Screenshot.png)\n\n\n## Overview\n\n**MailSheet** integrates with **Google Workspace** to provide a simple yet powerful **email automation** solution:\n\n* Use **Google Sheets** to organize a list of leads.\n* Create campaign templates using **Google Docs**.\n* Send emails that appear in your **Gmail** account.\n\n\n## Quick Setup\n\nThe quick setup takes about 10 minutes.\n\n### Create the First Template\n\n- Make a copy of this campaign template:\nhttps://docs.google.com/document/d/1uXxxQywbfgURrwzUdSGnnHtssIzxFm2mMVk-Dr1dsh0/edit?usp=sharing\n- From the Menu: File \u003e Make a copy...\n- Be sure to name it \"*Test (T1)*\".\n\n### Create the Leads Sheet\n\n- Make a copy of this spreadsheet:\nhttps://docs.google.com/spreadsheets/d/1va32yPCK0D1dMkz2ZtIQbnKyobgc13sDnBO_8M8xyc0/edit?usp=sharing\n- From the Menu: File \u003e Make a copy...\n- In the first column (Owner), replace *YOUR NAME* with your name (yellow column).\n- Add a few of your contacts (green rows).\n\n### Send the First Template\n\n- From the Menu: Mail Sheet \u003e Send campaign...\n- You'll be asked to give the appropriate permissions to MailSheet.\n- The MailSheet sidebar will open.\n- Select \"*Test*\" as the Campaign (see troubleshooting below).\n- Select \"*T1*\" as the Template.\n- Enter a *Subject* for the email.\n- Click on the *Send Campaign* button.\n- Watch the *Status* get updated row by row (from \"*T1*\" to \"*T2*\").\n- Go to your Gmail and look at the *Sent Mail* folder.\n- Go to your *Inbox* and review the MailSheet email with a summary of the results.\n- Congratulations! You just sent your first campaign template using MailSheet!\n\n*Troubleshooting*: If you are unable to select \"*Test*\" as the Campaign, you might be experiencing a conflict between your Google accounts. Try reopening the spreadsheet in a new *Incognito/Private* window.\n\n### Enable the Gmail API\n\nBefore sending a second template, you need to enable the *Gmail API* to support threaded conversations:\n- Go to your Leads Sheet.\n- Open the Script Editor:\n  - From the Menu: Tools \u003e Script editor...\n- Inside the Script Editor:\n  - From the Menu: Resources \u003e Advanced Google services...\n  - Search for Gmail API and turn it ON.\n- Close the Script editor.\n\nIf you plan to send bulk email, please read the next section for the complete setup.\n\n## Complete Setup\n\nThe complete setup takes 10 more minutes.\n\n### Create Your Unsubscribe Link\n\nWhen sending mass email or bulk email, you must provide an *Unsubscribe link* to comply with [CAN-SPAM](https://en.wikipedia.org/wiki/CAN-SPAM_Act_of_2003).\n\nA simplistic solution is to create a Google Form:\n- Create a new form called Unsubscribe on Google Forms.\n- Edit the first question to become a *Short answer text*.\n- Edit the question to something like: \"*Email address to unsubscribe*\".\n- From the menu: Responses \u003e ... \u003e Select response destination \u003e Create a new spreadsheet.\n- From the menu: Responses \u003e View responses in Sheets.\n- In the Unsubscribe sheet, add a third column called \"*Status*\".\n- Copy the Document ID of the Unsubscribe sheet:\n  - The URL will look something like: `https://docs.google.com/spreadsheets/d/[YOUR UNSUBSCRIBE SHEET]/edit`\n  - The Document ID is the code at `[YOUR UNSUBSCRIBE SHEET]`\n- Create an Unsubscribe Link: `[YOUR UNSUBSCRIBE LINK]`\n  - You may use the Google Form directly as your unsubscribe link.\n  - Be sure to use the *Get the pre-filled link* and delete just the email address from the link so that the appropriate email to be unsubscribed will be appended.\n  - If you have a website, you can redirect something like https://example.com/unsubscribe?entry=email to your Google Form.\n\n### Replace Your Unsubscribe Link\n\n- Go to your Leads Sheet.\n- Open the Script editor:\n  - From the menu: Tools \u003e Script editor...\n- Edit file Code.gs:\n  - Replace the following strings:\n    - `[YOUR ADDRESS]`\n    - `[YOUR UNSUBSCRIBE LINK]`\n    - `[YOUR UNSUBSCRIBE SHEET]`\n  - Uncomment the changed lines (by deleting the preceding `//`)\n- Save the file and close the Script editor.\n\n### Create the Second Template\n\n- Go to Google Docs and create a new document.\n- Copy the following text:\n\n\u003e Hi {{First Name}},\n\u003e \n\u003e MailSheet supports threaded conversations.\n\u003e \n\u003e Want to give it a try and help me test it?\n\u003e\n\u003e https://github.com/nickvidal/mailsheet\n\u003e\n\u003e Thanks,\n\n- Paste as plain text.\n  - From the Menu: Edit \u003e Paste without formatting.\n- Save the document as \"*Test (T2)*\".\n- MailSheet provides mail merge functionality for `{{First Name}}`, `{{Last Name}}`, and `{{Lead}}`.\n\n\n### Send the Second Template\n\n- Go to your Leads Sheet.\n- From the menu: Mail Sheet \u003e Send campaign...\n- The MailSheet sidebar will open.\n- Select \"*Test*\" as the Campaign.\n- Select \"*T2*\" as the Template.\n- Since this is a follow-up, you may leave the *Subject* blank.\n- Click on the *Send Campaign* button.\n- Watch the *Status* get updated row by row (from \"*T2*\" to \"*T3*\").\n- Go to your Gmail and look at the *Sent Mail* folder.\n- Go to your *Inbox* and review the MailSheet email with a summary of the results.\n- Congratulations! You are all set!\n\n### Conclusion\n\n**MailSheet** allows you to be **more organized** and **save time**.\n\nI encourage you to use this saved time to do **better prospecting** and create more **personalized campaigns**.\n\nThis will provide a **better experience** for everyone!\n\nI hope you enjoy using **MailSheet**!\n\n![MailSheet](https://github.com/nickvidal/mailsheet/blob/master/mailsheet.png)\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickvidal%2Fmailsheet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnickvidal%2Fmailsheet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickvidal%2Fmailsheet/lists"}