by Kev
Example generated with this workflow: Simply upload a image and a watermark file, and the workflow will automatically combine them into a professional watermarked image. Use cases include adding logos to content, branding product photos, or protecting images with copyright marks. Good to know Completely free solution with no ongoing costs or subscriptions Processing typically takes 5-15 seconds depending on image size The workflow uses a polling mechanism to check job completion every 3 seconds Supports standard image formats (PNG, JPG, etc.) No credit card required to get started How it works The Form Trigger creates a user-friendly upload interface for two files: main image and watermark Both images are uploaded simultaneously to the API's file storage via parallel HTTP requests The uploaded file URLs are aggregated and used to create an image composition job The workflow polls the API every 3 seconds to check job completion status Once completed, the final watermarked image is downloaded and returned as a file download The watermark is automatically positioned in the bottom-right corner with 50% opacity, but this can be easily customized. How to use The form trigger provides a clean interface, but you can replace this with other triggers like webhooks or manual triggers if needed. The workflow handles all file processing automatically and returns the result as a downloadable file. Requirements Free account at jsoncut.com API key with full access (generated at app.jsoncut.com) HTTP Header Auth credential configured in n8n with header name x-api-key Setup steps Sign up for a free account at jsoncut.com Navigate to your dashboard at app.jsoncut.com → API Keys and create a new key with full access In n8n, create an HTTP Header Auth credential named "JsonCut API Key" Set the header name to x-api-key and the value to your API key Apply this credential to all HTTP Request nodes in the workflow Customising this workflow The watermark positioning, size, and opacity can be easily adjusted by modifying the JSON body in the "Create Job" node. You can change: Position coordinates (x, y values from 0 to 1) Watermark dimensions (width, height in pixels) Transparency (opacity from 0.1 to 1.0) Output image dimensions Fit options (cover, contain, fill) For more advanced image generation examples and configuration options, check out the documentation and image generation examples. For bulk processing, you could extend this workflow to handle multiple images or integrate it with cloud storage/database services.
by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,
by PinBridge
This workflow lets you publish Pinterest Pins in bulk from a Google Sheet using PinBridge as the publishing layer. It is designed for builders who want a practical, repeatable workflow instead of manually creating Pins one by one. The flow reads rows from Google Sheets, skips rows that are already complete, validates the required fields, downloads each image, uploads that image through PinBridge, submits the Pinterest publish job, and writes the result back into the same sheet. The goal is not just to publish. The goal is to publish in a way that is operationally clean, easy to review, and safe to run repeatedly. What problem this workflow solves A lot of Pinterest automation starts simple and then becomes messy very quickly: content lives in a spreadsheet images live in public URLs someone has to manually copy title, description, destination URL, and image nobody knows which rows were already sent retries become dangerous because duplicate publishing becomes easy batch operations become hard to track This workflow solves that by turning Google Sheets into a lightweight publishing queue. You prepare rows in a sheet, run the workflow, and the workflow does the following: Reads rows from the Pins sheet Ignores rows that are already marked as published Verifies that the required values exist Downloads the image from the row Uploads the image to PinBridge Submits the Pin publish job through PinBridge Writes the result back to the sheet That gives you a simple but effective operational loop. Why PinBridge is used here This workflow is intentionally built around PinBridge rather than direct Pinterest API glue. PinBridge is the publishing layer in the middle. In this workflow, PinBridge is responsible for the Pinterest-facing publish operation while n8n remains the orchestration layer. That separation is useful because it keeps the workflow focused on: reading inputs validating data sending publish jobs tracking results instead of forcing the workflow to also become a Pinterest delivery engine. In other words: Google Sheets** is your input queue n8n** is your orchestration engine PinBridge** is your Pinterest publishing layer That is the architecture this template is meant to demonstrate. What you need before you begin You need four things before importing and running this workflow: An n8n instance A Google account with access to Google Sheets A PinBridge account A Pinterest account and board IDs already connected or available through your PinBridge setup You also need a Google Sheet that matches the expected format described below. Step 1: Create your PinBridge account Create your PinBridge account first. Head to pinbridge.io and click register at the top right corner. You can start with just a free account and upgrade later if you need more volume. You will need two things from PinBridge for this workflow: a PinBridge API key the connected Pinterest account you want to publish to. Head to App > Accounts > Connect > Give Access. Step 2: Create a PinBridge API key Inside PinBridge, create an API key that will be used by the n8n workflow. To create a new key, go to App > API Keys > Create. Make sure that you: give it a clear name such as n8n-bulk-publish store it somewhere secure do not hardcode it into random HTTP nodes use the PinBridge n8n credential field so it stays reusable and secure After the key is created, go into n8n and create the PinBridge credential used by the PinBridge nodes in this workflow. Step 2.5: Install the PinBridge n8n community node Before this workflow can run, your n8n instance must have the PinBridge community node installed. This workflow uses the following PinBridge nodes: Upload Image to PinBridge** Publish to Pinterest** If the PinBridge node is not installed, these nodes will either be missing or show as unknown after import. Install from the n8n UI If your n8n instance allows community nodes: Open Settings Go to Community Nodes Click Install Enter the PinBridge package name: n8n-nodes-pinbridge Confirm the installation Restart n8n if your environment requires it After installation, re-open the workflow and confirm that the PinBridge nodes load correctly. Important note Some hosted or restricted n8n environments do not allow custom community nodes. If that applies to your environment, you will need either: an n8n setup that supports community nodes or a self-hosted n8n instance where you can install n8n-nodes-pinbridge Step 3: Prepare your Google Sheet Create a Google Sheet with a tab named: Pins The workflow expects one row per Pin. Use this exact header structure: | row_id | title | description | link_url | image_url | board_id | alt_text | dominant_color | status | job_id | published_at | error_message | |---|---|---|---|---|---|---|---|---|---|---|---| Column meanings row_id A unique identifier for the row. Use something stable and simple, for example: pin-001 spring-cake-01 2026-03-15-001 This value is important because the workflow uses it to update the correct row later. title The Pinterest Pin title. description The Pinterest Pin description. link_url The destination URL users should visit when they click the Pin. This should be a full public URL such as: https://example.com/post-name image_url A public image URL that n8n can download. This must point directly to a reachable image file. If the image URL requires login, expires quickly, or redirects badly, the workflow may fail. board_id The Pinterest board ID to publish to. This must be the board ID expected by PinBridge, not just a board name. alt_text Optional, but recommended. This should describe the image in plain language for accessibility. dominant_color Optional. If empty, the workflow falls back to #ffffff. If you provide a value, use a hex color such as: #ffffff #f4d03f #d35400 status Used by the workflow to track state. Leave it empty before first run. The workflow writes values such as: submitted invalid You may later extend the system to include: published failed job_id Filled by the workflow after a successful PinBridge job submission. Leave it empty initially. published_at Filled by the workflow when the publish job is submitted. Leave it empty initially. error_message Filled by the workflow when validation fails or when you later add failure branches. Leave it empty initially. Example Google Sheet rows Here is a safe example layout: | row_id | title | description | link_url | image_url | board_id | alt_text | dominant_color | status | job_id | published_at | error_message | |---|---|---|---|---|---|---|---|---|---|---|---| | pin-001 | Easy Lemon Pasta Dinner | Bright lemon pasta with garlic and parmesan. Click through for the full recipe. | https://example.com/lemon-pasta | https://example.com/images/lemon-pasta.jpg | 1234567890 | Bowl of lemon pasta with parmesan and herbs | #f7dc6f | | | | | | pin-002 | Small Kitchen Pantry Shelves | Space-saving pantry shelf ideas for small kitchens. | https://example.com/pantry-shelves | https://example.com/images/pantry-shelves.jpg | 1234567890 | Organized pantry shelves in a small kitchen | #d5dbdb | | | | | Step 4: Import the workflow into n8n Import the workflow JSON into your n8n instance. After import, open the workflow and go through each credentialed node. You will need to connect: the Google Sheets credential the PinBridge credential Do not assume imported placeholder IDs will work. They will not. Step 5: Configure the Google Sheets node Open the Read Sheet Rows node and configure: the Google Sheets credential the target spreadsheet ID the sheet name: Pins Make sure the Google account connected to n8n has permission to read and update that sheet. Then open the two update nodes: Update Sheet Success** Update Sheet Invalid Row** Point them to the same spreadsheet and the same Pins tab. These update nodes are designed to write values back into the same row using row_id as the matching key. That means your row_id values must be unique. If you duplicate row_id values, updates become unreliable. Step 6: Configure the PinBridge nodes There are two PinBridge nodes in this workflow: Upload Image to PinBridge Publish to Pinterest Upload Image to PinBridge This node uploads the binary image that was downloaded from the image_url column. No extra row mapping is needed here beyond having a valid downloaded image. Publish to Pinterest This node submits the Pin publish job. You must configure: the PinBridge credential the correct accountId The following fields are taken from the sheet row: boardId title description linkUrl altText dominantColor Before running the workflow, replace the placeholder account ID with your real PinBridge Pinterest account ID. How to find the correct board ID The workflow expects a real board ID, not a board name. There are several ways to get it depending on how you operate PinBridge: from a PinBridge board listing flow from your app or dashboard if it exposes board IDs from a separate helper workflow that lists boards for your connected Pinterest account Do not type human board names into the board_id column unless your system explicitly uses board names as IDs, which is usually not the case. A wrong board ID will cause the publish step to fail. Workflow logic, node by node This section explains exactly why the workflow is built the way it is. 1. Manual Trigger This keeps the first version simple. You decide when to run the batch. That is useful during setup, testing, and controlled publishing. This can later be replaced with: schedule trigger webhook trigger form trigger But manual trigger is the right default for a community template. 2. Read Sheet Rows This reads all rows from the Pins tab. The sheet acts as the batch source. 3. Skip Published Rows This prevents rows already marked as published from being processed again. Even if your first version only writes submitted, this node is still useful because it gives you a clear place to define re-run behavior later. This is one of the most important operational protections in the workflow. 4. Validate Required Fields This checks that the row has the minimum required information before any external work is done. The required fields are: title description link_url image_url board_id This matters because you do not want to waste requests on rows that are obviously incomplete. 5. Download Image This downloads the image from image_url. The workflow assumes this URL is directly reachable from the n8n runtime. If the image cannot be fetched, the flow will stop at this step unless you add explicit failure handling. 6. Upload Image to PinBridge This sends the binary image into PinBridge. This step matters because the Pinterest publish job should reference a clean asset path handled by the PinBridge side of the system. 7. Publish to Pinterest This submits the publish job using PinBridge. At this point the workflow is not pretending the job is fully completed end-to-end on Pinterest. It is recording that the publish job was successfully submitted. That distinction matters. A clean job submission and a final publish confirmation are not the same thing. This template intentionally focuses on submission. 8. Build Success Result If the PinBridge publish request succeeds, the workflow creates a result object with: status = submitted job_id published_at error_message = '' This object is then written back to the sheet. 9. Update Sheet Success This writes the successful submission result back to the original row. That gives you traceability immediately. 10. Build Invalid Result If required fields are missing, this branch marks the row as invalid and explains why. That makes the sheet self-correcting: you can scan invalid rows and fix them directly. 11. Update Sheet Invalid Row This writes the invalid result back into the sheet. That closes the loop for bad inputs instead of silently dropping them. Why the workflow stops at job submission This is deliberate. A lot of people try to put the entire world into one n8n template: submit publish wait for final outcome verify callbacks alert on failures retry jobs write analytics update multiple systems That makes the template harder to understand and harder to run successfully the first time. This workflow is intentionally scoped to: read rows validate inputs submit PinBridge publish jobs record the submission result That makes it easier to import, understand, and run. A separate workflow should handle: webhook verification final delivery confirmation failure notifications retry strategy That separation is cleaner and easier to operate. Expected first-run behavior When you run the workflow for the first time: rows with missing required fields should be marked invalid valid rows should get: status = submitted a job_id a timestamp in published_at If a row was already manually marked published, it should be skipped. How to test safely Do not start with 100 rows. Start with 2 or 3 rows only: one valid row one invalid row one extra valid row if needed That lets you confirm all branches work as expected. A good first test looks like this: row 1: complete and valid row 2: missing board_id row 3: complete and valid Then run the workflow manually and inspect the sheet afterwards. You should see: row 2 marked invalid row 1 and row 3 marked submitted with job IDs Common setup mistakes The image URL is not public If the image requires cookies, auth, a signed session, or expired CDN tokens, the download node will fail. Use stable public URLs. The board ID is wrong A human-readable board name is not enough. Use the real board ID. The Google Sheet update cannot find the row This usually means: row_id is missing row_id is duplicated update node matching columns are not configured correctly The wrong PinBridge account ID is used If the account ID does not match the expected Pinterest account context, the publish node can fail even if everything else looks correct. The sheet name is not Pins If you rename the tab, update all Google Sheets nodes accordingly. Recommended operational rules To keep this workflow reliable, follow these rules: Use one unique row_id per row Never reuse IDs. Keep status workflow-owned Let the workflow write status values. Do not overload the field with random notes. Keep rows immutable after submission Once a row is submitted, do not casually change title, description, or image in place. Create a new row if the Pin is materially different. Validate image URLs before batch runs Especially if your image links come from a CMS or CDN. Run small batches first Do not treat the first live run like a stress test. Suggested extensions after initial success Once this base workflow is working, the best next extensions are: Add a webhook completion workflow Use a separate workflow to: receive PinBridge webhook callbacks verify signatures update status from submitted to published or failed write final Pinterest IDs send Slack or Telegram alerts if needed Add failure handling Wrap the download, upload, and publish nodes with explicit failure branches so bad rows are marked failed instead of stopping the run. Add board lookup helper flow Create a small helper workflow that lists available boards and writes them to a reference sheet. Add scheduling Replace manual trigger with a cron or scheduled trigger once the flow is stable. Add pre-validation for URL format You can validate that: link_url starts with http image_url starts with http dominant_color looks like a hex code Minimum data contract for successful runs A row is publishable only if all of the following are true: row_id exists title exists description exists link_url exists image_url exists board_id exists the image URL can be downloaded the PinBridge credential is valid the PinBridge account ID is correct If any of those are false, the row should not be considered publish-ready. Summary This workflow is a practical bulk-publishing starter template. It uses: Google Sheets** as the publish queue n8n** as the orchestration layer PinBridge** as the Pinterest publishing layer That makes it useful as both a real operational workflow and a clear demonstration of where PinBridge fits inside an automation stack. If you configure the Google Sheet correctly, connect your Google Sheets and PinBridge credentials, set the right Pinterest account ID, and provide valid public image URLs and board IDs, you should be able to run this workflow from start to finish successfully with no additional context. Quick setup checklist Before running the workflow, confirm all of the following: PinBridge account created PinBridge API key created PinBridge credential added in n8n correct Pinterest account ID entered in the publish node Google Sheets credential added in n8n Google Sheet exists tab name is Pins required columns are present every row has a unique row_id valid rows contain: title description link_url image_url board_id image URLs are publicly accessible If all of that is true, the workflow is ready to run.
by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,
by Yaron Been
This workflow provides automated access to the Black Forest Labs Flux Kontext Pro AI model through the Replicate API. It saves you time by eliminating the need to manually interact with AI models and provides a seamless integration for image generation tasks within your n8n automation workflows. Overview This workflow automatically handles the complete image generation process using the Black Forest Labs Flux Kontext Pro model. It manages API authentication, parameter configuration, request processing, and result retrieval with built-in error handling and retry logic for reliable automation. Model Description: A state-of-the-art text-based image editing model that delivers high-quality outputs with excellent prompt following and consistent results for transforming images through natural language Key Capabilities High-quality image generation from text prompts** Advanced AI-powered visual content creation** Customizable image parameters and styles** Tools Used n8n**: The automation platform that orchestrates the workflow Replicate API**: Access to the Black Forest Labs/flux-kontext-pro AI model Black Forest Labs Flux Kontext Pro**: The core AI model for image generation Built-in Error Handling**: Automatic retry logic and comprehensive error management How to Install Import the Workflow: Download the .json file and import it into your n8n instance Configure Replicate API: Add your Replicate API token to the 'Set API Token' node Customize Parameters: Adjust the model parameters in the 'Set Image Parameters' node Test the Workflow: Run the workflow with your desired inputs Integrate: Connect this workflow to your existing automation pipelines Use Cases Content Creation**: Generate unique images for blogs, social media, and marketing materials Design Prototyping**: Create visual concepts and mockups for design projects Art & Creativity**: Produce artistic images for personal or commercial use Marketing Materials**: Generate eye-catching visuals for campaigns and advertisements Connect with Me Website**: https://www.nofluff.online YouTube**: https://www.youtube.com/@YaronBeen/videos LinkedIn**: https://www.linkedin.com/in/yaronbeen/ Get Replicate API**: https://replicate.com (Sign up to access powerful AI models) #n8n #automation #ai #replicate #aiautomation #workflow #nocode #imagegeneration #aiart #texttoimage #visualcontent #aiimages #generativeart #flux #machinelearning #artificialintelligence #aitools #automation #digitalart #contentcreation #productivity #innovation
by Davide
This workflow creates a user-friendly web form to upload a file, which allows users to upload a single large file (up to 5Gb) through a custom web form and automatically send it via TransferNow, handling the complex multi-part upload process required for large files. Advantages ✅ No manual steps: The entire process from file upload to email delivery is fully automated. ✅User-friendly: Anyone can upload files via a simple web form, without needing to access TransferNow directly. ✅Supports large files: TransferNow’s API handles large files that are not suitable for email attachments. ✅ Secure file delivery: The workflow uses TransferNow’s secure, expiring download links. ✅Customizable: You can easily adjust the workflow to support multiple file types, multiple recipients, or different validity rules. ✅Scalable: Works for individuals, teams, or businesses that frequently need to share large documents. How It Works The workflow is triggered when a user submits the embedded web form. Here is the process: Form Trigger: A user accesses the form, fills in the required details (Title, Message, Recipient Email), and uploads a single PDF file. Submitting the form starts the workflow. File Processing: The workflow calculates the size of the uploaded file, which is a necessary parameter for the TransferNow API. Transfer Creation: It sends a request to the TransferNow API to create a new file transfer. The API responds with details needed for the upload, including a unique transferId and uploadId. Upload URL Retrieval: The workflow requests a pre-signed upload URL from TransferNow for the specific part of the file. File Upload: The binary file data from the form and the upload URL from the previous step are merged. The workflow then performs a direct PUT request to the secured TransferNow URL to upload the file's binary content. Upload Confirmation: After the upload, the workflow informs the TransferNow API that the file part upload is complete. Finalization: Once the entire upload is confirmed, the workflow finalizes the transfer on TransferNow's side. Data Retrieval & Response: The workflow fetches the final transfer data, constructs a public download URL, and sends a success message back to the user's browser, displaying the recipient's email and the download link. Set Up Steps To use this workflow, you need to configure the connection to the TransferNow API. Get TransferNow API Credentials: Create a free account on TransferNow developer portal to get your API key (a 14-day free trial is available). Configure Credentials in n8n: In the n8n editor, locate the HTTP Request nodes named "Set Transfer", "Get Upload Url", etc. These nodes use a credential called "Header Auth TransferNow". You need to create this credential. Go to Credentials > Add Credential and select "HTTP Header Auth". Give it a name (e.g., "TransferNow API Key"). In the Name field, enter x-api-key. In the Value field, paste your personal TransferNow API key. Save the credential. The existing nodes will automatically use it, or you can select it from the dropdown in each node's credentials section. Activate the Workflow: Save the workflow and click the Activate toggle to make it live. Once activated, the On form submission node will provide a unique public URL for your form. Share this URL with users to start uploading and sending files. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by System Admin
Tagged with: , , , ,
by Aryan Shinde
Overview This workflow automates the process of generating niche-specific business leads from Google Maps, leveraging the Google Places API and Google Sheets for seamless data collection and storage. Who Is This For? Business owners**, marketers, sales teams, or anyone needing to build targeted lead lists by business type and location quickly. Main Use Cases Building outreach lists for local marketing campaigns. Finding potential clients in a specific location and industry. Automating research for sales prospecting. How It Works Collect Inputs via Form: Gather your business type (search term), target location, desired number of results, and Google Maps API key using a simple built-in form. Geocode Location: The workflow automatically converts your location input into geographic coordinates. Search Businesses: It utilizes the Google Places API to search for businesses that match your criteria within a 10-km radius of your location. Extract & Validate Data: For each business found, it extracts key contact details (name, address, phone, website, etc.), validates for essential info, and automatically appends valid leads into your connected Google Sheet—ready for action. Prerequisites Google account connected to Google Sheets. Active Google Maps API key. Your target Google Sheet is set up to receive leads. Setup Steps Connect your Google Sheets account inside n8n. Obtain a Google Maps API key (usually takes a few minutes from the Google Cloud Console). Configure the workflow: Fill out the form inside the workflow with your business type, location, number of results, and your API key. Run the workflow and watch qualified leads flow into your Google Sheet in real-time. Customization Options Adjust the search radius or result count to match your needs. Extend extracted fields or add filters for advanced lead qualification. Change the Google Sheet structure as per your business process. Example Output Each row in your sheet contains: Business Name Address Phone Website Google Maps URL Ratings & Reviews Business Types Search Query & Location Scraped At timestamp > Tip: > For more details and advanced customizations, refer to the in-workflow sticky notes.
by moosa
This guide explains how to send form data from n8n to a JotForm form submission endpoint using the HTTP Request node. It avoids the need for API keys and works with standard multipart/form-data. 📌 Overview With this workflow, you can automatically submit data from any source (Google Sheets, databases, webhooks, etc.) directly into JotForm. ✅ Useful for: Pushing information into a form without manual entry. Avoiding API authentication. Syncing external data into JotForm. 🛠 Requirements A JotForm account. An existing JotForm form. Access to the form’s direct link. Basic understanding of JotForm’s field naming convention. ⚙️ Setup Instructions 1. Get the JotForm Submission URL Open your form in JotForm. Go to Publish → Quick Share → Copy Link. Example form URL: sample form Convert it into a submission endpoint by replacing form with submit: Example: submit url 2. Identify Field Names Each JotForm field has a unique identifier like q3_name[first] or q4_email. Steps to find them: Right-click a field in your published form → choose Inspect. Locate the name attribute in the <input> tag. Copy those values into the HTTP Request node in n8n. Example mappings: First Name → q3_name[first] Last Name → q3_name[last] Email → q4_email 3. Configure HTTP Request Node in n8n Method:** POST URL:** Your JotForm submission URL (from Step 1). Content Type:** multipart/form-data Body Parameters:** Add field names and values. Example Body Parameters: { "q3_name[first]": "John", "q3_name[last]": "Doe", "q4_email": "john.doe@example.com" } 4. Test the Workflow Trigger the workflow (manually or with a trigger node). Submit test data. Check JotForm → Submissions to confirm the entry appears. 🚀 Use Cases Automating lead capture from CRMs or websites into JotForm. Syncing data from Google Sheets, Airtable, or databases. Eliminating manual data entry when collecting responses. 🎛 Customization Tips Replace placeholder values (John, Doe, john.doe@example.com) with dynamic values. Add more fields by following the same naming convention. Use n8n expressions ({{$json.fieldName}}) to pass values dynamically.
by Koulikas Giannis
The automation starts by retreiving the unused queries from a sheet, executes queries in the web using Serper API and extracts linkedin profiles of decision makers.