I added a human approval loop before letting AI-generated outreach get sent
▲ 55 r/n8nforbeginners+2 crossposts

I added a human approval loop before letting AI-generated outreach get sent

I am building the outreach stage of a larger AI sales prospecting system, but I did not want the model sending messages directly to prospects without review.

This workflow starts by pulling prospects that have already been researched, qualified, and synced. An outreach agent uses the available prospect and company context to generate a structured draft.

Instead of sending that draft externally, the workflow emails it to a reviewer and waits for a response.

If the message is approved, the workflow sends it and updates the prospect record. If changes are requested, the feedback is passed to a separate revision agent. The revised version goes back through the same approval loop rather than being sent automatically.

I used separate generation and revision agents because the two tasks need different instructions. The first agent focuses on creating a relevant message from the research. The second needs to preserve the useful parts of the draft while applying specific human feedback.

There is also a practical question around review fatigue. Requiring approval for every message provides control, but it could become the bottleneck once volume increases.

For people running human-in-the-loop outreach, do you review every message or only drafts below a confidence threshold?

Would you keep approvals inside email, or use a dedicated review interface with explicit approve and revise actions?

Workflow:

https://gist.github.com/meeramnoor16/af99d2d78198381880483fe551164b12

u/stuckatit16 — 2 days ago
▲ 14 r/n8nforbeginners+2 crossposts

The less exciting part of AI prospecting: stopping the CRM from filling up with duplicates

This is the second subworkflow in a larger AI sales prospecting and CRM intelligence system I am building.

The first workflow handles company research and ICP qualification. This one deals with what happens when a prospect is ready to enter HubSpot.

The workflow pulls pending prospect records and searches HubSpot for an existing contact. If the contact exists, it updates the record. If not, it creates one and stores the returned contact ID.

It then repeats the same process at the company level, using the company domain to decide whether to update an existing company or create a new one. Once both IDs are available, the contact is associated with the company, the generated contact intelligence is added, and the prospect is marked as synced.

The main design choice here was to deduplicate contacts and companies separately. A contact may be new while their company already exists, or the opposite. Treating the whole operation as a single create-or-update action would miss those cases.

The part I am still thinking through is identity resolution. Email and domain work well for straightforward records, but things get messy with subsidiaries, personal email addresses, multiple company domains, and contacts who change employers.

How are people handling these cases in production?

Would you keep email and domain as the primary matching keys, or add a second layer of fuzzy matching before creating anything?

Here is the workflow:

https://gist.github.com/meeramnoor16/611c65ef056d531680c6cd4f0a9aa033

u/stuckatit16 — 7 days ago
▲ 6 r/n8nforbeginners+2 crossposts

Building an AI sales prospecting system in smaller workflows. First step: company research and ICP qualification

I am working on a modular AI sales prospecting and CRM intelligence system, and I decided not to build the whole thing as one large workflow.

This is the first subworkflow: company research and ICP qualification.

The flow starts by collecting leads, processing them one at a time, and sending each company through an ICP scoring agent. Leads that pass the qualification step continue to a product matching agent, which tries to identify the most relevant offering based on the company profile.

The workflow then fetches the company website, extracts the page content, and passes it to a separate research agent. That agent creates structured company intelligence before the final record is added to the database.

I separated the agents because I want each part to have a narrow responsibility:

  • ICP scoring decides whether the company is worth pursuing
  • Product matching decides what might be relevant to them
  • Company research gathers context for later outreach and CRM enrichment

This is still an early version, and I am thinking through how much confidence to place in website content alone. Some company sites are outdated, vague, or full of marketing language, so the research output may appear structured yet be inaccurate.

For people building similar prospecting workflows, would you use a fixed scoring rubric for ICP qualification, or let the model interpret the criteria more freely?

I am currently not using a GoHighLevel-type CRM. I wanted to maintain a proper record in HubSpot, but I hit the limit of 10 custom properties. What record managers do you guys use when testing workflows? Cheaper options, please!

Here is the workflow:

https://gist.github.com/meeramnoor16/87fe4f5b34b2293e04c831a707644cd0

u/stuckatit16 — 7 days ago
▲ 26 r/n8n_ai_agents+3 crossposts

I built a CRM workflow that handles internal sales reporting

I built this because too much sales work happens after someone updates the CRM.

When a sales record changes, the workflow checks whether the deal was won. If it was, an AI agent reviews the sale and prepares the internal reporting details.

From there, the sales manager gets an email, the sales team gets a Slack notification, and the relevant team gets an invoice request. The workflow then updates the CRM so there’s a record of what happened.

There’s also a daily workflow that runs at 8 AM. It goes through the required reporting items and triggers a separate reporting workflow for each one.

The idea is simple: a CRM update should trigger the work that follows.

That means less manual checking, fewer missed handoffs, faster invoice requests, and no one compiling the same reports every morning.

I was wondering if running it once a day enough? and could there be a better reporting end other than slack? what do you guys use?

Here is the workflow:

https://gist.github.com/meeramnoor16/ee64f1e1351c21d77d93bdb71a8927d2

u/stuckatit16 — 13 days ago
▲ 10 r/n8nforbeginners+2 crossposts

I built a system where a lead is instantly nurtured when they email the business.

I used to think "speed to lead" meant replying as fast as possible.

Now I think it means never making a lead wait in the first place.

Here's a workflow I've been building:

Someone fills out a contact form or sends an email.

Within seconds:

  • AI reads the inquiry and checks whether it's a good fit.
  • It sends follow-up questions based on what the person actually asked (budget, timeline, urgency, requirements, etc.).
  • As soon as they reply, another workflow reviews the response and decides what to do next.

If they're qualified, it:

  • Books a meeting.
  • Updates the CRM with the conversation.
  • Sends a confirmation email with all the details.

No one has to watch an inbox.

No one has to remember to follow up.

No lead sits there for an hour because everyone is in meetings.

The goal isn't to replace sales. It's to remove the delays between someone showing interest and getting a response.

Do you think that companies might benefit from it? And could it practically reduce the workload of employees?

Here is the workflow:

https://gist.github.com/meeramnoor16/feea0a24a4d0cf1f45d6cbf299ad65a0

u/stuckatit16 — 16 days ago
▲ 84 r/n8nforbeginners+3 crossposts

I've been building an AI receptionist for a dental clinic, and the backend architecture ended up being far more interesting than simply connecting a voice model to a calendar.

The voice interface runs on ElevenLabs, but all decisions are made by an AI agent in n8n.

Here's the current flow:

  • A patient calls the clinic.
  • The voice agent answers the call.
  • The n8n agent takes over and decides what to do next.
  • It checks whether the caller is a new or existing patient in the CRM.
  • It looks up treatments and clinic policies from a knowledge base.
  • It asks structured triage questions to assess urgency.
  • If the case is urgent, it books the earliest same-day appointment.
  • If it's non-urgent, it finds the first available slot within the next 14 days.
  • It checks the calendar, creates the appointment, and confirms it with the patient.
  • If the patient wants to reschedule, it asks why. If the answers suggest the condition has become urgent, it switches paths and books a same-day appointment instead.
  • It also handles cancellations.
  • Before ending the call, it updates both the CRM and the calendar with the appointment status, urgency, patient details, and a summary of the conversation.

The biggest lesson for me was that speech recognition and text generation weren't the hard parts. The hard part was building the decision logic.

The agent isn't just chatting. It's deciding which tool to call next, figuring out what information is still missing, determining whether a patient needs immediate care, and keeping the CRM and calendar in sync so nothing falls out of step.

For anyone building voice agents with several integrations, how are you handling orchestration?

I'm having trouble with the multilingual receptionist. Have you guys tried building them? What platform and settings do you use?

Also, do you run into the issue where you update your voice agent's prompt but it keeps following the old pattern?

Here is the workflow:

https://gist.github.com/meeramnoor16/e391806f9fce9e77758763fdbdf06529

u/stuckatit16 — 17 days ago
▲ 8 r/n8n

Built an AI speed-to-lead system that contacts every new lead in under a minute

After talking with a lot of service businesses, I kept running into the same issue.

They were spending plenty of money generating leads, but new enquiries often sat untouched for hours because everyone was busy.

That delay costs business.

Someone fills out a form because they're ready to buy. If they don't hear back quickly, they move on.

I wanted to remove that gap, so I built an AI speed-to-lead system.

As soon as someone submits a website form, they choose how they'd like to be contacted: email, SMS/WhatsApp, or a phone call.

Within seconds, an AI agent reaches out through that channel and starts the conversation.

It asks qualifying questions, answers common questions, works out how urgent the enquiry is based on the business's criteria, and records everything in the CRM.

When the lead replies, the conversation continues automatically. If they're a good fit, the system books an appointment, updates the calendar and CRM, notifies the team, and sends the customer a confirmation.

The goal wasn't to build something flashy.

I wanted a process that made sure every lead received a fast response without adding more work for the team.

The part that took the most time wasn't connecting all the services. It was getting the conversations right. Email, SMS, and phone calls all feel different, so each one needed its own flow while still collecting the same information and following the same qualification process.

Would business actually implement this? Do you think this solves a big pain for the businesses?

What other information could be given to an AI agent about lead qualification, and how could it qualify them better?

Workflow JSON:

https://gist.github.com/meeramnoor16/5d00fbff8ce9aaf0de3fe6bc10cece8e

u/stuckatit16 — 19 days ago
▲ 26 r/n8n_ai_agents+2 crossposts

Built an AI speed-to-lead system that contacts every new lead in under a minute

After talking with a lot of service businesses, I kept running into the same issue.

They were spending plenty of money generating leads, but new enquiries often sat untouched for hours because everyone was busy.

That delay costs business.

Someone fills out a form because they're ready to buy. If they don't hear back quickly, they move on.

I wanted to remove that gap, so I built an AI speed-to-lead system.

As soon as someone submits a website form, they choose how they'd like to be contacted: email, SMS/WhatsApp, or a phone call.

Within seconds, an AI agent reaches out through that channel and starts the conversation.

It asks qualifying questions, answers common questions, works out how urgent the enquiry is based on the business's criteria, and records everything in the CRM.

When the lead replies, the conversation continues automatically. If they're a good fit, the system books an appointment, updates the calendar and CRM, notifies the team, and sends the customer a confirmation.

The goal wasn't to build something flashy.

I wanted a process that made sure every lead received a fast response without adding more work for the team.

The part that took the most time wasn't connecting all the services. It was getting the conversations right. Email, SMS, and phone calls all feel different, so each one needed its own flow while still collecting the same information and following the same qualification process.

Would business actually implement this? Do you think this solves a big pain for the businesses?

What other information could be given to an AI agent about lead qualification, and how could it qualify them better?

Workflow JSON:

https://gist.github.com/meeramnoor16/5d00fbff8ce9aaf0de3fe6bc10cece8e

u/stuckatit16 — 19 days ago
▲ 15 r/n8n

Finally finished building an AI invoice processing system in n8n. Thought I'd share the architecture because I picked up a lot while building it.

Here is the workflow:

https://gist.github.com/meeramnoor16/eedf23c8dede444019b16cfd7b3fa448

The workflow starts with a Gmail trigger. Every new invoice is downloaded and saved to Google Drive.

A Code node then identifies the file type: PDF, DOCX, TXT, or image. From there, the workflow splits into two branches.

Text invoices (PDF, DOCX, TXT)

  • Download the file from Google Drive. Passing binary data through a long workflow gets messy.
  • Check Postgres for duplicates before sending anything to the AI.
  • Extract the invoice data with an AI agent.
  • Verify that all required payment fields are present.
  • If anything is missing, send the invoice to the responsible employee on Telegram for review.
  • If everything checks out, evaluate the invoice amount.
  • Invoices over $3,000 require approval through Telegram.
  • Lower amounts continue automatically.
  • After approval (or if none is needed), process the invoice.
  • Notify the finance team in Slack.
  • Write the extracted data to Google Sheets, where it can also feed a payment workflow.
  • Save the invoice in Postgres so future duplicates are caught.

Image invoices

The flow is almost identical, with one extra step at the beginning.

  • Set the filename.
  • Download the image from Google Drive.
  • Run OCR with OCR.Space.
  • Pass the OCR output to an AI agent to extract the invoice data.
  • Check Postgres for duplicates.
  • Verify the required fields.
  • Send incomplete invoices to Telegram.
  • Require approval for invoices over $3,000.
  • Continue processing after approval.
  • Notify Slack.
  • Write to Google Sheets.
  • Save the invoice in Postgres.

Reminder workflow

I also built a separate workflow for teams that still pay invoices manually.

It's only 4-5 nodes:

  • A Schedule Trigger runs once a day.
  • It checks all unpaid invoices.
  • If an invoice is due the next day, it sends a reminder to the person responsible.

Simple, but it keeps invoices from being missed.

A few design choices worked well:

  • OCR only runs for image invoices.
  • Duplicate checks happen before the AI, which cuts token costs.
  • High-value invoices require approval.
  • Lower-value invoices go straight through.
  • Teams that pay manually still get automatic reminders before invoices are due.

However, I will admit that it got heavy, lots of nodes, a giant workflow. So suggestions are welcome as to what can be taken out or what can be done without additional nodes.

Also, what other databases do you guys use? I have used Postgres inside Supabase; it worked well for duplicate detection, but when I use it for document data retrieval, I don't think it does a good enough job.

u/stuckatit16 — 1 month ago
▲ 69 r/n8n_ai_agents+2 crossposts

Finally finished building an AI invoice processing system in n8n. Thought I'd share the architecture because I picked up a lot while building it.

Here is the workflow:

https://gist.github.com/meeramnoor16/eedf23c8dede444019b16cfd7b3fa448

The workflow starts with a Gmail trigger. Every new invoice is downloaded and saved to Google Drive.

A Code node then identifies the file type: PDF, DOCX, TXT, or image. From there, the workflow splits into two branches.

Text invoices (PDF, DOCX, TXT)

  • Download the file from Google Drive. Passing binary data through a long workflow gets messy.
  • Check Postgres for duplicates before sending anything to the AI.
  • Extract the invoice data with an AI agent.
  • Verify that all required payment fields are present.
  • If anything is missing, send the invoice to the responsible employee on Telegram for review.
  • If everything checks out, evaluate the invoice amount.
  • Invoices over $3,000 require approval through Telegram.
  • Lower amounts continue automatically.
  • After approval (or if none is needed), process the invoice.
  • Notify the finance team in Slack.
  • Write the extracted data to Google Sheets, where it can also feed a payment workflow.
  • Save the invoice in Postgres so future duplicates are caught.

Image invoices

The flow is almost identical, with one extra step at the beginning.

  • Set the filename.
  • Download the image from Google Drive.
  • Run OCR with OCR.Space.
  • Pass the OCR output to an AI agent to extract the invoice data.
  • Check Postgres for duplicates.
  • Verify the required fields.
  • Send incomplete invoices to Telegram.
  • Require approval for invoices over $3,000.
  • Continue processing after approval.
  • Notify Slack.
  • Write to Google Sheets.
  • Save the invoice in Postgres.

Reminder workflow

I also built a separate workflow for teams that still pay invoices manually.

It's only 4-5 nodes:

  • A Schedule Trigger runs once a day.
  • It checks all unpaid invoices.
  • If an invoice is due the next day, it sends a reminder to the person responsible.

Simple, but it keeps invoices from being missed.

A few design choices worked well:

  • OCR only runs for image invoices.
  • Duplicate checks happen before the AI, which cuts token costs.
  • High-value invoices require approval.
  • Lower-value invoices go straight through.
  • Teams that pay manually still get automatic reminders before invoices are due.

However, I will admit that it got heavy, lots of nodes, a giant workflow. So suggestions are welcome as to what can be taken out or what can be done without additional nodes.

Also, what other databases do you guys use? I have used Postgres inside Supabase, it worked well for duplicate detection, but when I use it for document data retrieval, I don't think it does a good enough job.

u/stuckatit16 — 1 month ago
▲ 3 r/n8n

I need help for multilingual voice agent build.

I live in Pakistan and people here speak urdu language. And so I wanted to create a multilingual voice agent for telemedicine which will be deployed on a telemedicine app.

But the issue is, despite choosing the best settings for it that is ChatGPT 4.1 mini as LLM and ChatGPT4O transcriber and ElevenLabs multilingual v2 for voice, it does not recognize the name properly and has trouble understanding me in general.

And the transcript of the call is just a messy mix of random words, English and Hindi.

Has anyone else ever created such a voice agent. How do I solve this?

reddit.com
u/stuckatit16 — 1 month ago
▲ 14 r/AiAutomations+1 crossposts

I stopped trying to build one "AI email assistant" and instead made four specialized agents.

I was originally trying to make one AI agent handle every incoming email.

The prompts kept getting bigger, the responses became less consistent, and every new feature seemed to make another one worse.

So I rebuilt the whole thing around specialized agents.

Here is github link:

https://gist.github.com/meeramnoor16/e2983c24dfb1182e4d2222709c3caf46

The workflow now looks something like this:

  • Gmail trigger receives a new email.
  • A classifier agent determines whether it's Sales, HR, Customer Support, or a Job Application.
  • A switch routes the email to a dedicated workflow.

Each workflow does something different.

Sales

  • Labels the email.
  • AI drafts a reply.
  • Logs the lead into Google Sheets.
  • Sends a Slack notification to the sales team.

HR

  • Labels the email.
  • HR agent decides whether a meeting is needed.
  • Creates a calendar meeting between the employee, manager, and HR if necessary.
  • Sends the appropriate email response.

Customer Support

  • Labels the email.
  • Queries a knowledge base (Pinecone) for relevant documentation.
  • Generates a response using only the retrieved context.
  • Replies to the customer.

Job Applications

  • Labels the email.
  • Extracts candidate information.
  • Logs everything into Google Sheets.
  • Creates an interview event on the calendar.
  • Sends the interview details back to the candidate automatically.

However I am curious if its practical or not. Not everything that can be automated is desirable by companies or client. So do you guys think that a client or company would be interested in something like this and would trust it?

u/stuckatit16 — 1 month ago

I need help for multilingual voice agent build.

I live in Pakistan and people here speak urdu language. And so I wanted to create a multilingual voice agent for telemedicine which will be deployed on a telemedicine app.

But the issue is, despite choosing the best settings for it that is ChatGPT 4.1 mini as LLM and ChatGPT4O transcriber and ElevenLabs multilingual v2 for voice, it does not recognize the name properly and has trouble understanding me in general.

And the transcript of the call is just a messy mix of random words, English and Hindi.

Has anyone else ever created such a voice agent. How do I solve this?

reddit.com
u/stuckatit16 — 1 month ago

I built an n8n workflow which generates content ideas for twiiter, tiktok and reddit.

I built an n8n workflow for content idea generation and thought I’d share it in case it helps anyone else struggling with consistency across platforms.

Here is the workflow:

https://gist.github.com/meeramnoor16/ebc1c184f3e4308d7e55bb21379b1d48

I was having a hard time keeping up with posting content regularly across different platforms (Twitter/X, Reddit, TikTok, etc.) and also keeping up with trend research at the same time. So I automated the idea generation part.

My current workflow:

It starts with either a Telegram trigger or a scheduled daily trigger.

1. Twitter/X scraping

  • Pulls trending tweets + niche content
  • AI analyzes them for:
    • content hooks
    • post structures
    • trending angles
    • engagement patterns

2. Reddit scraping

  • Scrapes relevant subreddits
  • AI extracts:
    • discussion-worthy topics
    • recurring problems/questions
    • content gaps I can target
    • post ideas based on community sentiment

3. TikTok scraping

  • Uses video URLs + trending sounds
  • AI breaks down:
    • viral hooks
    • video structure
    • content pacing styles
    • music/audio trends
    • editing patterns that are currently working

Output:
All ideas get structured and saved into a Google Sheet every morning.

So instead of randomly trying to come up with ideas daily, I wake up with a list of:

  • hooks
  • post formats
  • content angles
  • trend-based ideas

Then I just pick what to research and create.

Why I built this

The main problem wasn’t content creation—it was idea fatigue and not knowing what to post consistently across platforms. This just removes that friction.

I’m still improving it, especially on the scraping side.

If anyone has suggestions for:

  • better data sources than Twitter/Reddit/TikTok
  • cheaper scraping tools/APIs
  • or improvements to trend detection

I’d love to hear them.

u/stuckatit16 — 1 month ago
▲ 1 r/n8n

New Beginnings!

Hello everyone! I am new here. Let's inspire one another and learn from each other. Looking forward to connecting with you guys :)

reddit.com
u/stuckatit16 — 1 month ago