-
Posts
10931 -
Joined
-
Last visited
-
Days Won
189
Content Type
Profiles
Forums
Store
Gallery
Events
module__cms_records1
Downloads
Everything posted by CodeCanyon
-
You can easily convert any Google Spreadsheet or Google Document in your Google Drive to other formats like PDF, XLS, etc with Google Apps Script and either email the converted file or save it back to Google Drive. You can get the Email Google Spreadsheet add-on if you prefer the easier route that doesn’t require you to write any Google Apps Script code. Save Google Document as HTML file // Credit Stéphane Giron function exportAsHTML(documentId) { var forDriveScope = DriveApp.getStorageUsed(); //needed to get Drive Scope requested var url = 'https://docs.google.com/feeds/download/documents/export/Export?id=' + documentId + '&exportFormat=html'; var param = { method: 'get', headers: { Authorization: 'Bearer ' + ScriptApp.getOAuthToken() }, muteHttpExceptions: true, }; var html = UrlFetchApp.fetch(url, param).getContentText(); var file = DriveApp.createFile(documentId + '.html', html); return file.getUrl(); } Export Google Spreadsheet as Microsoft Excel format // Credit: Eric Koleda function exportAsExcel(spreadsheetId) { var file = Drive.Files.get(spreadsheetId); var url = file.exportLinks['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']; var token = ScriptApp.getOAuthToken(); var response = UrlFetchApp.fetch(url, { headers: { Authorization: 'Bearer ' + token, }, }); return response.getBlob(); } View the full article
-
This tutorial explains how to make phone numbers clickable within Google Sheets, Slides and Google Docs. When someone clicks on the phone number link in your spreadsheet or this document, it will open the dialer on their mobile phone and initiate dialing of the specified phone number. How to Insert Clickable Phone Numbers in Web Pages Let’s start with the basics. If you click an email link on a webpage, it opens your default mail program. Similarly, you can make phone numbers on your website “callable” meaning when someone clicks on the phone number link, it will automatically launch the dialer on their mobile phone with the phone number filled in. You can use the tel protocol to convert a plain text phone number on a web page into a clickable telephone link. For instance, if you click this link on a mobile phone, it will open the phone dialer prefilled with the specified number. There’s no need to copy-paste numbers. How to Type Phone Numbers in Google Sheets It is a bit tricky to type phone numbers inside Google Spreadsheets. Here’s why: Phone numbers typically consist of digits preceded by the plus (+) symbol. However, a common issue is that when you include the plus sign in a cell, the spreadsheet assumes you are entering a math formula and attempts to calculate the value. If you encounter this problem, there are two easy ways to resolve it. Workaround A You can surround the phone number with double quotes (”) and precede it with an equal sign (=). Workaround B You can add a single quote (’) before the phone number. This tells Google Sheets to treat the cell’s contents as text, preserving the formatting of the phone number. How to Make Phone Numbers Clickable in Google Sheets Coming to the main problem, how do you make phone numbers inside a Google Sheet clickable? The obvious choice would be to use the HYPERLINK formula with the tel protocol but it is not supported inside Google Sheets. So a formula like =HYPERLINK("tel:12345", "Call Me") would not work but there’s a simple workaround to this issue. Append the phone number with the call.ctrlq.org domain name and it will automatically convert the phone number into a clickable link. For example, if you want to create a clickable phone link for the number +1 650-253-0000, you can use the following formula. You can create a regular hyperlink in the cell pointing to a website which in turn redirects to the actual telephone link. To see this in action, add https://call.ctrlq.org/ before any phone number in the Google Sheet and it will turn into a callable phone link. =HYPERLINK("https://call.ctrlq.org/+16502530000"; "Call Google Support") In the above example, the phone numbers are listed in column B while the names are in column A. You can add the following formula in column C to have clickable phone links. =HYPERLINK("https://call.ctrlq.org/"&B2; A2) You may open this Phone Number Google Sheet on your Android or iPhone and click on any of the phone links to see it in action. You can even publish the sheet as a web page and the numbers will be clickable on the web too. Clickable Phone Numbers in Google Docs and Slides You can also create clickable phone numbers in Google Docs and Google Slides. The process is similar to Google Sheets but we’ll use the Insert Link option instead of the HYPERLINK formula. Write the phone number inside the document and select it. Then click on the Insert menu and select Link from the dropdown. Or you can use the keyboard shortcut Ctrl+K to open the link dialog. Enter the phone number preceded by the call.ctrlq.org domain name and click on the OK button. The phone number will be converted into a clickable link. Also see: Add Images in Google Spreadsheets The Technical Details The call.ctrlq.org service is a simple Node.js app running on Google Cloud Run that merely redirects to the tel protocol. Here’s the entire app code should you want to run it on your own server. const express = require('express'); const app = express(); app.get('/:number', (req, res) => { const { number } = req.params; const phone = number.replace(/[^0-9]/g, ''); res.redirect(`tel:${phone}`); }); app.listen(process.env.PORT, () => { console.log(`App is running`); }); View the full article
-
Conditional content allows you to customize your Google Docs template and generate different versions of the same document based on the user’s answers. In this tutorial, I’ll show you how to use conditional content in Google Docs using Document Studio, a Google add-on that automates document creation. If you are new here, please follow this step-by-step guide on how to generate documents from data in Google Sheets and Google Forms responses. Conditionally Display Content Let’s say you are a recruiter who wants to use a Google Docs template to send out job offer letters to candidates. You want to include specific information in the offer letter based on the candidate’s job title and location. The conditional statements that we would like to include in the document template are: Your office is located in San Francisco. Your offer letter should include a paragraph offering relocation benefits only to candidates who are located outside SF. If the candidate is offered an Associate position, they are eligible for basic benefits. If the candidate is hired for a senior position, like Manager or Director, they are entitled to additional benefits like 401(k) retirement plan. Define the conditional sections Create a new Google Docs document and create a job offer letter template. Include sections for the candidate’s name, job title, location, salary, and benefits package. Use the <> and <> expressions to define the conditional sections in your template. For example, you might use the following expressions to show or hide the relocation package section based on the candidate’s location: <<If: ({{Location}} != 'San Francisco')>> We are pleased to offer you a relocation package to assist with your move from {{Location}} to our main office. <<EndIf>> Similarly, you can wrap the benefits paragraph with the <> and <> expressions to show or hide the benefits package section based on the candidate’s job title: <<If: OR (({{Job Title}} == 'Manager'), ({{Job Title}} == 'Director'))>> As {{Job Title}}, you will be eligible for our comprehensive benefits package, which includes health, dental, and vision insurance, a 401(k) retirement plan, and more. <<EndIf>> You may also use the ~ contains operator in place of == equals operator for partial matches. For instance, {{Job Title}} ~ 'Manager' will match Sales Manager, Senior Manager, Manager and so on. Here’s how the final job offer letter template looks like. Play ; In addition to document templates, you can also add conditional text in email templates with the help of scriptlets. Things to know: You may not nest IF statements inside each other. You can use the OR, AND or NOR operator to combine multiple conditions. If you have a table in your document that should be displayed conditionally, you should put the wrapping <> and <> tags outside the table. It is currently not possible to hide or show specific rows or columns of a table based on the user’s answers. View the full article
-
Whether you are looking to learn a programming language, enhance your Microsoft Excel skills, or acquire knowledge in Machine Learning, Udemy probably has a video course for you. Udemy courses are usually affordable, there are no subscription fee and you can learn at your own pace. Free Udemy Courses on Programming While most video tutorials on Udemy require payment, the website also offers some of their highly-rated courses for free. I’ve prepared a Google Sheet that lists all the free programming courses currently available on Udemy. The spreadsheet is updated automatically every few hours. You can also access the web version for easy browsing. ✨ You may use the search function of the browser (Ctrl + F) to find courses for a specific programming language or topic. The courses are sorted by popularity. There’s no secret sauce. Udemy has an developer API that provides access to all the course data available on the website, including user ratings, number of students who have taken the course, duration, preview video lectures, and more. Use the Udemy API with Google Sheets The Udemy API is free to use but requires authentication. You can generate the credentials for your Udemy account and then use the /courses endpoint to fetch the list of free courses. const parseCourseData_ = (courses) => courses .filter( ({ is_paid, primary_category }) => is_paid === false && ['Development', 'IT & Software'].includes(primary_category.title) // We are primarily interested in programming courses on Udemy ) .map((e) => [ `=IMAGE("${e.image_240x135}")`, `=HYPERLINK("https://www.udemy.com${e.url}";"${e.title}")`, e.visible_instructors.map(({ display_name }) => display_name).join(', '), e.num_subscribers, Math.round(e.avg_rating * 100) / 100, e.num_reviews, e.content_info_short, e.num_lectures, new Date(e.last_update_date) ]); const listUdemyCoursesGoneFree = () => { // Put your Udemy credentials here const CLIENT_ID = ''; const CLIENT_SECRET = ''; const params = { page: 1, page_size: 100, is_paid: false, 'fields[course]': '@all' }; const query = Object.entries(params) .map(([key, value]) => `${key}=${encodeURIComponent(value)}`) .join('&'); const apiUrl = `https://www.udemy.com/api-2.0/courses/?${query}`; const bearer = Utilities.base64Encode(`${CLIENT_ID}:${CLIENT_SECRET}`); const options = { muteHttpExceptions: true, headers: { Authorization: `Basic ${bearer}` } }; const courses = []; do { const response = UrlFetchApp.fetch(apiUrl, options); const { results = [], next } = JSON.parse(response); courses.push(...parseCourseData_(results)); url = next; } while (url && courses.length < 500); const ss = SpreadsheetApp.getActiveSpreadsheet(); const [sheet] = ss.getSheets(); sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn()).clearContent(); sheet.getRange(2, 1, courses.length, courses[0].length).setValues(courses); }; We use the UrlFetch service of Google Scripts to fetch the data from the Udemy API and the data is then parsed and inserted into the Google Sheet. The course thumbnail image is rendered using the IMAGE formula and the course title is linked to the Udemy website using the HYPERLINK formula. Related reading: The Best Websites to Learn to Coding Online The Best Online Teachers for Learning Web Development Read this before buying a Udemy Course View the full article
-
This Google Spreadsheet on Udemy courses has about 50 sheets, one for each programming language, and the sheets are sorted in random order so it is difficult to find a specific sheet. It will take a while to sort the worksheets manually but we can easily automate the process with Google Apps Script and easily navigate through large spreadsheets. Automate Sheet Sorting with Google Apps Script The following code snippet will automatically sort the worksheets in a Google Sheet alphanumerically. The script can arrange the sheets in either ascending or descending order based on the sheet names. To get started, go to Extensions > Apps Script to open the script editor. Then, copy and paste the following code: const sortGoogleSheets = (ascending = true) => { const options = { sensitivity: "base", ignorePunctuation: true, numeric: true, }; const compareFn = (sheet1, sheet2) => { return ascending ? sheet1.getName().localeCompare(sheet2.getName(), undefined, options) : sheet2.getName().localeCompare(sheet1.getName(), undefined, options); }; // Get the active spreadsheet. const ss = SpreadsheetApp.getActiveSpreadsheet(); ss.getSheets() .sort(compareFn) .reverse() .forEach(sheet => { ss.setActiveSheet(sheet); ss.moveActiveSheet(1); }); // Flush the changes to the spreadsheet. SpreadsheetApp.flush(); }; The compareFn function compares two sheets and returns a value that indicates whether the first sheet should come before or after the second sheet. The function returns the following values: -1 if the first sheet should come before the second sheet. 1 if the first sheet should come after the second sheet. Advanced Sort Options const options = { sensitivity: "base", ignorePunctuation: true, numeric: true, }; The options object specifies the options for the locale comparison. Here are some important things to know: The numeric property specifies whether numbers should be treated as numbers instead of strings. If this property is set to false, “Sheet1” and “Sheet10” will come before “Sheet2”. The ignorePunctuation property specifies whether spaces, brackets and other punctuation should be ignored during the comparison. If this property is set to false, “Sheet 1” and “Sheet1” will be treated as different sheets. The sensitivity property specifies if the comparison should be case-sensitive or case-insensitive. Set this property to “accent” to treat base letters and accented characters differently (Sheet a and Sheet à will be treated as different sheets). Sort Google Sheets by Date If your sheet names contain dates, like “March 2023” or “01/03/23”, you’ll need to convert the dates to numbers before comparing them. const compareFn = (sheet1, sheet2) => { return ascending ? new Date(sheet1.getName()).getTime() - new Date(sheet2.getName()).getTime() : new Date(sheet2.getName()).getTime() - new Date(sheet1.getName()).getTime(); }; References localeCompare() method Intl.Collator API View the full article
-
The Save Gmail to Google Drive add-on lets you automatically download email messages and file attachments from Gmail to your Google Drive. You can save the email messages as PDF while the attachments are saved in their original format. Transcribe Gmail Attachments The latest version of the Gmail add-on adds support for transcribing audio and video attachments in Gmail messages. The transcription is done with the help of OpenAI’s Whisper API and the transcript is saved as a new text file in your Google Drive. Here’s a step by step guide on how you can transcribe audio and video attachments in Gmail messages to text. Step 1. Install the Save Gmail to Google Drive add-on from the Google Workspace marketplace. Open sheets.new to create a new Google Sheet. Go to the Extension menu > Save Emails > Open App to launch the add-on. Step 2. Create a new workflow and specify the Gmail search criteria. The add-on will scan the matching email message for any audio and video files. OpenAI’s speech-to-text API supports a wide range of audio and video formats including MP3, WAV, MP4, MPEG, and WEBM. The maximum file size is 25 MB and you’ll always be in the limit since Gmail doesn’t allow you to send or receive files larger than 25 MB. Step 3. On the next screen, check the option that says Save Audio and Video Attachments as text and choose the file format, text or PDF, in which you would like to save the transcript. You can include markers in the file name. For instance, if you specify the file name as {{Subject}} {{Sender Email}}, the add-on will replace the markers with the actual sender’s email and the email subject. You would also need to specify the OpenAI API key that you can get from the OpenAI dashboard. OpenAI charges you $0.006 per minute of audio or video transcribed, rounded to the nearest second. Save the workflow and it will automatically run in the background, transcribing messages as they land in your inbox. You can check the status of the workflow in the Google Sheet itself. Also see: Speech to Text with Dictation.io Speech to Text with Google Apps Script Internally, the add-on uses the Google Apps Script to connect to the OpenAI API and transcribe the audio and video files. Here’s the source code of the Google Script that you can copy and use in your own projects. // Define the URL for the OpenAI audio transcription API const WHISPER_API_URL = 'https://api.openai.com/v1/audio/transcriptions'; // Define your OpenAI API key const OPENAI_API_KEY = 'sk-putyourownkeyhere'; // Define a function that takes an audio file ID and language as parameters const transcribeAudio = (fileId, language) => { // Get the audio file as a blob using the Google Drive API const audioBlob = DriveApp.getFileById(fileId).getBlob(); // Send a POST request to the OpenAI API with the audio file const response = UrlFetchApp.fetch(WHISPER_API_URL, { method: 'POST', headers: { Authorization: `Bearer ${OPENAI_API_KEY}` }, payload: { model: 'whisper-1', file: audioBlob, response_format: 'text', language: language } }); // Get the transcription from the API response and log it to the console const data = response.getContentText(); Logger.log(data.trim()); }; Please replace the OPENAI_API_KEY value with your own OpenAI API key. Also, make sure that the audio or video file you want to transcribe is stored in your Google Drive and that you have at least view (read) permissions on the file. Transcribe Large Audio and Video Files The Whisper API only accepts audio files that are less than 25 MB in size. If you have a larger file, you can use the Pydub Python package to split the audio file into smaller chunks and then send them to the API for transcription. If the video file is large in size, you may extract the audio track from the video file using FFmpeg and send that to the API for transcription. # Extract the audio from video ffmpeg -i video.mp4 -vn -ab 256 audio.mp3 ## Split the audio file into smaller chunks ffmpeg -i large_audio.mp3 -f segment -segment_time 60 -c copy output_%03d.mp3 FFmpeg will split the input audio file into multiple 60-second chunks, naming them as output_001.mp3, output_002.mp3, and so on, depending on the duration of the input file. View the full article
-
You can bring the power of Google Maps to your Google Sheets using simple formulas with no coding. You don’t need to sign-up for the Google Maps API and all results from Google Maps are cached in the sheet so you are unlikely to hit any quota limits. To give you a quick example, if you have the starting address in column A and the destination address in column B, a formula like =GOOGLEMAPS_DISTANCE(A1, B1, "driving") will quickly calculate the distance between the two points. Or modify the formula slightly =GOOGLEMAPS_TIME(A1, B1, "walking") to know how long it will take for a person to walk from one point to another. If you would like to try the Google Maps formulas without getting into the technical details, just make a copy of this Google Sheet and you are all set. Using Google Maps inside Google Sheets This tutorial explains how you can easily write custom Google Maps functions inside Google Sheets that will help you: Calculate distances between two cities or any addresses. Calculate the travel time (walking, driving or biking) between two points. Get the latitude and longitude co-ordinates of any address on Google Maps. Use reverse geocoding to find the postal address from GPS co-ordinates. Print driving directions between any points on earth. Get the address from the zip code itself. 1. Calculate Distances in Google Sheets Specify the origin, the destination, the travel mode (walking or driving) and the function will return the distance between the two points in miles. =GOOGLEMAPS_DISTANCE("NY 10005", "Hoboken NJ", "walking") /** * Calculate the distance between two * locations on Google Maps. * * =GOOGLEMAPS_DISTANCE("NY 10005", "Hoboken NJ", "walking") * * @param {String} origin The address of starting point * @param {String} destination The address of destination * @param {String} mode The mode of travel (driving, walking, bicycling or transit) * @return {String} The distance in miles * @customFunction */ const GOOGLEMAPS_DISTANCE = (origin, destination, mode) => { const { routes: [data] = [] } = Maps.newDirectionFinder() .setOrigin(origin) .setDestination(destination) .setMode(mode) .getDirections(); if (!data) { throw new Error('No route found!'); } const { legs: [{ distance: { text: distance } } = {}] = [] } = data; return distance; }; 2. Reverse Geocoding in Google Sheets Specify the latitude and longitude and get the full address of the point through reverse geocoding of coordinates. =GOOGLEMAPS_DISTANCE("NY 10005", "Hoboken NJ", "walking") /** * Use Reverse Geocoding to get the address of * a point location (latitude, longitude) on Google Maps. * * =GOOGLEMAPS_REVERSEGEOCODE(latitude, longitude) * * @param {String} latitude The latitude to lookup. * @param {String} longitude The longitude to lookup. * @return {String} The postal address of the point. * @customFunction */ const GOOGLEMAPS_REVERSEGEOCODE = (latitude, longitude) => { const { results: [data = {}] = [] } = Maps.newGeocoder().reverseGeocode(latitude, longitude); return data.formatted_address; }; 3. Get the GPS coordinates of an address Get the latitude and longitude of any address on Google Maps. =GOOGLEMAPS_LATLONG("10 Hanover Square, NY") /** * Get the latitude and longitude of any * address on Google Maps. * * =GOOGLEMAPS_LATLONG("10 Hanover Square, NY") * * @param {String} address The address to lookup. * @return {String} The latitude and longitude of the address. * @customFunction */ const GOOGLEMAPS_LATLONG = (address) => { const { results: [data = null] = [] } = Maps.newGeocoder().geocode(address); if (data === null) { throw new Error('Address not found!'); } const { geometry: { location: { lat, lng } } = {} } = data; return `${lat}, ${lng}`; }; 4. Print the driving directions between addresses Specify the origin address, the destination address, the travel mode and the function will use the Google Maps API to print step-by-step driving directions. =GOOGLEMAPS_DIRECTIONS("NY 10005", "Hoboken NJ", "walking") /** * Find the driving direction between two * locations on Google Maps. * * =GOOGLEMAPS_DIRECTIONS("NY 10005", "Hoboken NJ", "walking") * * @param {String} origin The address of starting point * @param {String} destination The address of destination * @param {String} mode The mode of travel (driving, walking, bicycling or transit) * @return {String} The driving direction * @customFunction */ const GOOGLEMAPS_DIRECTIONS = (origin, destination, mode = 'driving') => { const { routes = [] } = Maps.newDirectionFinder() .setOrigin(origin) .setDestination(destination) .setMode(mode) .getDirections(); if (!routes.length) { throw new Error('No route found!'); } return routes .map(({ legs }) => { return legs.map(({ steps }) => { return steps.map((step) => { return step.html_instructions.replace(/<[^>]+>/g, ''); }); }); }) .join(', '); }; 5. Measure the trip time with Google Maps Specify the origin address, the destination address, the travel mode and the function will measure your approximate trip time between the specified addresses, provided a route exists. =GOOGLEMAPS_DURATION("NY 10005", "Hoboken NJ", "walking") /** * Calculate the travel time between two locations * on Google Maps. * * =GOOGLEMAPS_DURATION("NY 10005", "Hoboken NJ", "walking") * * @param {String} origin The address of starting point * @param {String} destination The address of destination * @param {String} mode The mode of travel (driving, walking, bicycling or transit) * @return {String} The time in minutes * @customFunction */ const GOOGLEMAPS_DURATION = (origin, destination, mode = 'driving') => { const { routes: [data] = [] } = Maps.newDirectionFinder() .setOrigin(origin) .setDestination(destination) .setMode(mode) .getDirections(); if (!data) { throw new Error('No route found!'); } const { legs: [{ duration: { text: time } } = {}] = [] } = data; return time; }; Tip: Improve Formula Performance by Caching The Google Sheets functions internally use the Google Maps API to calculate routes, distances and travel time. Google offers a limited quota for Maps operations and if your sheet performs too many queries in a short duration, you are likely to see errors like ""Service invoked too many times for one day” or something similar. To get around the quota issue, it is recommended that you use Apps Script’s built-in cache to store results and, if the results of a function already exist in the case, you’ll make one less request to Google Maps. The Maps functions inside this Google Sheet also use caching and here’s how you can implement it. // The cache key for "New York" and "new york " should be same const md5 = (key = '') => { const code = key.toLowerCase().replace(/\s/g, ''); return Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, key) .map((char) => (char + 256).toString(16).slice(-2)) .join(''); }; const getCache = (key) => { return CacheService.getDocumentCache().get(md5(key)); }; // Store the results for 6 hours const setCache = (key, value) => { const expirationInSeconds = 6 * 60 * 60; CacheService.getDocumentCache().put(md5(key), value, expirationInSeconds); }; /** * Calculate the travel time between two locations * on Google Maps. * * =GOOGLEMAPS_DURATION("NY 10005", "Hoboken NJ", "walking") * * @param {String} origin The address of starting point * @param {String} destination The address of destination * @param {String} mode The mode of travel (driving, walking, bicycling or transit) * @return {String} The time in minutes * @customFunction */ const GOOGLEMAPS_DURATION = (origin, destination, mode = 'driving') => { const key = ['duration', origin, destination, mode].join(','); // Is result in the internal cache? const value = getCache(key); // If yes, serve the cached result if (value !== null) return value; const { routes: [data] = [] } = Maps.newDirectionFinder() .setOrigin(origin) .setDestination(destination) .setMode(mode) .getDirections(); if (!data) { throw new Error('No route found!'); } const { legs: [{ duration: { text: time } } = {}] = [] } = data; // Store the result in internal cache for future setCache(key, time); return time; }; Also see: Embed Google Maps in Emails and Documents View the full article
-
The Email Spreadsheets add-on for Google Sheets can save office workers a ton of time by automating the reporting of spreadsheet data and dashboards by email. With this add-on, you can schedule reports to be sent automatically on a recurring schedule, so you don’t have to manually email spreadsheets to colleagues anymore. Play ; With Email Spreadsheets, you can schedule reports and it will automatically send them by email on a recurring schedule. You can email entire workbooks, specific sheets inside a workbook or even range of cells. Watch the video to get started. And because the add-on runs on the Google Cloud, your spreadsheet reports will be delivered even while you are offline or on vacation. Email Google Sheets Automatically For this example, our Google Spreadsheet has two sheets - the first sheet contains a data table and the second sheet contains an image chart with a neatly formatted table. We’ll build a scheduled workflow that will email the sheets data, including charts, on the first Monday of every week. Step 1: Select Sheets to Export Install the Email Google Sheets addon from Google marketplace. Next, open any Google Spreadsheet in your Google Drive, go to the Extensions menu inside the sheet, choose Email Spreadsheets from the dropdown. Click Open to launch the app and click the Create Workflow button to create your first scheduled email report. You’ll be presented with a list of sheets available in the current workbook. Select one or more sheets that you would like to send with the scheduled email. You may export sheets in PDF, Excel, CSV or a PNG image. Each sheet is attached as a separate file in the email but you can choose the “Entire Workbook” option to create a single file from all sheets in the workbook. You may also use dynamic markers to customize the file name of the exported files. For instance, the marker {{Sheet Name}} {{Day}}-{{Month}} will append the current date and month to the exported sheet name. Tip: If your Google Sheet table is large, you can specify the cell range in A1 notation (like A1 ) and only the specified range would be exported. Step 2: Custom PDF Export Settings The Email Google Sheets addon lets you customize the PDF layout that is exported from Google Sheets. You can change the paper orientation (Portrait or Landscape), the paper size or alter the print margins to fit more content on a page. You can choose to show gridlines, notes, sheet names and page numbers in the exported file. Step 3: Write the Email Template Next, we create an email template that will be sent with your reports. You can specify one or email recipients in the TO, CC, or BCC fields. You can also specify dynamic email recipients based on cell values in the spreadsheet. For instance, if the email address of the recipient is specified in cell B2 of a sheet titled “Employee Shifts”, you can put {{Employee Shifts!B2}} in the To field, and the add-on will pull the dynamic value from the cell at the time of sending the email report. These dynamic cell values enclosed inside double curly braces can be used inside any of the email fields including subject, email body, and the sender’s name. The email body can include dynamic cell values as well as ranges that make it easy of you to send portions of the spreadsheet without sharing the full workbook. For instance, you can write {{Employee Wages!B2:F9}} to include only the specific range (B2 ) from the Wages sheet. Internally, the add-on converts the range to an HTML table, retaining all the display formatting with CSS, and embed it into the email. Charts and Timelines can be embedded into the email body using a special {{ Chart }} marker - you can find these markers inside the markers dropdown of the email editor. Business can also add their own logo and signature in the email body. Tip: Use the Test Email button to send an email with the exported files before setting up the schedule. Step 4: Setup the Email Schedule The Email Google Sheets add-on includes an email scheduler to help you set up recurring schedules visually. You can schedule and send emails hourly, daily, weekly, monthly or even on a yearly recurring basis. It is also possible to exclude dates and your spreadsheet won’t be emailed on the specified dates. That’s it. Save the workflow and it will be activated instantly. You can also schedule multiple emails from the same Google Spreadsheet by adding more workflows. The Email Spreadsheets add-on is a powerful tool that can help you automate the reporting of spreadsheet data and dashboards by email. To learn more about the Email Spreadsheets add-on and to download it, please visit the Google Workspace Marketplace. ️Download Email Sheets Email Google Sheets - How it works? The add-on is written in Google Apps Script. It uses the Google Sheets API to convert sheets to PDF files and uses the Gmail API for sending the converted files as attachments. View the full article
-
Bob Canning writes: I have a Google Spreadsheet with postal addresses in column A. Each week, a real estate agent copies a section of those addresses to a “upcoming tour” tab on our website. The tab is shared with other real estate agents so they can see the addresses in the order they will be viewed on the tour. I would like to make all of the addresses clickable so that people can easily navigate to the next location on the tour. Is this possible? Make Addresses Clickable in Google Sheets We can use custom functions in Google Sheets with the built-in HYPERLINK function to make any location clickable in the spreadsheet. And unlike other Google Maps functions, this approach doesn’t make any Maps API calls so there’s no restriction on the number of links that you can generate in a sheet. Assuming that your postal addresses are in column A from row 2 to row 11, go to column B and paste the custom function. The first parameter refers to the cell, or range of cells, that contain the location that needs to be hyperlinked. You can set the second ‘satellite’ parameter to TRUE if you would like to link the map to the aerial view instead of the regular map view of Google Maps. =GOOGLEMAPSLINK(A2:A11, FALSE) The Google Maps Link function is obviously not part of Google Sheets but we can easily integrate it with the help of Google Apps Script. Generate Maps URL with Apps Script Open your Google Sheets spreadsheet. Click on “Extensions” in the top menu, then select “Apps Script.” In the Apps Script editor that opens, replace any existing code with the following function: /** * Generate a Google Maps Link for any address * * @param {string} address - The postal address * @param {boolean} satellite - Show aerial view (TRUE or FALSE) * @returns {string} The Google Maps URL * @customFunction */ function GOOGLEMAPSLINK(address, satellite) { function createLink(query) { const baseUrl = 'https://maps.google.com/?q=' + encodeURIComponent(query); const mapsUrl = baseUrl + (satellite ? '&t=k' : ''); return mapsUrl; } return Array.isArray(address) ? address.map(createLink) : createLink(address); } The GOOGLEMAPSLINK function can generate map links for addresses in a single cell as well as a range of cells. We can also add another column to the sheet that will create a clickable link with the address text. Paste the following ArrayFormula function in cell C1. See demo sheet. =ArrayFormula(HYPERLINK(B2:B11,A2:A11)) The hyperlinked postal addresses can also be copied and pasted directly into Word, or any rich text editor, including HTML Mail for Gmail. View the full article
-
The availability of third-party add-ons for Google Docs, Sheets and Google Slides have certainly made the Google productivity suite more capable and useful. If you haven’t tried them yet, open any Google document or spreadsheet in your Google Drive and look for the extensions menu near Help. Google Workspace users may have to ask their admin to enable support for add-ons for the organization. For starters, Google add-ons are like extensions for Chrome. Extensions add new features to the Chrome browser and add-ons extend the functionality of Google Office applications. Anyone can write a Google add-on with some basic programming knowledge for writing HTML and CSS for styling the add-on. The server side code is written in Google Apps Script which is similar to JavaScript but runs on the Google Cloud. Google Apps Script vs Google Add-ons Google Add-ons are written in the Google Apps Script language but while regular Google Scripts can work on any document in your Google Drive, add-ons only work against the document or sheet that’s currently open in your browser. The other big difference is that you can view the source code of regular Google Scripts while in the case of add-ons, the code is hidden from the end user. This helps developers protect their code but a downside is that the user has no clue about what’s happening behind the scenes. We have seen issues with Chrome extensions and add-ons for Google Docs can be a target as well. For instance, an add-on can possibly email a copy of the current document or sheet to another email address? Or maybe it can share a folder in Google Drive with someone else. The good part is that add-ons listed in Google Workspace have been tested and reviewed by Google and, they go through a security review process if it requires access to sensitive scopes (like sending Gmail or accessing Google Drive). The Best Add-ons For Google Docs, Sheets and Google Slides The Google Workspace marketplace lists hundreds of Google add-ons and here are some of favorite ones that you should have in your Google Docs and Sheets. The are compatible with both GSuite and consumer Google accounts. Mail Merge for Gmail - Send personalized emails with emails to multiple email recipients with Mail Merge for Gmail and Google Workspace. Document Studio - Generate certificates, invoices, and other documents automatically from source data in Google Sheets or Google Form submissions. Download Gmail Emails - Download your Gmail messages and attachments in Google Drive for archiving. Email Scheduler for Gmail - Schedule emails inside Gmail for sending later at a specific date and time. Send repetitive emails that go on a recurring schedule. Google Drive Permissions Auditor - Know who has access to your files in Google Drive. Gmail Address Extractor - The add-on extracts the email addresses from the header and body of email messages for preparing a mailing list. Creator Studio for Google Slides - Convert Google Slides presentations to animated GIF and MP4 movies. Notifications for Google Forms - Get Google Forms responses in an email message when people submit your forms. Send customized email notifications to respondents. Email Google Spreadsheet as PDF - Convert and email Google Spreadsheets as PDF, Excel or CSV to multiple people. Email sheets manually or on a recurring schedule. Bulk Gmail Forward - Easily forward one or more email threads from Gmail to any other address. Related tutorial: How to Create a Google Docs Add-on View the full article
-
Do you have image files in your Google Drive with generic names like IMG_123456.jpg or Screenshot.png that offer no context about what the image is about? Wouldn’t it be nice if you had an assistant that could look at these images and automatically suggest descriptive filenames for the images? Rename Files in Google Drive with AI Well, you can use Google’s Gemini AI and Google Apps Script to automatically rename your files in Google Drive in bulk with a descriptive name based on the image content. The following example uses Google’s Gemini AI but the steps can be easily adapted to OpenAI’s GPT-4 Vision or other AI models. To get started, open script.new to create a new Google Script and copy-paste the following code snippets in the editor. You may also want to enable the Advanced Drive API from the Google Script editor under the Resources menu. 1. Get the list of files in a folder The first step is to get the list of files in a folder. We will use the Drive.Files.list method to get the list of files in a folder. The search query contains the mimeType parameter to filter the results and only return Drive files that are image formats supported by the Google Gemini AI. const getFilesInFolder = (folderId) => { const mimeTypes = ['image/png', 'image/jpeg', 'image/webp']; const { files = [] } = Drive.Files.list({ q: `'${folderId}' in parents and (${mimeTypes.map((type) => `mimeType='${type}'`).join(' or ')})`, fields: 'files(id,thumbnailLink,mimeType)', pageSize: 10 }); return files; }; 2. Get the file thumbnail as Base64 The files returned by the Drive.Files.list method contain the thumbnailLink property that points to the thumbnail image of the file. We will use the UrlFetchApp service to fetch the thumbnail image and convert it into a Base64 encoded string. const getFileAsBase64 = (thumbnailLink) => { const blob = UrlFetchApp.fetch(thumbnailLink).getBlob(); const base64 = Utilities.base64Encode(blob.getBytes()); return base64; }; 3. Get the suggested filename from Google Gemini AI We’ll use the Google Gemini API to analyze the visual content of an image and suggest a descriptive filename for the image. Our text prompt looks something like this: Analyze the image content and propose a concise, descriptive filename in 5-15 words without providing any explanation or additional text. Use spaces for file names instead of underscores. You’d need an API key that you can generate from Google AI Studio. const getSuggestedFilename = (base64, fileMimeType) => { try { const text = `Analyze the image content and propose a concise, descriptive filename in 5-15 words without providing any explanation or additional text. Use spaces instead of underscores.`; const apiUrl = `https://generativelanguage.googleapis.com/v1beta/models/gemini-pro-vision:generateContent?key=${GEMINI_API_KEY}`; const inlineData = { mimeType: fileMimeType, data: base64 }; // Make a POST request to the Google Gemini Pro Vision API const response = UrlFetchApp.fetch(apiUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, payload: JSON.stringify({ contents: [{ parts: [{ inlineData }, { text }] }] }) }); // Parse the response and extract the suggested filename const data = JSON.parse(response); return data.candidates[0].content.parts[0].text.trim(); } catch (f) { return null; } }; 4. Automatically rename files in Google Drive The final step is to put all the pieces together. We will get the list of files in a folder, fetch the thumbnail image of each file, analyze the image content with Google Gemini AI, and rename the file in Google Drive with the suggested filename. const renameFilesInGoogleDrive = () => { const folderId = 'Put your folder ID here'; const files = getFilesInFolder(folderId); files.forEach((file) => { const { id, thumbnailLink, mimeType } = file; const base64 = getFileAsBase64(thumbnailLink); const name = getSuggestedFilename(base64, mimeType); Drive.Files.update({ name }, id); }); }; Google Scripts have a 6-minute execution time limit but you can setup a time-drive trigger so that the script runs automatically at a specific time interval (say every 10 minutes). You may also extend the script to move the files to a different folder after renaming them so that they are not processed again. The full source code is available on GitHub View the full article
-
You are using Google Forms to collect registrations for an upcoming event and would like to send email reminders to all the registered attendees a few days before the event date to ensure maximum attendance. This tutorial explains how you can use Google Sheets and Document Studio for sending automatic reminders to all the registered attendees. We’ll primarily us Gmail to send the reminders via email but you can also use contact the event registrants via SMS or WhatsApp. The reminders can be scheduled for any future date and time, and the email body can be personalized for each recipient. Let’s get started. Prepare the Google Sheet Assuming that you have already set up a Google Form for event registration, the responses will be collected in a Google Sheet linked to the form. In the same sheet, add a new column labeled Event Date and this will contain the event date. You can either copy and paste the date manually for all the rows in the sheet or use a formula to copy down the date automatically. Create Email Reminder Workflow Install Document Studio and launch it inside the sheet associated with your Google Form. Inside the app, create a new workflow and provide a descriptive name for your workflow. Choose the specific worksheet in your Google Spreadsheet that contains the form responses. Click on Continue to move to the conditions page. In the Conditions section, you can define specific criteria and the workflow will only run for Google Sheet rows that meet these conditions. For instance, you may want to send a reminder email only to attendees who have paid the registration fee. By default, the reminder workflow will run for all rows in the Google Sheet. Configure the Email Task On the tasks screen, choose the Send Email task since we want to send email reminders to the registered attendees. The email task will use the data from the Google Sheet to personalize the email message for each recipient. Select Gmail as the email service provider though you can also use SendGrid, Amazon SES or any SMTP server for sending emails. In the Send Email to field of Recipients section, select the question in your Google Form that contains the email addresses of the attendees. Next, specify the email subject line and message body for your event reminders. You can create a personalized email template by using dynamic markers enclosed in double curly braces. These markers get replaced with actual cell values in the Google Sheet, ensuring each recipient gets a tailored message. Save the email message and proceed to the next step. Schedule Email Reminders On the Trigger screen, uncheck the Run on Form Submit option since we want to schedule the email reminders for a future date and not immediately after the form is submitted. Next, check the Add a time delay option and schedule the workflow accordingly. For this example, we have set the workflow to run 3 days before the event date. It is important that the event date column in your Google Sheets is formatted as a date else the configuration for comparing the event date to the current date may not work. Click the Save button to activate your workflow. The workflow is now running in the background and will automatically send emails near the scheduled date to all the registered attendees. Also see: Send email reminders with Mail Merge How to send appointment reminders via SMS How to send reminders for due invoices View the full article
-
A teacher would like to create separate Google Drive folders for each student in her class. Within each student’s folder, there will be additional subfolders for various subjects. This folder structure would make it easier for students to submit their assignments to the appropriate subject subfolders. We’ve prepared a Google Sheet with the names of students, and the subjects they are taking. For example, consider a student named Emily Johnson, who is taking Maths, Science, and English. In this case, you need to create four new folders in total, with one main folder named ‘Emily Johnson’ and three subfolders within it for each subject: Maths, Science, and English. Create Multiple Folders in Google Drive Install the Document Studio add-on for Google Sheets. Open the spreadsheet with the student data and click on Extensions > Document Studio > Open to launch the add-on. Create a new workflow inside Document studio, give it a descriptive name like Student Folders. Next, select the source worksheet that contains the student’s data and click on the Continue button to move to the next step. On the next screen, you can specify the conditions for creating the folders in Google Drive. For instance, you may only want to create folders for students who are taking a specific subject or are in a particular class. Press the Continue button to move to the next step. Choose the Google Drive task and then select Create Folder from the dropdown menu. Next, select the parent folder in Google Drive where the student folders should be created. You can choose to create folders inside your personal Google Drive or even Shared Drives. Naming Folders and SubfoldersStudent Folders Now that you have selected the parent folder, you need to define the name of the child folder along with its subfolder structure. For the Subfolder Name field, we’ll put {{ Full Name }} / {{ Subject 1 }} and this will do two things: Create a new folder for each student in the parent folder with the student’s name. The folder is only created if it doesn’t already exist. Inside the student folder, create a subfolder for Subject 1 that the student is taking. The value of Subject 1 is replaced with the actual subject name from the Google Sheet. You may also put the {{Email Address}} column in the Editors field to share the student folders with their email addresses automatically when the folder is created in Google Drive. Create Additional Subject Subfolders Now that you have defined the task to create subfolders for the first subject, you can add more tasks to create subfolders for other subjects as well. Instead of creating a new task, you can simply duplicate the existing task and change the Subfolder Name field to {{ Full Name }} / {{ Subject 2 }} to create subfolders for the remaining subjects. Now that workflow is ready, choose the Save and Run option to create the folders and subfolders in Google Drive. The folders would be created and a link to the folder would be placed in the spreadsheet itself. If a folder already exists, the link to the existing folder is placed in the spreadsheet. This is how the folder structure would look like in Google Drive: Also see: Create Folders for Google Form responses View the full article
-
The finance team has created a revenue dashboard inside Google Sheets to track the company’s sales performance over time. The dashboard has data tables and charts showing overall revenue and regional performance trends. Here’s a screenshot of the Google Sheets dashboard: The finance team wants to send a snapshot of this dashboard to the company’s management every Monday morning. They would like to automate this process so that the screenshot is captured automatically and sent via email without any manual intervention. Let’s see how we can easily set up this automation with the help of Email Google Spreadsheets add-on. You can define the area of the Google Sheets dashboard that you want to capture, using the A1 notation, and the add-on will automatically take a screenshot of that area and send it via email to the recipients. Open your Google Sheets dashboard, go to Extensions > Email Google Sheets > Open to launch the app. Click on the Create Workflow button and move to the Email step of the workflow. Automate Screenshots of Google Sheets Go to the Email step of the workflow and specify the email addresses of the recipients. The subject and body of the email can include markers that will be replaced with the actual values from the Google Sheets dashboard. For instance, if you wish to include the value of a cell in the email, you can use the marker {{SheetName!A1}} where SheetName is the name of the sheet and A1 is the cell address. How to Insert Screenshot Markers Expand the Markers section of the Email body and click on the Image marker for the sheet whose screenshot you want to include in the email. The marker will be added to the email body. The format of the screenshot marker follows this pattern: {{ Image:SheetName!SheetId,A1:B10 }} The SheetName is the name of the sheet, and A1:B10 is the range of cells that you want to capture in the screenshot. The SheetId is the unique id of the sheet that is used to identify the sheet in the Google Spreadsheet. The id will not change even if you rename the sheet. Once the message is ready, click the Preview button to send a test email to yourself. Here’s how the email will look like: If everything looks good, click the Continue button and set the schedule for the workflow. Install Email Google Spreadsheets Play ; View the full article
-
The Document Studio add-on helps you create personalized PDF documents from Google Sheets. You can generate invoices, certificates, agreements, offer letters, student ID cards and other documents in bulk and save them to Google Drive. Additionally, Document Studio now offers the option to protect the generated PDF documents with a password. This functionality is particularly valuable in scenarios where the generated documents contain sensitive information that require extra protection to stop unauthorized access. For instance, you may generate invoices, or financial reports and protect them with a password before sharing them with clients or employees. Add Passwords to PDF Documents Let’s walk through the steps of adding passwords to PDF documents generated from Google Sheets using Document Studio. Prepare Salary Data in Google Sheets We have a Google Sheet that contains the employee’s name, and the salary amount. We’ll use Document Studio to generate individual PDF salary slips for each employee and then add a password to each PDF document before saving them to Google Drive. Create Template in Google Docs We have created a salary slip template in Google Docs that contains placeholders for the employee’s name and the salary amount. The data from Google Sheet will be merged into this template to generate individual PDF documents for each employee. Password Protect PDF Documents Launch Document Studio in Google Sheets and create a new workflow. If you are new here, please refer to the step-by-step guide or watch this video tutorial to get started. Inside the workflow, choose the Google Sheet that contains the employee data and the Google Docs template that you have prepared for the salary slips. Next, select the folder in Google Drive where the generated PDF documents will be saved. Set the export format to PDF and enable the Password Protect PDF checkbox. Unique Password for Each PDF Document You can choose to use a common password for all the PDF documents or, for added security, set a unique password for each document. For this example, we’ll define a unique password for each PDF document using the employee ID and the first four letters of the employee’s name, all in uppercase. For instance, if the employee ID is E345 and the employee’s name is Angus, the password for the corresponding PDF document will be E345ANGU. We’ll make use of Scriptlets to derive a unique password for each PDF document dynamically. {{ Employee ID }}{? "{{ Employee Name }}" | slice: 0,4 | upcase ?} The scriptlet above concatenates the employee ID with the first four characters of the employee’s name, converted to uppercase. Generate PDF Documents Save the workflow and run it to generate the PDF salary slips for all employees. The generated PDF documents will be saved to the specified Google Drive folder and each document will be protected with a unique password. Also see: Remove PDF Password from Gmail Attachments View the full article
-
A fintech startup is preparing to host its first-ever networking event for professionals within the industry. Over the course of their journey, the company has engaged in email communication with industry experts, partners, and clients. Now, they aim to collate a directory of these email addresses to send personalized email invitations. Extract Email Addresses from Gmail The primary challenge is to extract all these email addresses from the company’s Gmail account and download them in a compatible format, like CSV, that can be easily imported into Google Contacts or a mailing list service like MailChimp. This is where Email Address Extractor can help. It is a Google add-on that sifts through all email messages in the company’s Gmail account, extracts the email addresses and saves them in a Google Spreadsheet. It works for both Gmail and Google Workspace accounts. The Gmail address extractor add-on can mine email addresses from specific Gmail folders (labels), emails that have been sent or received in the last n months, or for the entire mailbox. You can choose to extract email addresses of the sender and the recipient fields, including those in the CC field. Additionally, it can parse the email’s subject line and message body and capture email addresses from the text. This is useful for extracting addresses from, say PayPal invoices, where the buyer’s email addresses are often written in the message body. How to Extract Email Addresses in Gmail You may follow the step-by-step guide on how to extract email addresses from Gmail messages using the Email Address Extractor add-on. Install the Gmail Extractor add-on and grant the necessary permissions. The add-on needs access to Gmail and Google Sheets for saving the extracted email addresses. Launch the add-on inside your Google Spreadsheet and specify the search criteria. You may use Gmail search operators and any matching emails will be processed by the extractor. Next, select one or more message fields (to, from, cc, bcc) that should be parsed for extracting emails. The add-on can also pull names of the sender and recipients if they are available inside the email headers. Click on the Save and Run option to extract all the email addresses from the emails that match the specified criteria. The entire process may take some time depending up on the size of your Gmail mailbox. The extracted email addresses will be stored in the current spreadsheet. You will notice that two sheets have been added to your active Google Sheet. The first sheet contains the list of all the unique email addresses that have been extracted from the matching emails. The second sheet contains the complete details of the emails that have been processed. These include the message date, the sender’s detail, the subject line and a link to the original email message in Gmail. The Google sheet should remain open and the computer should be online during the extraction. If the connection is lost, or if the extraction process is interrupted for some reason, you can simply click the “Resume” button and the extractor will pick from where it left off previously, avoiding the need to start the entire process over again. The add-on applies a label, titled Extracted, to all the emails that have been processed and extracted. If you wish to re-extract the email addresses from the same set of emails, you can do so removing the label from the emails and running the extractor again. Internally, it is a Google Script that uses the magic of Regular Expressions to pull email addresses from Gmail. The extracted email addresses are saved in a Google spreadsheet that can later be exported to Google Contacts or Outlook. Play ; View the full article
-
The Mail merge add-on lets you send personalized emails to multiple recipients in one go. The emails are always sent via your Gmail account or your Google Workspace email address. Google also imposes a limit on the number of emails you can send per day. Mail Merge with SMTP Mail merge is convenient because you can put your contacts in a Google Sheet and the add-on will individually send the emails for you. However, if you aren’t using Gmail or have a large mailing list, an SMTP service like SendGrid or AWS may be more a suitable option for sending out personalized emails. Wouldn’t it be nice if you could enjoy the ease of the Mail Merge add-on while still utilizing an SMTP service to send personalized emails? That’s where the Document Studio add-on can help. Generate SMTP Credentials Google for SMTP settings for [your email provider] and you’ll find the SMTP server address, port number, and the authentication details like the username and password (or API key) for your email service. For instance, if you plan to use Zoho Mail for mail merge, the SMTP settings would be as follows: SMTP Server: smtp.zoho.com Port: 465 Username: Your Zoho account email address Password: Your zoho.com password Prepare Mail Merge Data Open the Google Sheet with your mail merge data and launch the Document Studio add-on. Create a new workflow and choose the Send Email task. From the list of Email Service providers, choose SMTP Server and enter the SMTP server address, port number, and the authentication details that you found in the previous step. Next, move to the Email Message section and configure your email template. You can use placeholders like {{First Name}} and {{Title}} in the message body and subject line to personalize the emails. If you would like to attach files to the email, you can do that as well. You may attach the same file to all emails or use placeholders to attach different files to each email. Click the Preview button and you should see a sample email sent to your own email address through the SMTP server. You can now click the Save and Run button to send personalized emails to all recipients in your Google Sheet. Play ; View the full article
-
If you are running an online store running on WordPress, chances are you are using WooCommerce to manage your customers and orders. The holiday season in near and you may want to send your existing customers a special discount code for their next purchase. Or you may want to analyze your store’s data to see how your business is performing in various regions. You can the built-in export feature of WooCommerce to export your customers data to a CSV file and then import the CSV file into Google Sheets. Go to your WooCommerce dashboard, navigate to the Customers section, and you’ll find an option to download the customers list as a CSV file. If you are however looking for a more efficient way to export your WooCommerce customers to Google Sheets, you can use Google Apps Script to create a custom script that will export the customers to a Google Sheet. Step 1: Create an API Key in WooCommerce To get started, you’ll create an API key in WooCommerce. Go to your WooCommerce dashboard, navigate to the Settings section, and then click on the “Advanced” tab. Go to the “Rest API” section and click on the “Create API Key” button. On the next screen, you’ll be asked to enter a name for the API key. You can use a name like “Import Customers to Google Sheets” or something similar. You can restrict the API key permissions to read only, which is all we need since we’re only going to be reading customer data and not modifying any data. WooCommerce will generate the consumer key and consumer secret for you. You’ll need to save the secret key somewhere, as you won’t be able to access it later from the WooCommerce dashboard. Step 2: Create a Google Sheet Now that you have your WooCommerce credentials, let’s create a Google Sheet to store the customer data. Type sheets.new in your browser’s address bar to create a new spreadsheet. Go to Extensions > Apps Script to open the Google Apps Script editor associated with your spreadsheet. Paste the following code into the Apps Script editor. Remember to replace the WooCommerce consumer key, consumer secret and WordPress domain with your own values. Do not add a slash at the end of the WordPress domain. const MAX_PER_PAGE = 100; const CONSUMER_KEY = '<>'; const CONSUMER_SECRET = '<>'; const WORDPRESS_DOMAIN = '<>'; const fetchWooCommerceCustomers = () => { const bearerToken = Utilities.base64Encode(`${CONSUMER_KEY}:${CONSUMER_SECRET}`); const getQueryString = (options) => { return Object.keys(options) .map((key) => `${key}=${options[key]}`) .join('&'); }; const getApiUrl = (pageNum) => { const options = { context: 'view', page: pageNum, per_page: MAX_PER_PAGE, order: 'desc', orderby: 'id', role: 'customer' }; return `${WORDPRESS_DOMAIN}/wp-json/wc/v3/customers?${getQueryString(options)}`; }; // Fetches a single page of customer data. const fetchPage = (pageNum) => { const url = getApiUrl(pageNum); const response = UrlFetchApp.fetch(url, { headers: { 'Content-Type': 'application/json', Authorization: `Basic ${bearerToken}` } }); return JSON.parse(response.getContentText()); }; let page = 1; let allCustomers = []; let hasMore = true; do { const customers = fetchPage(page); allCustomers = allCustomers.concat(customers); page += 1; hasMore = customers.length === MAX_PER_PAGE; } while (hasMore === true); return allCustomers; }; The above script will fetch all the customers from your WooCommerce store. Next, we’ll add a function to flatten the customer data and store it in a Google Sheet. Step 3: Flatten the Customer Data To flatten the customer data, we’ll add the following function to the script. const parseCustomer = (customer) => { const { id, first_name, last_name, email, billing = {} } = customer; return { customer_id: id, first_name, last_name, customer_email: email, billing_first_name: billing.first_name, billing_last_name: billing.last_name, billing_email: billing.email, billing_phone: billing.phone, billing_address_1: billing.address_1, billing_address_2: billing.address_2, billing_city: billing.city, billing_state: billing.state, billing_postcode: billing.postcode, billing_country: billing.country }; }; Step 4: Store the Customer Data To store the customer data in a Google Sheet, we’ll add the following function to the script. const exportCustomersToGoogleSheet = () => { const wooData = fetchWooCommerceCustomers(); const customers = wooData.map(parseCustomer); const headers = Object.keys(customers[0]); const rows = customers.map((c) => headers.map((header) => c[header] || '')); const data = [headers, ...rows]; const sheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet(); sheet.getRange(1, 1, data.length, data[0].length).setValues(data); const message = rows.length + ' customers exported to sheet ' + sheet.getName(); SpreadsheetApp.getUi().alert(message); }; Step 5: Run the Export Function Inside the Apps Script editor, click on the “exportCustomersToGoogleSheet” function and then click on the “Run” button. Authorize the script and watch as your customers data from WooCommerce magically appears in your Google Sheet. You can then use Gmail Mail Merge to send personalized emails to your customers right inside the Google Sheet. View the full article
-
When someone submits a new Google Form response, the form answers are automaticaly added as a new row in the Google Sheet that is linked to the form. 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 an example. Here’s a screenshot of 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. The formatting looks good but as soon as a new Google Form submissions is received, the new response row appended to the Google Sheet will lose all the formatting applied to the previous rows. As you can see in the screenshot below, the cell alignment is not preserved, the custom date formats are ignored and so is the default font size and font family. Auto Format New Rows in Google Sheets Since there’s no way for us to override this Google Forms behavior, we can take the help of Google Apps Script to automatically format new rows in Google Sheets that are added through Google Forms. To get started, open the Google Sheet and format the last row with the styles that you would like to apply to incoming form responses. Please ensure that there is at least one form response in the Google Sheet where you can apply the desired formatting that you want to be applied to new rows. Add Google Apps Script to Google Sheet Next, go to Extensions > Apps Script menu inside Google Sheets and copy-paste the Google Script below. /** * @OnlyCurrentDoc */ const formatRowOnFormSubmit = formEvent => { try { const { range } = formEvent || {}; if (!range) throw new Error("This function should only be triggered by form submissions"); const sheet = range.getSheet(); const currentRow = range.getRowIndex(); const endColumn = sheet.getLastColumn(); // Skip formatting if this is the first or second row if (currentRow <= 2) return; // Copy formatting from previous row to new row const sourceRange = sheet.getRange(currentRow - 1, 1, 1, endColumn); sourceRange.copyFormatToRange(sheet, 1, endColumn, currentRow, currentRow); } catch (error) { console.error(`Error formatting new response: ${error.message}`); } }; Save the script. Next, we’ll create an onFormSubmit trigger inside the Google Sheet that will execute the formatRowOnFormSubmit function whenever a new form is submitted. This trigger will take whatever formatting that has been applied to the previous row and apply that to the current row. To create the trigger, go to the Triggers section in the sidebar and click + Add Trigger. Under the Event type dropdown, select On form submit and save the trigger. That’s it! A previous version of the script used the copyTo method to copy formatting. While this approach works, the current copyFormatToRange method is more efficient as it’s specifically designed for copying only formatting between ranges. const targetRange = sheet.getRange(currentRow, 1, 1, endColumn); sourceRange.copyTo(targetRange, SpreadsheetApp.CopyPasteType.PASTE_FORMAT); Conditional Formatting in Google Sheets Learn more about conditional formatting in Google Sheets that allows you to apply automatic formatting to cells in spreadsheets that meet certain criteria. Also see: Automate Google Forms through Workflows View the full article
-
ChatGPT, OpenAI’s text-generating AI chatbot, has taken the world by storm since its launch in November 2022. What started as a tool to supercharge productivity through writing essays and code with short text prompts has evolved into a behemoth with 300 million weekly active users. 2024 was a big year for OpenAI, from its partnership with Apple for its generative AI offering, Apple Intelligence, the release of GPT-4o with voice capabilities, and the highly-anticipated launch of its text-to-video model Sora. OpenAI also faced its share of internal drama, including the notable exits of high-level execs like co-founder and longtime chief scientist Ilya Sutskever and CTO Mira Murati. OpenAI has also been hit with lawsuits from Alden Global Capital-owned newspapers alleging copyright infringement, as well as an injunction from Elon Musk to halt OpenAI’s transition to a for-profit. In 2025, OpenAI is battling the perception that it’s ceding ground in the AI race to Chinese rivals like DeepSeek. The company has been trying to shore up its relationship with Washington as it simultaneously pursues an ambitious data center project, and as it reportedly lays the groundwork for one of the largest funding rounds in history. Below, you’ll find a timeline of ChatGPT product updates and releases, starting with the latest, which we’ve been updating throughout the year. If you have any other questions, check out our ChatGPT FAQ here. To see a list of 2024 updates, go here. Timeline of the most recent ChatGPT updates April 2025 March 2025 February 2025 January 2025 ChatGPT FAQs Techcrunch event Exhibit at TechCrunch Sessions: AI Secure your spot at TC Sessions: AI and show 1,200+ decision-makers what you’ve built — without the big spend. Available through May 9 or while tables last. Exhibit at TechCrunch Sessions: AI Secure your spot at TC Sessions: AI and show 1,200+ decision-makers what you’ve built — without the big spend. Available through May 9 or while tables last. Berkeley, CA | June 5 BOOK NOW April 2025 OpenAI clarifies the reason ChatGPT became overly flattering and agreeable OpenAI has released a post on the recent sycophancy issues with the default AI model powering ChatGPT, GPT-4o, leading the company to revert an update to the model released last week. CEO Sam Altman acknowledged the issue on Sunday and confirmed two days later that the GPT-4o update was being rolled back. OpenAI is working on “additional fixes” to the model’s personality. Over the weekend, users on social media criticized the new model for making ChatGPT too validating and agreeable. It became a popular meme fast. OpenAI is working to fix a “bug” that let minors engage in inappropriate conversations An issue within OpenAI’s ChatGPT enabled the chatbot to create graphic erotic content for accounts registered by users under the age of 18, as demonstrated by TechCrunch’s testing, a fact later confirmed by OpenAI. “Protecting younger users is a top priority, and our Model Spec, which guides model behavior, clearly restricts sensitive content like erotica to narrow contexts such as scientific, historical, or news reporting,” a spokesperson told TechCrunch via email. “In this case, a bug allowed responses outside those guidelines, and we are actively deploying a fix to limit these generations.” ChatGPT helps users by giving recommendations, showing images, and reviewing products for online shopping OpenAI has added a few features to its ChatGPT search, its web search tool in ChatGPT, to give users an improved online shopping experience. The company says people can ask super-specific questions using natural language and receive customized results. The chatbot provides recommendations, images, and reviews of products in various categories such as fashion, beauty, home goods, and electronics. OpenAI wants its AI model to access cloud models for assistance OpenAI leaders have been talking about allowing the open model to link up with OpenAI’s cloud-hosted models to improve its ability to respond to intricate questions, two sources familiar with the situation told TechCrunch. OpenAI aims to make its new “open” AI model the best on the market OpenAI is preparing to launch an AI system that will be openly accessible, allowing users to download it for free without any API restrictions. Aidan Clark, OpenAI’s VP of research, is spearheading the development of the open model, which is in the very early stages, sources familiar with the situation told TechCrunch. OpenAI’s GPT-4.1 may be less aligned than earlier models OpenAI released a new AI model called GPT-4.1 in mid-April. However, multiple independent tests indicate that the model is less reliable than previous OpenAI releases. The company skipped that step — sending safety cards for GPT-4.1 — claiming in a statement to TechCrunch that “GPT-4.1 is not a frontier model, so there won’t be a separate system card released for it.” OpenAI’s o3 AI model scored lower than expected on a benchmark Questions have been raised regarding OpenAI’s transparency and procedures for testing models after a difference in benchmark outcomes was detected by first- and third-party benchmark results for the o3 AI model. OpenAI introduced o3 in December, stating that the model could solve approximately 25% of questions on FrontierMath, a difficult math problem set. Epoch AI, the research institute behind FrontierMath, discovered that o3 achieved a score of approximately 10%, which was significantly lower than OpenAI’s top-reported score. OpenAI unveils Flex processing for cheaper, slower AI tasks OpenAI has launched a new API feature called Flex processing that allows users to use AI models at a lower cost but with slower response times and occasional resource unavailability. Flex processing is available in beta on the o3 and o4-mini reasoning models for non-production tasks like model evaluations, data enrichment, and asynchronous workloads. OpenAI’s latest AI models now have a safeguard against biorisks OpenAI has rolled out a new system to monitor its AI reasoning models, o3 and o4 mini, for biological and chemical threats. The system is designed to prevent models from giving advice that could potentially lead to harmful attacks, as stated in OpenAI’s safety report. OpenAI launches its latest reasoning models, o3 and o4-mini OpenAI has released two new reasoning models, o3 and o4 mini, just two days after launching GPT-4.1. The company claims o3 is the most advanced reasoning model it has developed, while o4-mini is said to provide a balance of price, speed, and performance. The new models stand out from previous reasoning models because they can use ChatGPT features like web browsing, coding, and image processing and generation. But they hallucinate more than several of OpenAI’s previous models. OpenAI has added a new section to ChatGPT to offer easier access to AI-generated images for all user tiers Open AI introduced a new section called “library” to make it easier for users to create images on mobile and web platforms, per the company’s X post. All of your image creations, all in one place. Introducing the new library for your ChatGPT image creations—rolling out now to all Free, Plus, and Pro users on mobile and https://t.co/nYW5KO1aIg. pic.twitter.com/ADWuf5fPbj — OpenAI (@OpenAI) April 15, 2025 OpenAI could “adjust” its safeguards if rivals release “high-risk” AI OpenAI said on Tuesday that it might revise its safety standards if “another frontier AI developer releases a high-risk system without comparable safeguards.” The move shows how commercial AI developers face more pressure to rapidly implement models due to the increased competition. OpenAI is building its own social media network OpenAI is currently in the early stages of developing its own social media platform to compete with Elon Musk’s X and Mark Zuckerberg’s Instagram and Threads, according to The Verge. It is unclear whether OpenAI intends to launch the social network as a standalone application or incorporate it into ChatGPT. OpenAI will remove its largest AI model, GPT-4.5, from the API, in July OpenAI will discontinue its largest AI model, GPT-4.5, from its API even though it was just launched in late February. GPT-4.5 will be available in a research preview for paying customers. Developers can use GPT-4.5 through OpenAI’s API until July 14; then, they will need to switch to GPT-4.1, which was released on April 14. OpenAI unveils GPT-4.1 AI models that focus on coding capabilities OpenAI has launched three members of the GPT-4.1 model — GPT-4.1, GPT-4.1 mini, and GPT-4.1 nano — with a specific focus on coding capabilities. It’s accessible via the OpenAI API but not ChatGPT. In the competition to develop advanced programming models, GPT-4.1 will rival AI models such as Google’s Gemini 2.5 Pro, Anthropic’s Claude 3.7 Sonnet, and DeepSeek’s upgraded V3. OpenAI will discontinue ChatGPT’s GPT-4 at the end of April OpenAI plans to sunset GPT-4, an AI model introduced more than two years ago, and replace it with GPT-4o, the current default model, per changelog. It will take effect on April 30. GPT-4 will remain available via OpenAI’s API. OpenAI could release GPT-4.1 soon OpenAI may launch several new AI models, including GPT-4.1, soon, The Verge reported, citing anonymous sources. GPT-4.1 would be an update of OpenAI’s GPT-4o, which was released last year. On the list of upcoming models are GPT-4.1 and smaller versions like GPT-4.1 mini and nano, per the report. OpenAI has updated ChatGPT to use information from your previous conversations OpenAI started updating ChatGPT to enable the chatbot to remember previous conversations with a user and customize its responses based on that context. This feature is rolling out to ChatGPT Pro and Plus users first, excluding those in the U.K., EU, Iceland, Liechtenstein, Norway, and Switzerland. OpenAI is working on watermarks for images made with ChatGPT It looks like OpenAI is working on a watermarking feature for images generated using GPT-4o. AI researcher Tibor Blaho spotted a new “ImageGen” watermark feature in the new beta of ChatGPT’s Android app. Blaho also found mentions of other tools: “Structured Thoughts,” “Reasoning Recap,” “CoT Search Tool,” and “l1239dk1.” OpenAI offers ChatGPT Plus for free to U.S., Canadian college students OpenAI is offering its $20-per-month ChatGPT Plus subscription tier for free to all college students in the U.S. and Canada through the end of May. The offer will let millions of students use OpenAI’s premium service, which offers access to the company’s GPT-4o model, image generation, voice interaction, and research tools that are not available in the free version. ChatGPT users have generated over 700M images so far More than 130 million users have created over 700 million images since ChatGPT got the upgraded image generator on March 25, according to COO of OpenAI Brad Lightcap. The image generator was made available to all ChatGPT users on March 31, and went viral for being able to create Ghibli-style photos. OpenAI’s o3 model could cost more to run than initial estimate The Arc Prize Foundation, which develops the AI benchmark tool ARC-AGI, has updated the estimated computing costs for OpenAI’s o3 “reasoning” model managed by ARC-AGI. The organization originally estimated that the best-performing configuration of o3 it tested, o3 high, would cost approximately $3,000 to address a single problem. The Foundation now thinks the cost could be much higher, possibly around $30,000 per task. OpenAI CEO says capacity issues will cause product delays In a series of posts on X, OpenAI CEO Sam Altman said the company’s new image-generation tool’s popularity may cause product releases to be delayed. “We are getting things under control, but you should expect new releases from OpenAI to be delayed, stuff to break, and for service to sometimes be slow as we deal with capacity challenges,” he wrote. March 2025 OpenAI plans to release a new ‘open’ AI language model OpeanAI intends to release its “first” open language model since GPT-2 “in the coming months.” The company plans to host developer events to gather feedback and eventually showcase prototypes of the model. The first developer event is to be held in San Francisco, with sessions to follow in Europe and Asia. OpenAI removes ChatGPT’s restrictions on image generation OpenAI made a notable change to its content moderation policies after the success of its new image generator in ChatGPT, which went viral for being able to create Studio Ghibli-style images. The company has updated its policies to allow ChatGPT to generate images of public figures, hateful symbols, and racial features when requested. OpenAI had previously declined such prompts due to the potential controversy or harm they may cause. However, the company has now “evolved” its approach, as stated in a blog post published by Joanne Jang, the lead for OpenAI’s model behavior. OpenAI adopts Anthropic’s standard for linking AI models with data OpenAI wants to incorporate Anthropic’s Model Context Protocol (MCP) into all of its products, including the ChatGPT desktop app. MCP, an open-source standard, helps AI models generate more accurate and suitable responses to specific queries, and lets developers create bidirectional links between data sources and AI applications like chatbots. The protocol is currently available in the Agents SDK, and support for the ChatGPT desktop app and Responses API will be coming soon, OpenAI CEO Sam Altman said. OpenAI’s viral Studio Ghibli-style images could raise AI copyright concerns The latest update of the image generator on OpenAI’s ChatGPT has triggered a flood of AI-generated memes in the style of Studio Ghibli, the Japanese animation studio behind blockbuster films like “My Neighbor Totoro” and “Spirited Away.” The burgeoning mass of Ghibli-esque images have sparked concerns about whether OpenAI has violated copyright laws, especially since the company is already facing legal action for using source material without authorization. OpenAI expects revenue to triple to $12.7 billion this year OpenAI expects its revenue to triple to $12.7 billion in 2025, fueled by the performance of its paid AI software, Bloomberg reported, citing an anonymous source. While the startup doesn’t expect to reach positive cash flow until 2029, it expects revenue to increase significantly in 2026 to surpass $29.4 billion, the report said. ChatGPT has upgraded its image-generation feature OpenAI on Tuesday rolled out a major upgrade to ChatGPT’s image-generation capabilities: ChatGPT can now use the GPT-4o model to generate and edit images and photos directly. The feature went live earlier this week in ChatGPT and Sora, OpenAI’s AI video-generation tool, for subscribers of the company’s Pro plan, priced at $200 a month, and will be available soon to ChatGPT Plus subscribers and developers using the company’s API service. The company’s CEO Sam Altman said on Wednesday, however, that the release of the image generation feature to free users would be delayed due to higher demand than the company expected. OpenAI announces leadership updates Brad Lightcap, OpenAI’s chief operating officer, will lead the company’s global expansion and manage corporate partnerships as CEO Sam Altman shifts his focus to research and products, according to a blog post from OpenAI. Lightcap, who previously worked with Altman at Y Combinator, joined the Microsoft-backed startup in 2018. OpenAI also said Mark Chen would step into the expanded role of chief research officer, and Julia Villagra will take on the role of chief people officer. OpenAI’s AI voice assistant now has advanced feature OpenAI has updated its AI voice assistant with improved chatting capabilities, according to a video posted on Monday (March 24) to the company’s official media channels. The update enables real-time conversations, and the AI assistant is said to be more personable and interrupts users less often. Users on ChatGPT’s free tier can now access the new version of Advanced Voice Mode, while paying users will receive answers that are “more direct, engaging, concise, specific, and creative,” a spokesperson from OpenAI told TechCrunch. OpenAI, Meta in talks with Reliance in India OpenAI and Meta have separately engaged in discussions with Indian conglomerate Reliance Industries regarding potential collaborations to enhance their AI services in the country, per a report by The Information. One key topic being discussed is Reliance Jio distributing OpenAI’s ChatGPT. Reliance has proposed selling OpenAI’s models to businesses in India through an application programming interface (API) so they can incorporate AI into their operations. Meta also plans to bolster its presence in India by constructing a large 3GW data center in Jamnagar, Gujarat. OpenAI, Meta, and Reliance have not yet officially announced these plans. OpenAI faces privacy complaint in Europe for chatbot’s defamatory hallucinations Noyb, a privacy rights advocacy group, is supporting an individual in Norway who was shocked to discover that ChatGPT was providing false information about him, stating that he had been found guilty of killing two of his children and trying to harm the third. “The GDPR is clear. Personal data has to be accurate,” said Joakim Söderberg, data protection lawyer at Noyb, in a statement. “If it’s not, users have the right to have it changed to reflect the truth. Showing ChatGPT users a tiny disclaimer that the chatbot can make mistakes clearly isn’t enough. You can’t just spread false information and in the end add a small disclaimer saying that everything you said may just not be true.” OpenAI upgrades its transcription and voice-generating AI models OpenAI has added new transcription and voice-generating AI models to its APIs: a text-to-speech model, “gpt-4o-mini-tts,” that delivers more nuanced and realistic sounding speech, as well as two speech-to-text models called “gpt-4o-transcribe” and “gpt-4o-mini-transcribe”. The company claims they are improved versions of what was already there and that they hallucinate less. OpenAI has launched o1-pro, a more powerful version of its o1 OpenAI has introduced o1-pro in its developer API. OpenAI says its o1-pro uses more computing than its o1 “reasoning” AI model to deliver “consistently better responses.” It’s only accessible to select developers who have spent at least $5 on OpenAI API services. OpenAI charges $150 for every million tokens (about 750,000 words) input into the model and $600 for every million tokens the model produces. It costs twice as much as OpenAI’s GPT-4.5 for input and 10 times the price of regular o1. OpenAI research lead Noam Brown thinks AI “reasoning” models could’ve arrived decades ago Noam Brown, who heads AI reasoning research at OpenAI, thinks that certain types of AI models for “reasoning” could have been developed 20 years ago if researchers had understood the correct approach and algorithms. OpenAI says it has trained an AI that’s “really good” at creative writing OpenAI CEO Sam Altman said, in a post on X, that the company has trained a “new model” that’s “really good” at creative writing. He posted a lengthy sample from the model given the prompt “Please write a metafictional literary short story about AI and grief.” OpenAI has not extensively explored the use of AI for writing fiction. The company has mostly concentrated on challenges in rigid, predictable areas such as math and programming. And it turns out that it might not be that great at creative writing at all. we trained a new model that is good at creative writing (not sure yet how/when it will get released). this is the first time i have been really struck by something written by AI; it got the vibe of metafiction so right. PROMPT: Please write a metafictional literary short story… — Sam Altman (@sama) March 11, 2025 OpenAI launches new tools to help businesses build AI agents OpenAI rolled out new tools designed to help developers and businesses build AI agents — automated systems that can independently accomplish tasks — using the company’s own AI models and frameworks. The tools are part of OpenAI’s new Responses API, which enables enterprises to develop customized AI agents that can perform web searches, scan through company files, and navigate websites, similar to OpenAI’s Operator product. The Responses API effectively replaces OpenAI’s Assistants API, which the company plans to discontinue in the first half of 2026. OpenAI reportedly plans to charge up to $20,000 a month for specialized AI ‘agents’ OpenAI intends to release several “agent” products tailored for different applications, including sorting and ranking sales leads and software engineering, according to a report from The Information. One, a “high-income knowledge worker” agent, will reportedly be priced at $2,000 a month. Another, a software developer agent, is said to cost $10,000 a month. The most expensive rumored agents, which are said to be aimed at supporting “PhD-level research,” are expected to cost $20,000 per month. The jaw-dropping figure is indicative of how much cash OpenAI needs right now: The company lost roughly $5 billion last year after paying for costs related to running its services and other expenses. It’s unclear when these agentic tools might launch or which customers will be eligible to buy them. ChatGPT can directly edit your code The latest version of the macOS ChatGPT app allows users to edit code directly in supported developer tools, including Xcode, VS Code, and JetBrains. ChatGPT Plus, Pro, and Team subscribers can use the feature now, and the company plans to roll it out to more users like Enterprise, Edu, and free users. ChatGPT’s weekly active users doubled in less than 6 months, thanks to new releases According to a new report from VC firm Andreessen Horowitz (a16z), OpenAI’s AI chatbot, ChatGPT, experienced solid growth in the second half of 2024. It took ChatGPT nine months to increase its weekly active users from 100 million in November 2023 to 200 million in August 2024, but it only took less than six months to double that number once more, according to the report. ChatGPT’s weekly active users increased to 300 million by December 2024 and 400 million by February 2025. ChatGPT has experienced significant growth recently due to the launch of new models and features, such as GPT-4o, with multimodal capabilities. ChatGPT usage spiked from April to May 2024, shortly after that model’s launch. February 2025 OpenAI cancels its o3 AI model in favor of a ‘unified’ next-gen release OpenAI has effectively canceled the release of o3 in favor of what CEO Sam Altman is calling a “simplified” product offering. In a post on X, Altman said that, in the coming months, OpenAI will release a model called GPT-5 that “integrates a lot of [OpenAI’s] technology,” including o3, in ChatGPT and its API. As a result of that roadmap decision, OpenAI no longer plans to release o3 as a standalone model. ChatGPT may not be as power-hungry as once assumed A commonly cited stat is that ChatGPT requires around 3 watt-hours of power to answer a single question. Using OpenAI’s latest default model for ChatGPT, GPT-4o, as a reference, nonprofit AI research institute Epoch AI found the average ChatGPT query consumes around 0.3 watt-hours. However, the analysis doesn’t consider the additional energy costs incurred by ChatGPT with features like image generation or input processing. OpenAI now reveals more of its o3-mini model’s thought process In response to pressure from rivals like DeepSeek, OpenAI is changing the way its o3-mini model communicates its step-by-step “thought” process. ChatGPT users will see an updated “chain of thought” that shows more of the model’s “reasoning” steps and how it arrived at answers to questions. You can now use ChatGPT web search without logging in OpenAI is now allowing anyone to use ChatGPT web search without having to log in. While OpenAI had previously allowed users to ask ChatGPT questions without signing in, responses were restricted to the chatbot’s last training update. This only applies through ChatGPT.com, however. To use ChatGPT in any form through the native mobile app, you will still need to be logged in. OpenAI unveils a new ChatGPT agent for ‘deep research’ OpenAI announced a new AI “agent” called deep research that’s designed to help people conduct in-depth, complex research using ChatGPT. OpenAI says the “agent” is intended for instances where you don’t just want a quick answer or summary, but instead need to assiduously consider information from multiple websites and other sources. January 2025 OpenAI used a subreddit to test AI persuasion OpenAI used the subreddit r/ChangeMyView to measure the persuasive abilities of its AI reasoning models. OpenAI says it collects user posts from the subreddit and asks its AI models to write replies, in a closed environment, that would change the Reddit user’s mind on a subject. The company then shows the responses to testers, who assess how persuasive the argument is, and finally OpenAI compares the AI models’ responses to human replies for that same post. OpenAI launches o3-mini, its latest ‘reasoning’ model OpenAI launched a new AI “reasoning” model, o3-mini, the newest in the company’s o family of models. OpenAI first previewed the model in December alongside a more capable system called o3. OpenAI is pitching its new model as both “powerful” and “affordable.” ChatGPT’s mobile users are 85% male, report says A new report from app analytics firm Appfigures found that over half of ChatGPT’s mobile users are under age 25, with users between ages 50 and 64 making up the second largest age demographic. The gender gap among ChatGPT users is even more significant. Appfigures estimates that across age groups, men make up 84.5% of all users. OpenAI launches ChatGPT plan for US government agencies OpenAI launched ChatGPT Gov designed to provide U.S. government agencies an additional way to access the tech. ChatGPT Gov includes many of the capabilities found in OpenAI’s corporate-focused tier, ChatGPT Enterprise. OpenAI says that ChatGPT Gov enables agencies to more easily manage their own security, privacy, and compliance, and could expedite internal authorization of OpenAI’s tools for the handling of non-public sensitive data. More teens report using ChatGPT for schoolwork, despite the tech’s faults Younger Gen Zers are embracing ChatGPT, for schoolwork, according to a new survey by the Pew Research Center. In a follow-up to its 2023 poll on ChatGPT usage among young people, Pew asked ~1,400 U.S.-based teens ages 13 to 17 whether they’ve used ChatGPT for homework or other school-related assignments. Twenty-six percent said that they had, double the number two years ago. Just over half of teens responding to the poll said they think it’s acceptable to use ChatGPT for researching new subjects. But considering the ways ChatGPT can fall short, the results are possibly cause for alarm. OpenAI says it may store deleted Operator data for up to 90 days OpenAI says that it might store chats and associated screenshots from customers who use Operator, the company’s AI “agent” tool, for up to 90 days — even after a user manually deletes them. While OpenAI has a similar deleted data retention policy for ChatGPT, the retention period for ChatGPT is only 30 days, which is 60 days shorter than Operator’s. OpenAI launches Operator, an AI agent that performs tasks autonomously OpenAI is launching a research preview of Operator, a general-purpose AI agent that can take control of a web browser and independently perform certain actions. Operator promises to automate tasks such as booking travel accommodations, making restaurant reservations, and shopping online. OpenAI may preview its agent tool for users on the $200-per-month Pro plan Operator, OpenAI’s agent tool, could be released sooner rather than later. Changes to ChatGPT’s code base suggest that Operator will be available as an early research preview to users on the $200 Pro subscription plan. The changes aren’t yet publicly visible, but a user on X who goes by Choi spotted these updates in ChatGPT’s client-side code. TechCrunch separately identified the same references to Operator on OpenAI’s website. OpenAI tests phone number-only ChatGPT signups OpenAI has begun testing a feature that lets new ChatGPT users sign up with only a phone number — no email required. The feature is currently in beta in the U.S. and India. However, users who create an account using their number can’t upgrade to one of OpenAI’s paid plans without verifying their account via an email. Multi-factor authentication also isn’t supported without a valid email. ChatGPT now lets you schedule reminders and recurring tasks ChatGPT’s new beta feature, called tasks, allows users to set simple reminders. For example, you can ask ChatGPT to remind you when your passport expires in six months, and the AI assistant will follow up with a push notification on whatever platform you have tasks enabled. The feature will start rolling out to ChatGPT Plus, Team, and Pro users around the globe this week. New ChatGPT feature lets users assign it traits like ‘chatty’ and ‘Gen Z’ OpenAI is introducing a new way for users to customize their interactions with ChatGPT. Some users found they can specify a preferred name or nickname and “traits” they’d like the chatbot to have. OpenAI suggests traits like “Chatty,” “Encouraging,” and “Gen Z.” However, some users reported that the new options have disappeared, so it’s possible they went live prematurely. FAQs: What is ChatGPT? How does it work? ChatGPT is a general-purpose chatbot that uses artificial intelligence to generate text after a user enters a prompt, developed by tech startup OpenAI. The chatbot uses GPT-4, a large language model that uses deep learning to produce human-like text. When did ChatGPT get released? November 30, 2022 is when ChatGPT was released for public use. What is the latest version of ChatGPT? Both the free version of ChatGPT and the paid ChatGPT Plus are regularly updated with new GPT models. The most recent model is GPT-4o. Can I use ChatGPT for free? There is a free version of ChatGPT that only requires a sign-in in addition to the paid version, ChatGPT Plus. Who uses ChatGPT? Anyone can use ChatGPT! More and more tech companies and search engines are utilizing the chatbot to automate text or quickly answer user questions/concerns. What companies use ChatGPT? Multiple enterprises utilize ChatGPT, although others may limit the use of the AI-powered tool. Most recently, Microsoft announced at its 2023 Build conference that it is integrating its ChatGPT-based Bing experience into Windows 11. A Brooklyn-based 3D display startup Looking Glass utilizes ChatGPT to produce holograms you can communicate with by using ChatGPT. And nonprofit organization Solana officially integrated the chatbot into its network with a ChatGPT plug-in geared toward end users to help onboard into the web3 space. What does GPT mean in ChatGPT? GPT stands for Generative Pre-Trained Transformer. What is the difference between ChatGPT and a chatbot? A chatbot can be any software/system that holds dialogue with you/a person but doesn’t necessarily have to be AI-powered. For example, there are chatbots that are rules-based in the sense that they’ll give canned responses to questions. ChatGPT is AI-powered and utilizes LLM technology to generate text after a prompt. Can ChatGPT write essays? Yes. Can ChatGPT commit libel? Due to the nature of how these models work, they don’t know or care whether something is true, only that it looks true. That’s a problem when you’re using it to do your homework, sure, but when it accuses you of a crime you didn’t commit, that may well at this point be libel. We will see how handling troubling statements produced by ChatGPT will play out over the next few months as tech and legal experts attempt to tackle the fastest moving target in the industry. Does ChatGPT have an app? Yes, there is a free ChatGPT mobile app for iOS and Android users. What is the ChatGPT character limit? It’s not documented anywhere that ChatGPT has a character limit. However, users have noted that there are some character limitations after around 500 words. Does ChatGPT have an API? Yes, it was released March 1, 2023. What are some sample everyday uses for ChatGPT? Everyday examples include programming, scripts, email replies, listicles, blog ideas, summarization, etc. What are some advanced uses for ChatGPT? Advanced use examples include debugging code, programming languages, scientific concepts, complex problem solving, etc. How good is ChatGPT at writing code? It depends on the nature of the program. While ChatGPT can write workable Python code, it can’t necessarily program an entire app’s worth of code. That’s because ChatGPT lacks context awareness — in other words, the generated code isn’t always appropriate for the specific context in which it’s being used. Can you save a ChatGPT chat? Yes. OpenAI allows users to save chats in the ChatGPT interface, stored in the sidebar of the screen. There are no built-in sharing features yet. Are there alternatives to ChatGPT? Yes. There are multiple AI-powered chatbot competitors such as Together, Google’s Gemini and Anthropic’s Claude, and developers are creating open source alternatives. How does ChatGPT handle data privacy? OpenAI has said that individuals in “certain jurisdictions” (such as the EU) can object to the processing of their personal information by its AI models by filling out this form. This includes the ability to make requests for deletion of AI-generated references about you. Although OpenAI notes it may not grant every request since it must balance privacy requests against freedom of expression “in accordance with applicable laws”. The web form for making a deletion of data about you request is entitled “OpenAI Personal Data Removal Request”. In its privacy policy, the ChatGPT maker makes a passing acknowledgement of the objection requirements attached to relying on “legitimate interest” (LI), pointing users towards more information about requesting an opt out — when it writes: “See here for instructions on how you can opt out of our use of your information to train our models.” What controversies have surrounded ChatGPT? Recently, Discord announced that it had integrated OpenAI’s technology into its bot named Clyde where two users tricked Clyde into providing them with instructions for making the illegal drug methamphetamine (meth) and the incendiary mixture napalm. An Australian mayor has publicly announced he may sue OpenAI for defamation due to ChatGPT’s false claims that he had served time in prison for bribery. This would be the first defamation lawsuit against the text-generating service. CNET found itself in the midst of controversy after Futurism reported the publication was publishing articles under a mysterious byline completely generated by AI. The private equity company that owns CNET, Red Ventures, was accused of using ChatGPT for SEO farming, even if the information was incorrect. Several major school systems and colleges, including New York City Public Schools, have banned ChatGPT from their networks and devices. They claim that the AI impedes the learning process by promoting plagiarism and misinformation, a claim that not every educator agrees with. There have also been cases of ChatGPT accusing individuals of false crimes. Where can I find examples of ChatGPT prompts? Several marketplaces host and provide ChatGPT prompts, either for free or for a nominal fee. One is PromptBase. Another is ChatX. More launch every day. Can ChatGPT be detected? Poorly. Several tools claim to detect ChatGPT-generated text, but in our tests, they’re inconsistent at best. Are ChatGPT chats public? No. But OpenAI recently disclosed a bug, since fixed, that exposed the titles of some users’ conversations to other people on the service. What lawsuits are there surrounding ChatGPT? None specifically targeting ChatGPT. But OpenAI is involved in at least one lawsuit that has implications for AI systems trained on publicly available data, which would touch on ChatGPT. Are there issues regarding plagiarism with ChatGPT? Yes. Text-generating AI models like ChatGPT have a tendency to regurgitate content from their training data.
-
The tech layoff wave is still kicking in 2025. Last year saw more than 150,000 job cuts across 549 companies, according to independent layoffs tracker Layoffs.fyi. So far this year, more than 22,000 workers have been the victim of reductions across the tech industry, with a staggering 16,084 cuts taking place in February alone. We’re tracking layoffs in the tech industry in 2025 so you can see the trajectory of the cutbacks and understand the impact on innovation across all types of companies. As businesses continue to embrace AI and automation, this tracker serves as a reminder of the human impact of layoffs — and what could be at stake with increased innovation. Below you’ll find a comprehensive list of all the known tech layoffs that have occurred in 2025, which will be updated regularly. If you have a tip on a layoff, contact us here. If you prefer to remain anonymous, you can contact us here. April 2025: More than 23,400 employees laid off — see all April 2025 tech layoffs March 2025: 8,834 employees laid off — see all March 2025 tech layoffs February 2025: 16,234 employees laid off — see all February 2025 tech layoffs January 2025: 2,403 employees laid off — see all January 2025 tech layoffs April Expedia Is laying off around 3% of its employees as part of its restructuring. The job cuts will mainly affect midlevel positions in the product and technology teams. The latest round of layoffs comes after the company let go of hundreds of employees from its marketing team globally in early March. Cars24 Has reduced its workforce by about 200 employees in its product and technology divisions as part of a restructuring measure. The India-based e-commerce platform for pre-owned vehicles provides a range of services like buying and selling pre-owned cars, financing, insurance, driver-on-demand, and more. In 2023, the SoftBank-backed startup raised $450 million at a valuation of $3.3 billion. Meta Is letting go of over 100 employees in its Reality Labs division, which manages virtual reality and wearable technology, according to The Verge. The job cuts affect employees developing VR experiences for Meta’s Quest headsets and staff working on hardware operations to streamline similar work between the two teams. Techcrunch event Exhibit at TechCrunch Sessions: AI Secure your spot at TC Sessions: AI and show 1,200+ decision-makers what you’ve built — without the big spend. Available through May 9 or while tables last. Exhibit at TechCrunch Sessions: AI Secure your spot at TC Sessions: AI and show 1,200+ decision-makers what you’ve built — without the big spend. Available through May 9 or while tables last. Berkeley, CA | June 5 BOOK NOW Intel Announced its plan to lay off more than 21,000 employees, or roughly 20% of its workforce, in April. The move comes ahead of Intel’s Q1 earnings call helmed by recently appointed CEO Lip-Bu Tan, who took over from longtime chief Pat Gelsinger last year. GM Is laying off 200 people at its Factory Zero in Detroit and Hamtramck facility in Michigan, which produces GM’s electric vehicles. The cuts come amid the EV slowdown and is not caused by tariffs, according to a report. Zopper Has reportedly let go of around 100 employees since the start of 2025. Earlier this week, about 50 employees from the tech and product teams were let go in the latest round of job cuts. The India-based insurtech startup has raised a total of $125 million to date. Turo Will reduce its workforce by 150 positions following its decision not to proceed with its IPO, per Bloomberg. The San Francisco-based car rental startup, which had about 1,000 staff in 2024, said the layoffs will bolster its long-term growth plans during economic uncertainty. GupShup Laid off roughly 200 employees to improve efficiency and profitability. It’s the startup’s second round of layoffs in five months, following the job cuts of around 300 employees in December. The conversational AI company, backed by Tiger Global and Fidelity, was last valued at $1.4 billion in 2021. The startup is based in San Francisco and operates in India. Forto Has reportedly eliminated 200 jobs, affecting around one-third of its employees. The German logistics startup reduced a significant number of sales staff. Wicresoft Will stop its operations in China, affecting around 2,000 employees. The move came after Microsoft decided to end outsourcing after-sales support to Wicresoft amid increasing trade tensions. Wicresoft, Microsoft’s first joint venture in China, was founded in 2022 and operates in the U.S., Europe, and Japan. It has over 10,000 employees. Five9 Plans to cut 123 jobs, affecting about 4% of its workforce, according to a report by MarketWatch. The software company prioritizes key strategic areas like artificial intelligence for profitable growth. Google Has laid off hundreds of employees in its platforms and devices division, which covers Android, Pixel phones, the Chrome browser, and more, according to The Information. Microsoft Is contemplating additional layoffs that could happen by May, Business Insider reported, citing anonymous sources. The company is said to be discussing reducing the number of middle managers and non-coders in a bid to increase the ratio of programmers to product managers. Automattic The WordPress.com developer is laying off 16% of its workforce across departments. Before the layoffs, the company’s website showed it had 1,744 employees, so more than 270 staff may have been laid off. Canva Has let go of 10 to 12 technical writers approximately nine months after telling its employees to use generative AI tools wherever possible. The company, which had around 5,500 staff in 2024, was valued at $26 billion after a secondary stock sale in 2024. March Northvolt Has laid off 2,800 employees, affecting 62% of its total staff. The layoffs come weeks after the embattled Swedish battery maker filed for bankruptcy. Block Let go of 931 employees, around 8% of its workforce, as part of a reorganization, according to an internal email seen by TechCrunch. Jack Dorsey, the co-founder and CEO of the fintech company, wrote in the email that the layoffs were not for financial reasons or to replace workers with AI. Brightcove Has laid off 198 employees, who make up about two-thirds of its U.S. workforce, per a media report. The layoff comes a month after the company was acquired by Bending Spoons, an Italian app developer, for $233 million. Brightcove had 600 employees worldwide, with 300 in the U.S., as of December 2023. Acxiom Has reportedly laid off 130 employees, or 3.5% of its total workforce of 3,700 people. Acxiom is owned by IPG, and the news comes just a day after IPG and Omnicom Group shareholders approved the companies’ potential merger. Sequoia Capital Plans to close its office in Washington, D.C., and let go of its policy team there by the end of March, TechCrunch has confirmed. Sequoia opened its Washington office five years ago to deepen its relationship with policymakers. Three full-time employees are expected to be affected, per Forbes. Siemens Announced plans to let go of approximately 5,600 jobs globally in its automation and electric-vehicle charging businesses as part of efforts to improve competitiveness. HelloFresh Is reportedly laying off 273 employees, closing its distribution center in Grand Prairie, Texas, and consolidating to another site in Irving to manage the volume in the region. Otorio Has cut 45 employees, more than half of its workforce, after being acquired by cybersecurity company Armis for $120 million in March. ActiveFence Will reportedly reduce 22 employees, representing 7% of its workforce. Most of those affected are based in Israel as the company undergoes a streamlining process. The New York- and Tel Aviv-headquartered cybersecurity firm has raised $100 million at a valuation of about $500 million in 2021. D-ID Will cut 22 jobs, affecting nearly a quarter of its total workforce, following the announcement of the AI startup’s strategic partnership with Microsoft. NASA Announced it will be shutting down several of its offices in accordance with Elon Musk’s DOGE, including its Office of Technology, Policy, and Strategy and the DEI branch in the Office of Diversity and Equal Opportunity. Zonar Systems Has reportedly laid off some staff, according to LinkedIn posts from ex-employees. The company has not confirmed the layoffs, and it is currently unknown how many workers were affected. Wayfair Announced plans to let go of 340 employees in its technology division as part of a new restructuring effort. HPE Will cut 2,500 employees, or 5% of its total staff, in response to its shares sliding 19% in the first fiscal quarter. TikTok Will cut up to 300 workers in Dublin, accounting for roughly 10% of the company’s workforce in Ireland. LiveRamp Announced it will lay off 65 employees, affecting 5% of its total workforce. Ola Electric Is reportedly set to lay off over 1,000 employees and contractors in a cost-cutting effort. It’s the second round of cuts for the company in just five months. Rec Room Reduced its total headcount by 16% as the gaming startup shifts its focus to be “scrappier” and “more efficient.” ANS Commerce Was shut down just three years after it was acquired by Flipkart. It is currently unknown how many employees were affected. February HP Will cut up to 2,000 jobs as part of its “Future Now” restructuring plan that hopes to save the company $300 million before the end of its fiscal year. GrubHub Announced 500 job cuts after it was sold to Wonder Group for $650 million. The number of cuts affected more than 20% of its previous workforce. Autodesk Announced plans to lay off 1,350 employees, affecting 9% of its total workforce, in an attempt to reshape its GTM model. The company is also making reductions in its facilities, though it does not plan to close any offices. Google Is planning to cut employees in its People Operations and cloud organizations teams in a new reorganization effort. The company is offering a voluntary exit program to U.S.-based People Operations employees. Nautilus Reduced its headcount by 25 employees, accounting for 16% of its total workforce. The company is planning to release a commercial version of its proteome analysis platform in 2026. eBay Will reportedly cut a few dozen employees in Israel, potentially affecting 10% of its 250-person workforce in the country. Starbucks Cut 1,100 jobs in a reorganizing effort that affected its tech workers. The coffee chain will now outsource some tech work to third-party employees. Commercetools Laid off dozens of employees over the last few weeks, including around 10% of staff in one day, after failing to meet its sales growth targets. The “headless commerce” platform raised money at a $1.9 billion valuation just a few years ago. Dayforce Will cut roughly 5% of its current workforce in a new efficiency drive to increase profitability and growth. Expedia Laid off more employees in a new effort to cut costs, though the total number is unknown. Last year, the travel giant cut about 1,500 roles in its Product & Technology division. Skybox Security Has ceased operations and has laid off its employees after selling its business and technology to Israeli cybersecurity company Tufin. The cuts affect roughly 300 people. HerMD Is shutting down its operations amid “ongoing challenges in healthcare.” It’s unclear the number of employees affected. In 2023, the women’s healthcare startup raised $18 million to fund its expansion. Zendesk Cut 51 jobs in its San Francisco headquarters, according to state filings with the Employment Development Department. The SaaS startup previously reduced its headcount by 8% in 2023. Vendease Has cut 120 employees, affecting 44% of its total staff. It’s the Y Combinator-backed Nigerian startup’s second layoff round in just five months. Logically Reportedly laid off dozens of employees as part of a new cost-cutting effort that aims to ensure “long-term success” in the startup’s mission to curb misinformation online. Blue Origin Will lay off about 10% of its workforce, affecting more than 1,000 employees. According to an email to staff obtained by CNN, the cuts will largely have an impact on positions in engineering and program management. Redfin Announced in an SEC filing that it will cut around 450 positions between February and July 2025, with a complete restructuring set to be completed in the fall, following its new partnership with Zillow. Sophos Is laying off 6% of its total workforce, the cybersecurity firm confirmed to TechCrunch. The cuts come less than two weeks after Sophos acquired Secureworks for $859 million. Zepz Will cut nearly 200 employees as it introduces redundancy measures and closes down its operations in Poland and Kenya. Unity Reportedly conducted another round of layoffs. It’s unknown how many employees were affected. JustWorks Cut nearly 200 employees, CEO Mike Seckler announced in a note to employees, citing “potential adverse events” like a recession or rising interest rates. Bird Cut 120 jobs, affecting roughly one-third of its total workforce, TechCrunch exclusively learned. The move comes just a year after the Dutch startup cut 90 employees following its rebrand. Sprinklr Laid off about 500 employees, affecting 15% of its workforce, citing poor business performance. The new cuts follow two earlier layoff rounds for the company that affected roughly 200 employees. Sonos Reportedly let go of approximately 200 employees, according to The Verge. The company previously cut 100 employees as part of a layoff round in August 2024. Workday Laid off 1,750 employees, as originally reported by Bloomberg and confirmed independently by TechCrunch. The cuts affect roughly 8.5% of the enterprise HR platform’s total headcount. Okta Laid off 180 employees, the company confirmed to TechCrunch. The cuts come just over one year after the access and identity management giant let go of 400 workers. Cruise Is laying off 50% of its workforce, including CEO Marc Whitten and several other top executives, as it prepares to shut down operations. What remains of the autonomous vehicle company will move under General Motors. Salesforce Is reportedly eliminating more than 1,000 jobs. The cuts come as the giant is actively recruiting and hiring workers to sell new AI products. January Cushion Has shut down operations, CEO Paul Kesserwani announced on LinkedIn. The fintech startup’s post-money valuation in 2022 was $82.4 million, according to PitchBook. Placer.ai Laid off 150 employees based in the U.S., affecting roughly 18% of its total workforce, in an effort to reach profitability. Amazon Laid off dozens of workers in its communications department in order to help the company “move faster, increase ownership, strengthen our culture, and bring teams closer to customers.” Stripe Is laying off 300 people, according to a leaked memo reported by Business Insider. However, according to the memo, the fintech giant is planning to grow its total headcount by 17%. Textio Laid off 15 employees as the augmented writing startup undergoes a restructuring effort. Pocket FM Is cutting 75 employees in an effort to “ensure the long-term sustainability and success” of the company. The audio company last cut 200 writers in July 2024 months after partnering with ElevenLabs. Aurora Solar Is planning to cut 58 employees in response to an “ongoing macroeconomic challenges and continued uncertainty in the solar industry.” Meta Announced in an internal memo that it will cut 5% of its staff targeting “low performers” as the company prepares for “an intense year.” As of its latest quarterly report, Meta currently has more than 72,000 employees. Wayfair Will cut up to 730 jobs, affecting 3% of its total workforce, as it plans to exit operations in Germany and focus on physical retailers. Pandion Is shutting down its operations, affecting 63 employees. The delivery startup said employees will be paid through January 15 without severance. Icon Is laying off 114 employees as part of a team realignment, per a new WARN notice filing, focusing its efforts on a robotic printing system. Altruist Eliminated 37 jobs, affecting roughly 10% of its total workforce, even as the company pursues “aggressive” hiring. Aqua Security Is cutting dozens of employees across its global markets as part of a strategic reorganization to increase profitability. SolarEdge Technologies Plans to lay off 400 employees globally. It’s the company’s fourth layoff round since January 2024 as the solar industry as a whole faces a downturn. Level The fintech startup, founded in 2018, abruptly shut down earlier this year. Per an email from CEO Paul Aaron, the closure follows an unsuccessful attempt to find a buyer, though Employer.com has a new offer under consideration to acquire the company post-shutdown. This list updates regularly. On April 24, 2025, we corrected the number of layoffs that happened in March.
-
Wikipedia says it will use AI, but not to replace human volunteers
CodeCanyon posted a topic in News
The nonprofit behind Wikipedia on Wednesday revealed its new AI strategy for the next three years — and it’s not replacing the Wikipedia community of editors and volunteers with artificial intelligence, thankfully. Instead, the Wikimedia Foundation says it will use AI to build new features that “remove technical barriers,” allowing editors, moderators, and patrollers tools that allow them to accomplish what they need to do, without worrying about how to “technically achieve it.” Amid concerns that AI could eventually impact jobs held by people today, especially in terms of content creation, Wikipedia indicates that it intends to use AI as a tool that makes people’s jobs easier, not replace them. Instead, the organization says that it will utilize generative AI in specific areas where it tends to excel. This includes the creation of AI-assisted workflows that will automate tedious tasks. In addition, AI will be used to improve the discoverability of information on Wikipedia, giving editors more time for the human deliberation that’s required to build consensus over the creation, changes, and updates to Wikipedia entries. AI will also aid editors by automating translation and will assist in the onboarding process of new volunteers. “We believe that our future work with AI will be successful not only because of what we do, but how we do it,” writes Chris Albon, the director of machine learning at the Wikimedia Foundation, along with Leila Zia, Director and Head of Research at the Wikimedia Foundation, in a blog post announcing the news. Techcrunch event Exhibit at TechCrunch Sessions: AI Secure your spot at TC Sessions: AI and show 1,200+ decision-makers what you’ve built — without the big spend. Available through May 9 or while tables last. Exhibit at TechCrunch Sessions: AI Secure your spot at TC Sessions: AI and show 1,200+ decision-makers what you’ve built — without the big spend. Available through May 9 or while tables last. Berkeley, CA | June 5 BOOK NOW “Our efforts will use our long-held values, principles, and policies (like privacy and human rights) as a compass: we will take a human-centered approach and will prioritize human agency; we will prioritize using open-source or open-weight AI; we will prioritize transparency; and we will take a nuanced approach to multilinguality, a fundamental part of Wikipedia,” the post adds. The organization also noted that maintaining Wikipedia’s knowledge base is a mission that’s grown in importance since the rise of generative AI, which today is known to make mistakes and hallucinate answers at times. -
Anthropic agrees with the U.S. government that implementing robust export controls on domestically made AI chips will help the U.S. compete in the AI race against China. But the company is suggesting a few tweaks to the proposed restrictions. Anthropic released a blog post on Wednesday stating that the company “strongly supports” the U.S. Department of Commerce’s “Framework for Artificial Intelligence Diffusion” ahead of the interim rule’s implementation date on May 15. The framework was proposed by outgoing president Joe Biden in January and is meant to bolster AI chip export controls for the purposes of national security and to ensure the U.S.’ dominance in AI. It divided the world’s countries into three tiers, with each tier having its own guidelines and restrictions. Tier 3, the most restrictive tier, which includes countries that were already impacted by existing export controls, like Russia and China, would face additional restrictions. Tier 2 countries, like Mexico and Portugal, would come under export restrictions for the first time and would have a cap on how many chips they could buy. Tier 1 countries, like Japan and South Korea, would continue without export restrictions. When these restrictions were proposed in January, semiconductor giant Nvidia released a statement calling them “unprecedented and misguided,” and suggesting that they would “derail” innovation worldwide. Clearly, U.S.-based AI companies, like Anthropic, don’t agree. In its blog post, the lab expressed support in broad strokes for the restrictions. Anthropic did, however, propose lowering the number of chips Tier 2 countries can purchase without review and instead encouraging these countries to buy more chips through government-to-government agreements to avoid smuggling and increase U.S. control. Techcrunch event Exhibit at TechCrunch Sessions: AI Secure your spot at TC Sessions: AI and show 1,200+ decision-makers what you’ve built — without the big spend. Available through May 9 or while tables last. Exhibit at TechCrunch Sessions: AI Secure your spot at TC Sessions: AI and show 1,200+ decision-makers what you’ve built — without the big spend. Available through May 9 or while tables last. Berkeley, CA | June 5 BOOK NOW The company also thinks the U.S. government should increase funding to ensure these export controls are properly enforced. This statement by Anthropic is not particularly surprising. Anthropic’s CEO Dario Amodei has been one of the more vocal U.S. AI leaders in favor of export restrictions. Amodei wrote an op-ed in the Wall Street Journal in January about why the U.S. needs stronger chip export controls. TechCrunch has reached out to Anthropic for more information.
-
A new American electric vehicle startup called Slate Auto has made its debut, and it’s about as anti-Tesla as it gets. It’s affordable, deeply customizable, and very analog. It has manual windows and it doesn’t come with a main infotainment screen. Heck, it isn’t even painted. It can also transform from a two-seater pickup to a five-seater SUV. The three-year-old startup revealed its vehicle during an event Thursday night in Long Beach, California, and promised the first trucks would be available to customers for under $20,000 with the federal EV tax credit by the end of 2026. The event comes just a few weeks since TechCrunch revealed details of Slate Auto’s plans to enter the U.S. EV market, build its trucks in Indiana, and that the enterprise is financially backed by Amazon founder Jeff Bezos. The auto industry “has been so focused on autonomy and technology in the vehicle, it’s driven prices to a place that most Americans simply can’t afford,” chief commercial officer Jeremy Snyder said during the event, which Inside EVs livestreamed. “But we’re here to change that.” “We are building the affordable vehicle that has long been promised but never been delivered,” CEO Chris Barman added. Image Credits:Slate AutoThe Specs Slate isn’t saying exactly how much its truck will cost — multiple sources have told TechCrunch over the last few weeks the company has gone back and forth on the number. And so much can change between now and a late 2026 release date. Techcrunch event Exhibit at TechCrunch Sessions: AI Secure your spot at TC Sessions: AI and show 1,200+ decision-makers what you’ve built — without the big spend. Available through May 9 or while tables last. Exhibit at TechCrunch Sessions: AI Secure your spot at TC Sessions: AI and show 1,200+ decision-makers what you’ve built — without the big spend. Available through May 9 or while tables last. Berkeley, CA | June 5 BOOK NOW The company is saying it will start under $20,000 after the federal tax credit (providing that still exists next year). Interested buyers can place a $50 refundable reservation on the company’s website. The base version of Slate’s truck will squeeze 150 miles out of a 52.7kWh battery pack, which will power a single 150kW motor on the rear axle. For folks who get a little spooked at that number, Slate is offering a larger battery pack that it says will have about 240 miles of range. It will charge using a North American Charging Standard port, the standard Tesla established that almost all major automakers now use. The truck comes with 17-inch wheels and a five-foot bed, and has a projected 1,400-pound payload capacity with a 1,000-pound towing capacity. Since it’s an EV, there’s no engine up front. In its place there’s a front trunk (or frunk) with 7 cubic feet of storage space, which happens to have a drain in case the owner wants to fill it with ice for that tailgate party. That towing capacity is lower than a more capable Ford F-150, and is even less than the smaller Ford Maverick, which can tow around 1,500 pounds. Speaking of the Ford Maverick, Slate’s truck is smaller. The Slate EV has a wheelbase of 108.9 inches, and an overall length of 174.6 inches. The Maverick has a 121.1-inch wheelbase and overall length of 199.7 inches. Everything else about the base version of the truck is awfully spare — and that’s the point. Slate is really maximizing the idea of a base model, and setting customers up for paying to customize the EV to their liking. Custom… everything ScreenshotImage Credits:Slate AutoSlate is deeply committed to the idea of customization, which sets it apart from any other EV startup (or traditional automaker). The company said Thursday it will launch with more than 100 different accessories that buyers can use to personalize the truck to their liking. If that’s overwhelming, Slate has curated a number of different “starter packs” that interested buyers can choose from. The truck doesn’t even come painted. Slate is instead playing up the idea of wrapping its vehicles, something executives said they will sell in kits. Buyers can either have Slate do that work for them, or put the wraps on themselves. This not only adds to the idea of a buyer being able to personalize their vehicle, but it also cuts out a huge cost center for the company. It means Slate won’t need a paint shop at its factory, allowing it to spend less to get to market, while also avoiding one of the most heavily regulated parts of vehicle manufacturing. Slate is telling customers that they can name the car whatever they want, offering the ability to purchase an embossed wrap for the tailgate. Otherwise, the truck is just referred to as the “Blank Slate.” As TechCrunch previously reported, the customization piece is central to how the company hopes to make up margin on what is otherwise a relatively dirt-cheap vehicle. But it’s also part of the friendly pitch Slate is making to customers. Barman said Thursday that people can “make the Blank Slate yours at the time of purchase, or as your needs and finances change over time.” It’s billing the add-ons as “easy DIY” that “non-gearheads” can tackle, and says it will launch a suite of how-to resources under the billing of Slate University. “Buy your accessories, get them delivered fast, and install them yourself with the easy how-to videos in Slate U, our content hub,” the website reads. “Don’t want to go the DIY route? A Slate authorized partner can come and do it for you.” The early library of customizations on Slate’s website range from functional to cosmetic. Buyers can add infotainment screens, speakers, roof racks, light covers, and much more. The most significant are the options that let buyers “transform” the truck into roomier SUV form factors. But these aren’t permanent decisions. Slate says people will be able to change their vehicle into, and back from, an SUV if they like — “no mechanics certification required.” All that said, Slate’s truck comes standard with some federally mandated safety features such as automatic emergency braking, airbags, and a backup camera. Buckle up The road to making a successful American automotive startup is littered with failures. In the last few years, Canoo, Fisker, and Lordstown Motors have all filed for bankruptcy. And that’s just to name a few. Those companies that are still around, like Rivian and Lucid Motors, are hemorrhaging money in an attempt to get high-volume, more affordable models to market. Slate is a total inversion of that approach. It’s going after a low-cost EV first and foremost, and hopes to make that business viable by supplementing it with money from this deep customization play. But, much like Rivian and Lucid Motors, it also has deep-pocketed backers. It has raised more than $111 million so far (the exact figure is still not public). And, aside from Bezos, has taken money from Mark Walter, Guggenheim Partners CEO and controlling owner of the LA Dodgers, as TechCrunch reported this month. The company has hired nearly 400 employees in service of accomplishing all of its ambitious goals, and is currently trying to hire more. Slate arguably could not have picked a more volatile time to make its debut, but it’s also focused on domestic manufacturing, and may be insulated from some of the turmoil facing other startups and established automakers. “We believe vehicles should be affordable and desirable,” Barman said Thursday, adding that Slate’s truck “is a vehicle people are actually going to love and be proud to own.”
-
In Silicon Valley, where the same high-wattage names tend to dominate the headlines, Ali Partovi has long wielded outsized influence despite limited name recognition. The Iranian-born Harvard graduate built an impressive resume early on — joining the founding team of LinkExchange (acquired by Microsoft in 1998 for $265 million), co-founding iLike (sold to MySpace for a reported $20 million in 2009), and launching the educational nonprofit Code.org with his twin brother Hadi. Together, they also became early investors in tech giants like Facebook, Airbnb, and Dropbox. While industry insiders have long viewed the Partovi brothers’ involvement in a startup as a strong signal, Ali’s star is now rising more broadly beyond tech circles. This wider recognition stems from Neo, his eight-year-old venture firm that promised from the outset to revolutionize how exceptional talent is discovered — and is developing some fairly convincing proof points. Among its bets, Neo was the first institution outside of Twitter to invest in the decentralized social network Bluesky, which was reportedly valued at $700 million in a January funding round, and Kalshi, an online prediction market whose surge in popularity began during last fall’s U.S. presidential election. “This year, for the first time, I can conclusively say that we are discovering the future superstars before anyone else,” Partovi, known for being equal parts gracious and tenacious to the point of pushy, told this editor on Friday. Neo’s relationship with Michael Truell helps to tell the story. In 2019, Truell, then a freshman at MIT, was interning at Google when a fellow student suggested he meet with Partovi. During that hour-long sit-down, Partovi gave Truell a handwritten coding test that he completed in 15 minutes. The ask wasn’t unusual for Partovi. When investing with his brother, the two commonly ran teams through a tech interview as if they wanted to get a job at Google. But it exemplifies Partovi’s approach at Neo, where he uses technical evaluations not as rigid assessments but as foundations for deeper conversations. The moment was also the start of a relationship that could prove lucrative for both Partovi and Truell. Indeed, years later, backed first by Partovi, Truell co-founded Anysphere, maker of the popular AI-powered coding editor Cursor, which is now flirting with a $10 billion valuation and may become one of Neo’s most successful investments. Techcrunch event Exhibit at TechCrunch Sessions: AI Secure your spot at TC Sessions: AI and show 1,200+ decision-makers what you’ve built — without the big spend. Available through May 9 or while tables last. Exhibit at TechCrunch Sessions: AI Secure your spot at TC Sessions: AI and show 1,200+ decision-makers what you’ve built — without the big spend. Available through May 9 or while tables last. Berkeley, CA | June 5 BOOK NOW Like Y Combinator before it, Neo’s approach represents a fundamental rethinking of venture capital. Rather than betting on specific themes or teams, Partovi focuses on identifying exceptional individuals, often while they’re still in college, and nurturing their potential through mentorship before they’ve incorporated a company. For those college students, Partovi — with his partners at Neo, Suzanne Xie and Emily Cohen — run a “Neo Scholars” program that provides a $20,000 grant to take a gap semester, no equity required. (Thirty people are chosen yearly.) In 2022, for early-stage startups, Partovi additionally set up a more traditional accelerator program that offers funding and guidance to 20 companies each year. “I try to coax them towards taking a bit more risk, going outside their comfort zone, aiming higher than whatever they are aiming for right now,” Partovi explained. The strategy requires patience. Starting in Neo’s earliest days, Partovi personally traveled the country, interviewing students and administering coding tests to find “tomorrow’s changemakers,” in his words. Others clearly think he’s pretty good at it, and no wonder. In addition to Anysphere and Kalshi, Neo scholars have gone on to found the coding assistant company Cognition, which was recently valued at $4 billion; Pika Labs, which makes a text-to-video generative AI tool and is currently valued at $700 million; and Chai Discovery, which hasn’t shared its post-money valuation but that raised $30 million from OpenAI and Thrive Capital last fall to fuel its multi-modal foundation model for molecular structure prediction. “Last year, every one of OpenAI’s new grad hires was a Neo scholar,” Partovi proudly noted when we talked. When evaluating potential superstars, Partovi largely focuses on three key qualities: technical ability, entrepreneurial inclination, and willingness to challenge the status quo. Technical ability matters not because founders will code all day, but because “computer science really helps. It just helps you think,” Partovi explained, citing examples like Jeff Bezos, Reed Hastings, and Larry Ellison — all computer science students who became legendary business leaders. Past entrepreneurial experience signals risk-taking propensity and a hunger to build products people love. The third quality — challenging the status quo — speaks to founders’ willingness to question fundamental assumptions. Yet there’s a fourth quality Partovi considers perhaps most crucial: magnetism. Says Partovi: “I ask myself, if [this individual] started something, how likely would their smartest friends be to join them?” (This was particularly evident in Truell, whose “quiet confidence” convinced Partovi that “his smartest MIT friends would consider joining him.”) As Neo’s reputation has grown, so has competition to get in. Applications to both Neo programs have doubled annually, according to Partovi, who added that while many venture firms would expand to accommodate demand, Neo made a deliberate choice to maintain selectivity over scale. The philosophy extends to fund size. While VCs who can raise ever-larger funds typically do, Neo — which earlier this month closed on $320 million in fresh capital — only raised slightly more than the $235 million in capital commitments it collected in 2023. Meanwhile, Partovi’s personal stake in the newest fund increased significantly, with him putting more of his own money into this fund than all three previous Neo funds combined. (Others of Neo’s backers include Sheryl Sandberg, Bill Gates, and Reid Hoffman, who wrote one of the first checks to Neo back in 2017.) While Partovi is cautious about discussing unrealized returns when prodded, Neo’s early funds are performing exceedingly well. The first fund is already between three and four times its value, said Partovi, with “potential room for it to double or triple again.” He said the second fund has more than doubled from the Anysphere investment alone. As for a chilly exit market and how he advises founders to navigate it, Partovi said he instead encourages founders to build enduring value. “I [tell] people not to obsess about making money and obsess more about serving other humans,” he said. “Build a product that’s so wonderful that other people just love it. Money is the result, not the goal.” Pictured above, Partovi and his two partners at Neo, Suzanne Xie and Emily Cohen.