Back to Templates
This workflow automatically takes a long property URL from your Google Sheet, shortens it, generates a QR code, and then updates your sheet with the new links.
Follow these steps carefully to get your "Property Link Shortener & QR Code Generator" workflow up and running in n8n:
Import Workflow JSON:
Prepare your Google Sheet:
Property Link
), a column for the shortened URL (e.g., Short URL
), a column for the QR code image URL (e.g., QR Code URL
), and a unique identifier for each row (e.g., Property ID
).Configure 0. Google Sheets (New/Updated Row Trigger):
YOUR_SPREADSHEET_ID
with the ID of your Google Sheet. You can find this ID in the Google Sheet's URL.Listings
or Properties
).Updated Row
and select the column where your original long property link is located (e.g., Property Link
). This ensures the workflow runs when you add or update a property link.Configure 1. Shorten URL (HTTP Request - Bitly):
POST
.https://api-ssl.bitly.com/v4/shorten
Authorization
with value Bearer YOUR_BITLY_ACCESS_TOKEN
. (You'll need to generate a Generic Access Token from your Bitly account settings > Generic Access Token).Content-Type
with value application/json
.Raw
and JSON
.{"long_url": "{{ $json[\"Property Link\"] }}"}
. Ensure "Property Link"
exactly matches your Google Sheet column header for the original URL.JSON
.Configure 2. Generate QR Code (HTTP Request - QR Code API):
GET
.https://api.qrserver.com/v1/create-qr-code/?size=150x150&data={{ encodeURIComponent($('1. Shorten URL (HTTP Request - Bitly)').item.json.link) }}
{{ $('1. Shorten URL (HTTP Request - Bitly)').item.json.link }}
refers to the output of the previous Bitly node.size=150x150
as needed.encodeURIComponent
is important to handle special characters in the URL.Binary
. (This API directly returns the image, but we just need its URL which is in the url
property of the response).Configure 3. Update Google Sheet (Update Row):
YOUR_SPREADSHEET_ID
.YOUR_SHEET_NAME_E.G._Listings
.Property ID
(assuming you have one in your sheet).={{ $json["Property ID"] }}
. Make sure this matches your unique ID column from the Google Sheet.Short URL
(exact name of your short URL column in Google Sheet)={{ $('1. Shorten URL (HTTP Request - Bitly)').item.json.link }}
QR Code URL
(exact name of your QR Code URL column in Google Sheet)={{ $('2. Generate QR Code (HTTP Request - QR Code API)').item.url }}
(This will be the URL of the QR code image from the HTTP request response).Review and Activate:
YOUR_...
) are replaced with your actual information and settings are correct.