Generate company stories from LinkedIn with Bright Data & Google Gemini
Who this is for?
The LinkedIn Company Story Generator is an automated workflow that extracts company profile data from LinkedIn using Bright Data's web scraping infrastructure, then transforms that data into a professionally written narrative or story using a language model (e.g., OpenAI, Gemini). The final output is sent via webhook notification, making it easy to publish, review, or further automate.
This workflow is tailored for:
-
Marketing Professionals: Seeking to generate compelling company narratives for campaigns.
-
Sales Teams: Aiming to understand potential clients through summarized company insights.
-
Content Creators: Looking to craft stories or articles based on company data.
-
Recruiters: Interested in obtaining concise overviews of companies for talent acquisition strategies.
What problem is this workflow solving?
Manually gathering and summarizing company information from LinkedIn can be time-consuming and inconsistent. This workflow automates the process, ensuring:
-
Efficiency: Quick extraction and summarization of company data.
-
Consistency: Standardized summaries for uniformity across use cases.
-
Scalability: Ability to process multiple companies without additional manual effort.
What this workflow does
The workflow performs the following steps:
-
Input Acquisition: Receives a company's name or LinkedIn URL as input.
-
Data Extraction: Utilizes Bright Data to scrape the company's LinkedIn profile.
-
Information Parsing: Processes the extracted HTML content to retrieve relevant company details.
-
Summarization: Employs AI Google Gemini to generate a concise company story.
-
Output Delivery: Sends the summarized content to a specified webhook or email address.
Setup
- Sign up at Bright Data.
- Navigate to Proxies & Scraping and create a new Web Unlocker zone by selecting Web Unlocker API under Scraping Solutions.
- In n8n, configure the Header Auth account under Credentials (Generic Auth Type: Header Authentication).
The Value field should be set with the Bearer XXXXXXXXXXXXXX. The XXXXXXXXXXXXXX should be replaced by the Web Unlocker Token.
- In n8n, configure the Google Gemini(PaLM) Api account with the Google Gemini API key (or access through Vertex AI or proxy).
- Update the LinkedIn URL by navigating to the Set LinkedIn URL node.
- Update the Webhook HTTP Request node with the Webhook endpoint of your choice.
How to customize this workflow to your needs
-
Input Variations: Modify the Set LinkedIn URL node to accept a different company LinkedIn URL.
-
Data Points: Adjust the HTML Data Extractor Node to retrieve additional details like employee count, industry, or headquarters location.
-
Summarization Style: Customize the AI prompt to generate summaries in different tones or formats (e.g., formal, casual, bullet points).
-
Output Destinations: Configure the output node to send summaries to various platforms, such as Slack, CRM systems, or databases.
Generate Company Stories from LinkedIn with Bright Data & Google Gemini
This n8n workflow automates the process of extracting company information from LinkedIn using Bright Data, then uses Google Gemini to generate compelling company stories based on the extracted data. It's designed to streamline content creation for marketing, sales, or internal communication purposes.
What it does
This workflow simplifies and automates the following steps:
- Manual Trigger: The workflow is initiated manually, allowing you to control when the process starts.
- HTTP Request: It makes an HTTP request, likely to an API endpoint (e.g., Bright Data) to fetch company data from LinkedIn.
- Wait: Introduces a pause, potentially to allow the external data fetching service to complete its operation or to respect API rate limits.
- Edit Fields (Set): Transforms or prepares the data received from the HTTP request for further processing.
- If: A conditional check that likely determines if the data extraction was successful or if certain criteria are met before proceeding.
- Default Data Loader: Loads the processed data into a format suitable for language model processing.
- Recursive Character Text Splitter: Splits the loaded text into smaller, manageable chunks, which is crucial for processing large documents with language models.
- Information Extractor: Uses a language model (likely Google Gemini) to extract specific, structured information (e.g., company details, achievements, key personnel) from the text.
- Google Gemini Chat Model: Leverages Google Gemini as the language model to process the extracted information.
- Summarization Chain: Generates a concise and compelling company story based on the extracted and processed information.
- Sticky Note: Provides a place for notes or comments within the workflow, likely for documentation or explanation of a specific step.
Prerequisites/Requirements
To use this workflow, you will need:
- Bright Data Account: An account with Bright Data (or a similar web scraping service) configured to extract LinkedIn company profiles.
- Google Gemini API Key: Access to the Google Gemini API for natural language processing and generation.
- n8n Instance: A running instance of n8n.
Setup/Usage
- Import the workflow: Download the provided JSON and import it into your n8n instance.
- Configure Credentials:
- HTTP Request (Node 19): Update this node with your Bright Data API endpoint, API key, and any necessary parameters for LinkedIn company data extraction.
- Google Gemini Chat Model (Node 1262): Configure your Google Gemini API key within this node's credentials.
- Adjust 'Edit Fields (Set)' (Node 38): Modify this node to correctly parse and prepare the data structure returned by your Bright Data setup for optimal input into the AI models.
- Review 'If' (Node 20): Customize the conditions in this node based on your data validation requirements.
- Execute the workflow: Click the "Execute workflow" button on the "Manual Trigger" node to run the workflow.
The generated company stories will be available in the output of the "Summarization Chain" node.
Related Templates
PartnerStack/Impact → WooCommerce product creation with GPT-4 & AI images
🚀 PartnerStack/Impact → WooCommerce (AI-Powered Product Automation) Turn affiliate programs into fully published WooCommerce products—on autopilot. This n8n template pulls offers from PartnerStack/Impact (or your own links), generates SEO copy and images with AI, and publishes External products to WordPress/WooCommerce—hands-free. --- 🎯 What This Automation Does ⏰ Runs on a schedule (e.g., daily at 10:00 or every 3 days) 📄 Reads rows from Google Sheets (your affiliate product registry) 🔗 Inserts your affiliate link (PartnerStack/Impact/CJ or manual) 🌐 Fetches product/landing page and parses key details 🤖 Uses AI to create product title, short & long HTML description 🖼️ Creates a product image from an AI image prompt 🗂️ Uploads media to WordPress, sets alt/title/caption 🛒 Creates a WooCommerce External product via REST API 🏷️ Applies category by ID and sets the featured image ✅ Marks the row as published to avoid duplicates 🧯 Graceful error handling (failed fetches are flagged & skipped next run) 🛒 Output of Wordpress Website Product: [](https://brenttechnologies.com/) --- 🧑🏫 Step-by-Step Video Tutorial 🎥 Watch the implementation tutorial: [](https://youtu.be/Pifwn32vlQk) 📌 Live demo: schedule, sheet → product, AI copy/image, REST publish. --- 🌐 Useful Links 🔗 Start with n8n (Cloud or Self-hosted): 👉 https://n8n.io | Guide: https://syncbricks.com/self-hosting-n8n-on-ubuntu-24-04-a-step-by-step-guide/ 🧠 OpenAI API (text + image): 👉 https://platform.openai.com/docs 🤝 PartnerStack: 👉 https://partnerstack.com 📄 Google Sheets API: 👉 https://developers.google.com/sheets/api --- 🛠 Prerequisites ✅ n8n (self-hosted or Cloud) ✅ WordPress + WooCommerce with REST API enabled ✅ WordPress Application Password / API credential with media & products scope ✅ OpenAI (or your preferred AI) API key ✅ Google Sheet with minimum columns: AdvertiserIdandCompaignID (unique key) AdvertiserUrl (merchant/product URL) TrackingLink (your affiliate URL) Brand partner_status (e.g., “Active”) product_published (Yes/blank) error (Yes/blank) --- 📋 Step-by-Step Implementation 1️⃣ Scheduling & Intake Add a Schedule Trigger (daily, every 3 days, or your cadence). Google Sheets → Read: pull rows from your “impact/partnerstack” tab. Filter rows: partnerstatus = Active AND productpublished != Yes AND error != Yes. Limit to 1 per run (safe scaling). Increase later if needed. 2️⃣ Product Discovery & Parsing HTTP Request the AdvertiserUrl to fetch the landing/product page. Parse title/meta/summary; continue on error and flag failures (so runs don’t break). 3️⃣ AI Content Generation Agent 1 – Basics: Product Name, Short Description, Category ID mapping (match your Woo categories). Agent 2 – Long Form: SEO-ready HTML description (H2/H3, bullets, features, benefits, target users, technical highlights). Agent 3 – Image Prompt: Generate a clean product-hero prompt; then AI Image generation. 4️⃣ Media Handling Upload media to WordPress (/wp/v2/media) with title/alt/caption and proper content-type. Capture the media ID for the next step. 5️⃣ WooCommerce Product Creation Create product via POST /wc/v3/products with: type: "external" name, short_description, description external_url: TrackingLink button_text: "Sign Up" (or “Buy Now” / “Get It Now”) status: "publish" (or “draft” if you want manual review) Attach featured image with the uploaded media ID. Set categories by ID (ensure your mapping is correct). 6️⃣ Post-Publish Updates Update the Google Sheet row using the unique key (AdvertiserIdandCompaignID): product_published = Yes Clear/reset any transient error flags. 7️⃣ Error Handling & Idempotency If fetch fails (e.g., Cloudflare/Turnstile), mark error = Yes and skip that row next run. Filter excludes error = Yes and already-published rows—no accidental duplicates. --- 💰 Optional Monetization & Distribution Blog & Social: Add branches to generate a blog article, LinkedIn/Twitter posts from the same product data. Video: Create a short promo video (Sora/Gen-AI) and auto-schedule to TikTok/YouTube/Instagram. Email: Trigger a campaign (e.g., Brevo/Mailchimp) for new products added this week. --- 💡 Advanced Customizations Draft workflow: publish products as draft for human QA. Category Mapper: expand the category ID table to fit your Woo taxonomy. Image sizing: add an optional resize/optimize node before upload. Batching: remove the Limit node to publish multiple products per run (respect rate limits). Per-brand theming: vary prompts (tone/structure) based on Brand column. --- 🧰 Troubleshooting | Issue | Fix | | ----------------------------- | ---------------------------------------------------------------------------------------- | | WordPress 401/403 | Re-create Application Password; ensure correct base URL & permalinks | | Image upload fails | Check content-type & binary upload settings; verify max upload size on server | | Product lacks image/category | Confirm media ID capture & category ID mapping | | Duplicate items | Ensure product_published is set to Yes after success; keep Limit node during testing | | Fetch errors on merchant site | Keep “continue on error”; route to set error = Yes, then review manually | --- 🙌 Why Use This Template ⏱️ Saves hours of manual listing work 📈 SEO-consistent product pages every time 🧠 AI-quality copy & images with your tone 🔗 Affiliate link everywhere, fully tracked 🛠️ Extensible to blog, social, video, and email --- 🚀 Get Started Now Import the template → Connect credentials → Point to your Sheet → Run once → Enable schedule. Need help or a DFY build? SyncBricks can implement and customize this for your stack. 👉 Amjid Ali — https://linkedin.com/in/amjidali 🌐 Website — https://amjidali.com | https://syncbricks.com.au ▶️ YouTube — https://youtube.com/@syncbricks --- Knowledge Base: woocommerce-rest, partnerstack, impact, affiliate-automation, openai, n8n, google-sheets, content-generation, image-generation, wordpress-api, creator-hub
Automated trip weather forecasts from Google Calendar to Telegram
How it works This workflow for trip weather forecasting is event-driven, starting when a calendar event is created or updated, and provides timely weather alerts and forecasts tailored to your travel dates and locations. Overall, this workflow efficiently integrates calendar travel plans with real-time and updated weather intelligence for ultimate travel preparedness and peace of mind. From the creator If you’re jetting off frequently, bouncing between time zones, juggling meetings, and squeezing every drop of life out of travel, you need this flow. This ain’t your grandma’s weather app. It’s a bulletproof system that scans your calendar, mines your trips, and delivers laser-targeted weather intel and urgent alerts, right when you need it. No more surprises. No more scrambling. Just real-time weather mastery that saves your schedule. You’re not just traveling: you’re dominating. This flow makes sure the only thing you worry about is your next move, not whether the weather’s gonna ruin it. Time to upgrade from a tourist to a boss. Step-by-step 📅 Google Calendar Triggers (Event Created/Updated): The workflow starts immediately upon creation or update of any calendar event, enabling real-time detection of new or changed travel plans. ✈ Identify Trips: Filters these calendar events to detect travel-related trips by matching keywords such as "trip," "flight," or "vacation" in titles or descriptions. 📍Extract Locations: Parses each trip event’s details to extract start and end dates and the trip destination from the summary/description/location fields. 🌐 Build interrogation URL: Constructs a Visual Crossing API request URL dynamically based on the extracted trip location and dates, including daily forecasts and alerts. Fetches the detailed weather forecast and alert data for the trip location and duration right after detecting the event. Formats the raw weather data into a readable summary 🌤️🌪🌀 including temperatures, precipitation probabilities, conditions, and eventual severe weather alerts. 📲 📧 Send Forecast: Sends the forecast summary with alerts via Telegram to keep the user informed instantly. ⌛One day before the trip: Pauses the workflow until exactly one day before the trip start date, ensuring a timely second fetch when more accurate or updated weather data is available and the updated forecast is sent. Optional You can replace the Telegram node with email, WhatsApp, Slack, SMS notifications, or add multiple notification nodes to receive them across all desired channels.
Self update Docker-based n8n with email approval and SSH
n8n Self-Updater Workflow > An automated n8n workflow originally built for DigitalOcean-based n8n deployments, but fully compatible with any VPS or cloud hosting (e.g., AWS, Google Cloud, Hetzner, Linode, etc.) where n8n runs via Docker. This workflow checks for the latest Docker image of n8n, notifies you via email for approval, and securely updates your n8n instance via SSH once approved. --- How It Works Trigger: The workflow runs automatically every 3 days at 4 PM UTC (or manually if triggered). Check Version: It retrieves your current n8n Docker version and image digest via SSH. Compare: Fetches the remote digest from Docker Hub and compares it with the local one. Notify via Email: If a new update is available, an approval email is sent with details: Current version Local digest Remote digest What will happen after approval Approval Logic: Approve → Workflow connects via SSH and updates the n8n container automatically. Decline → Workflow ends; next check occurs in the next cycle. Auto Update Execution: Creates (if missing) a update_docker.sh script on the server. Runs it in the background (nohup) to: bash cd /opt/n8n-docker-caddy docker compose pull docker compose down docker compose up -d The delay ensures n8n restarts only after workflow completion. --- Requirements SSH Access to your server (where n8n runs). Add your credentials in n8n under Credentials → SSH Password*. SMTP Connection for email notifications. Configure in Credentials → SMTP*. Fill in: From Email → e.g., info@yourdomain.com To Email → your email for receiving approvals Docker-based n8n Deployment, e.g., n8n-docker-caddy setup. Docker and docker-compose installed on the server. --- How to Use Import the Workflow: Copy the provided JSON file. In your n8n instance → click Import Workflow → paste the JSON. Set Up Credentials: Create two credentials in n8n: SSH Password → Your server's SSH credentials. SMTP → Your email provider's SMTP credentials. Edit the Email Node: Replace: fromEmail: info@yourdomain.com → with your email. toEmail: youremail@yourdomain.com → with your desired recipient. Enable Auto Trigger (optional): Go to the Schedule Trigger node and set your desired interval/time. Run the Workflow: Test manually first. Once verified, activate it for automatic checks. --- Notes Originally designed for DigitalOcean VPS setups, but can run on any Docker-based n8n server. The workflow avoids duplicate updates by comparing digests instead of version tags. If the update_docker.sh file already exists, it reuses it safely. Approval emails include full details for transparency. Background execution ensures no interruptions during restart. --- Example Behavior Day 1: Workflow checks → detects update → sends email → user approves. 30 seconds later: Workflow runs update script → n8n restarts with latest Docker image. Day 4: Workflow checks again → digests match → silently completes (no email sent). --- Author: Muhammad Anas Farooq