Indeed to Slack, clean company summaries on demand
You open an Indeed company page, skim ratings and reviews, copy a few lines, paste into a doc, then try to “summarize” it for your team. Ten minutes later, you’re still cleaning formatting. And you haven’t even started comparing companies.
This is where Indeed Slack automation pays off. Recruiters feel it when they’re vetting dozens of employers for outbound. A market research lead feels it when stakeholder questions pop up mid-meeting. Job seekers doing serious diligence run into the same mess, just with different stakes.
This workflow pulls the important parts from Indeed, summarizes them with Google Gemini, and delivers a clean snapshot to Slack. You’ll see how it works, what you need, and where teams usually tweak it.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Indeed to Slack, clean company summaries on demand
flowchart LR
subgraph sg0["When clicking ‘Test workflow’ Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Test workflow’", pos: "b", h: 48 }
n1@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model For..", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Indeed Search Query", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Perform Indeed Web Request"]
n4@{ icon: "mdi:robot", form: "rounded", label: "Indeed Expert AI Agent", pos: "b", h: 48 }
n5@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "Markdown to Textual Data Ext..", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "Indeed Summarization", pos: "b", h: 48 }
n8["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/markdown.dark.svg' width='40' height='40' /></div><br/>Convert Markdown to HTML"]
n9["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Initiate a Webhook Notificat.."]
n10@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model for..", pos: "b", h: 48 }
n11@{ icon: "mdi:wrench", form: "rounded", label: "Initiate a Webhook Request", pos: "b", h: 48 }
n12["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Initiate a Webhook Notificat.."]
n7 --> n4
n7 --> n12
n2 --> n3
n8 --> n9
n5 -.-> n6
n11 -.-> n4
n3 --> n6
n3 --> n8
n0 --> n2
n6 --> n7
n10 -.-> n4
n1 -.-> n7
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n4,n6,n7 ai
class n1,n5,n10 aiModel
class n11 ai
class n3,n9,n12 api
classDef customIcon fill:none,stroke:none
class n3,n8,n9,n12 customIcon
The Problem: Indeed research turns into copy-paste work
Indeed company pages are useful, but they’re not built for decision-making speed. You’re jumping between “About,” ratings, review highlights, and whatever snippet actually answers your question. Then comes the worst part: turning that raw page into something you can share. You paste chunks into Slack or a doc, the formatting breaks, and everyone argues about what matters. Over a week, this turns into hours of repetitive work and surprisingly inconsistent “summaries” depending on who did the digging.
It adds up fast. Here’s where it usually breaks down in real teams.
- You keep re-reading the same sections because there is no standard template for notes.
- Copying reviews into Slack creates noisy threads with zero structure.
- Manual summaries vary in tone and depth, which makes comparisons shaky.
- When someone asks “why this company?” you can’t point to a consistent snapshot.
The Solution: Indeed summaries generated by Gemini and sent to Slack
This n8n workflow turns an Indeed company profile into a clean, shareable summary in minutes. It starts when you run the workflow (manually, or from a form trigger you can add later), then it builds the search parameters you care about and fetches the relevant Indeed company data through Bright Data’s Web Unlocker. Next, the workflow extracts the readable text from the response, hands it to Google Gemini, and asks for a structured, human-friendly summary. Finally, it posts the results to a webhook endpoint, which is commonly Slack, so your team sees the same format every time. You can also forward the HTML-rendered version if you want a nicer-looking message for internal channels.
The workflow kicks off with your chosen company query. Then it pulls the raw Indeed profile content, cleans it up, and runs it through a Gemini summarization chain plus an insight agent for extra structure. At the end, it sends both a formatted message and a structured payload to the webhook destination you choose.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you review 20 companies a week for sourcing or competitor tracking. Manually, it’s easy to spend about 10 minutes per company finding key details, copying highlights, and writing a quick summary, which is roughly 3 hours a week. With this workflow, you kick it off in n8n, wait a minute or two for extraction and summarization, and the Slack message is ready. Your time drops to “scan the summary and decide,” which is more like 1 minute per company.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Bright Data Web Unlocker for scraping Indeed company pages reliably
- Google Gemini API to summarize and structure the findings
- Webhook destination (Slack) to receive summaries in your channel
- Bright Data zone + Header Auth (get it from your Bright Data dashboard)
- Gemini API key (get it from Google AI Studio or Vertex AI)
Skill level: Intermediate. You’ll connect credentials, update a query field, and test webhooks, but you won’t be writing code.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A manual run (or form-triggered request) starts it. In the current workflow, you launch it manually, which is perfect for testing and ad-hoc research. Many teams later swap the trigger for a form submission so anyone can request a company summary without touching n8n.
Search parameters get set once, consistently. The workflow assigns the company query and any related parameters in a single place (the “Assign Search Parameters” step). That becomes your standard input, which means fewer “I searched it differently” results.
Indeed data is fetched and cleaned up. n8n sends an HTTP request through Bright Data Web Unlocker to retrieve the company profile content, then converts the messy response into readable text. The workflow also renders a formatted HTML version so the final Slack message isn’t a wall of raw markup.
Gemini turns the raw page into a brief. A summarization chain produces the clean summary, and an insight agent helps shape the output into structured, decision-friendly sections (think “key signals” rather than “random excerpts”).
The final summary is delivered via webhook. The workflow posts the HTML notification and a structured payload to your webhook endpoint, which is commonly Slack. You get something you can paste into a hiring channel, a research thread, or a client update without reformatting.
You can easily modify the input source (manual trigger, form, Telegram message) to match how your team already works. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Manual Trigger
Start the workflow with a manual execution so you can test the entire flow end-to-end.
- Add the Manual Launch Trigger node as the entry point.
- Keep the node settings as default since it requires no parameters.
Step 2: Connect the Indeed API Data Source
Configure the query details and send a request to the Indeed data source using Bright Data.
- In Assign Search Parameters, set the search_query value to
Starbucks. - In the same node, set the zone value to
web_unlocker1. - Open Execute Indeed API Request and set URL to
https://api.brightdata.com/request. - Set Method to
POSTand enable Send Body and Send Headers. - Configure body parameters: zone to
{{ $json.zone }}, url tohttps://www.indeed.com/cmp/{{ encodeURI($json.search_query) }}?product=unlocker&method=api, format toraw, and data_format tomarkdown. - Credential Required: Connect your httpHeaderAuth credentials in Execute Indeed API Request.
Step 3: Set Up Markdown Processing and Summarization
Extract readable text from the API response, summarize it with Gemini, and prepare data for downstream actions.
- In Extract Text from Markdown, set Text to
You need to analyze the below markdown and convert to textual data. {{ $json.data }}. - Ensure Gemini Chat Model Base is connected as the language model for Extract Text from Markdown.
- Credential Required: Connect your googlePalmApi credentials in Gemini Chat Model Base.
- Verify Summarize Company Findings is connected to Gemini Summarizer Model as the language model.
- Credential Required: Connect your googlePalmApi credentials in Gemini Summarizer Model.
Execution note: Execute Indeed API Request outputs to both Extract Text from Markdown and Render Markdown as HTML in parallel.
Step 4: Configure AI Agent Processing and Webhook Tools
Use an AI agent to format insights and send structured data to a webhook tool.
- In Indeed Insight Agent, set Text to
You are an Indeed Expert. You need to format the search result and push it to the Webhook via HTTP Request. Here is the search result - {{ $('Extract Text from Markdown').item.json.text }}. - Confirm Gemini Agent Model is attached as the language model for Indeed Insight Agent.
- Credential Required: Connect your googlePalmApi credentials in Gemini Agent Model.
- Open Post Structured Webhook and set URL to
https://webhook.site/[YOUR_ID]and Method toPOST. - Set the search_summary value to
{{ $json.response.text }}in Post Structured Webhook.
Credential note: Post Structured Webhook is an AI tool; add any required credentials to the parent node Indeed Insight Agent, not the tool itself.
Execution note: Summarize Company Findings outputs to both Indeed Insight Agent and Send Summary Webhook in parallel.
Step 5: Configure HTML Rendering and Webhook Outputs
Convert the markdown response to HTML and send it to a webhook, while also sending the text summary.
- In Render Markdown as HTML, set Mode to
markdownToHtmland Markdown to{{ $json.data }}. - In Send HTML Webhook Notice, set URL to
https://webhook.site/[YOUR_ID]and enable Send Body. - Set the html_response body parameter to
{{ $json.data }}. - In Send Summary Webhook, set URL to
https://webhook.site/[YOUR_ID]and enable Send Body. - Set the summary body parameter to
{{ $json.response.text }}.
⚠️ Common Pitfall: Don’t forget to replace [YOUR_ID] in all webhook URLs; using the placeholder will send data to an invalid endpoint.
Step 6: Test and Activate Your Workflow
Validate the flow end-to-end and then enable it for ongoing use.
- Click Execute Workflow to run Manual Launch Trigger manually.
- Confirm the request reaches Execute Indeed API Request and returns markdown data.
- Verify both parallel paths: HTML output appears in Send HTML Webhook Notice, and summary output appears in Send Summary Webhook.
- If the agent path is enabled, check that Indeed Insight Agent sends structured output via Post Structured Webhook.
- When satisfied, toggle the workflow to Active for production use.
Common Gotchas
- Bright Data credentials can expire or the Web Unlocker zone can be mis-selected. If things break, check your Bright Data zone settings and Header Auth credentials in n8n first.
- If you’re using Wait nodes or external processing, response times vary. Bump up the wait duration if downstream summarization runs before the Indeed response is fully available.
- Default prompts in Gemini are generic. Add your evaluation rubric early (what “good” looks like for you), or you will end up editing outputs every time.
Frequently Asked Questions
About 30 minutes if you already have your API keys.
No. You’ll mainly connect credentials, paste in keys, and update the query and webhook fields.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Gemini API usage and Bright Data Web Unlocker costs.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and it’s a common tweak. Keep the extraction and Gemini steps the same, then replace the “Send Summary Webhook” destination with a Google Sheets append step or an Airtable create-record step. Many teams also adjust “Assign Search Parameters” so the input comes from a form, a Sheet row, or Telegram instead of a manual run. If you want a cleaner Slack message, you can modify the “Render Markdown as HTML” output formatting too.
Usually it’s the Web Unlocker zone name, expired Header Auth credentials, or missing permissions on the Bright Data account. Check the Bright Data dashboard first, then re-save the n8n credential and re-run the HTTP request node. If it works once and then fails under load, you may be hitting rate limits or concurrency caps.
It depends more on your n8n plan and your Bright Data/Gemini limits than the workflow itself. On n8n Cloud Starter, you’re capped by monthly executions; if you self-host, you remove that cap and scale based on server size. In practice, teams often run batches of a few dozen companies at a time without issues, then increase volume once they confirm rate limits and costs. If you need hundreds per day, plan on batching and adding a Wait or queue behavior.
Often, yes. This workflow leans on multi-step processing (scrape, clean, summarize, format, then send), and n8n handles branching and richer logic without turning every extra step into a pricing problem. Self-hosting is also a big deal if you run lots of research jobs. Zapier or Make can still be fine for a simple “send this to Slack” setup, but they get clunky once you want structured AI output plus multiple message formats. Talk to an automation expert if you want help choosing.
Once this is running, your team stops doing “research formatting” and starts making decisions. The workflow handles the repetitive part, and frankly, that’s the part nobody will miss.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.