Posts

How to Auto Format Google Form Responses in Google Sheets

Image
When you submit a Google Form, it stores a copy of the form response as a new row in the Google Sheet. The only problem here is that Google Forms will not add any formatting or styles to the new row that you may have applied to the previous rows of the sheet. Let me illustrate this with a small example. Here’s a Google Sheet that is storing Google Form responses. I’ve changed the default font family to Droid Sans , center-aligned the Country and Age column and also applied a different date format to the Date of Birth column. Everything looks good but as soon as a new form submissions is made, the new row appended to the Google Sheet via Google Forms will lose all the formatting. The cell alignment is not preserved, the custom date formats are ignored and so is the default font size and font family. Here’s a screenshot of the same sheet but with a new row added through Google Forms. Also see: Automate Google Forms through Workflows Auto Format New Rows in Google Sheets Sin...

The Most Useful Twitter Bots

Image
Set reminders with @RemindMe_OfThis An open-source Twitter bot that lets you easily set reminders for public tweets. Mention @RemindMe_OfThis in the reply of any tweet and specify the time in natural English when you would like to reminded of that tweet. You could say things like in 2 days or in 12 hours or next week or even in 5 years . Check out the source on Github . Save Twitter Threads with @ThreadReaderApp The gurus on Twitter have figured out that threads are the best way to extend the reach of their tweets and @ThreadReaderApp makes is really easy for you read and save these threads. To get started, reply to any tweet of a thread and mention @threadreaderapp with the “unroll” keyword. and they create a single page with all the tweets arranged in chronologicusefual order. Blog posts anyone? Also see: Search Twitter Like a Pro Capture Screenshots with @pikaso_me Reply to a tweet with the word “screenshot this” and mention @pikaso_me in the reply. You’ll rec...

How to Use Gmail SMTP Server for Sending Email

Image
This step-by-step tutorial describes how you can connect to the Gmail SMTP server for sending emails from a Node.js web application that could be deployed on Google Cloud Functions, AWS Lambda, Cloud Run or running on your local machine. And unlike most other Node SMTP tutorials that use the username and password combination, this approach uses OAuth and doesn’t require you to turn on less secured apps access in your Google account. Create Gmail OAuth Credentials Create a new Google Cloud Project and enable the Gmail API as described in a previous tutorial . In the APIs & Services section, click on Credentials and click on Create credentials > OAuth Client Id to create a new client ID that will be used to identify your application to Google’s OAuth servers. Set the application type as Web Application and put the following URL in the Authorized Redirect URI . https://developers.google.com/oauthplayground Click the Create button and you’ll be provided the OAuth Clie...

Send WhatsApp Messages with a Google Sheets Function

Image
In a previous tutorial, you learned how to send WhatsApp messages from Google Sheets using the official WhatsApp API. The first 1,000 messages per month for each WhatsApp Business Account are free and then you pay per use based on the country of the message sender and the message recipient. WhatsApp API Pricing For instance, if you are sending a WhatsApp message from the US phone number to a WhatsApp user in France, the cost would be 14¢ per message. However, if you send messages from WhatsApp number in India to another number in India, the cost would be around 0.006¢ per message. The rate cards for WhatsApp API pricing are available here . In addition to the cost factor, the WhatsApp Business API requires you to have a verified business on Facebook (see verification requirements ) and the terms require that you will only send message to WhatsApp users who have opted-in to receive future messages from you on WhatsApp. The other limitation of WhatsApp API is that you can only sen...

How to Send WhatsApp Messages from Google Sheets with the WhatsApp API and Apps Script

Image
This tutorial describes how you can use the new WhatsApp API with Google Apps Script to send WhatsApp messages from Google Sheets. The same approach would also work for sending WhatsApp messages from Google Forms when new form submissions are received. Step 1: Create a WhatsApp App Go to developers.facebook.com and click the Create App button to create a new app that we’ll use for sending WhatsApp messages. Select Business as the app type. Give your app a descriptive name (do not use any Facebook trademarks like WhatsApp or Facebook in the app name) and click the Create App button to create the app. Once the app has been created, click the WhatsApp button on the next screen to add WhatsApp sending capabilities to your app. On the next screen, you will be required to link your WhatsApp app to your Facebook business account. You will also have the option to create a new business account if you don’t have one yet. Step 2: Add Recipient’s phone number Facebook wi...

How to Schedule a Meeting in Google Meet with Apps Script

Image
This Apps Script sample shows how you can programmatically schedule video meetings inside Google Meet with one or more participants using the Google Calendar API . It can be useful for teachers who wish to schedule regular meetings with their students but instead of manually creating meeting invites, they can easily automate the whole process for the entire class. Setup Google Meeting with Apps Script Give your meeting a title, the start date, the meeting duration, the list of attendees and how often you wanted to be reminded of the upcoming Google meeting. A new meeting event will be added to your Google Calendar and you’ll also be provided with a Google Meet link that you share with your students and colleagues through mail merge . const createGoogleMeeting = ( ) => { // The default calendar where this meeting should be created const calendarId = 'primary' ; // Schedule a meeting for May 30, 2022 at 1:45 PM // January = 0, February = 1, March = ...