FabioInTech
AI Systems Architect with 18+ years experience designing scalable, intelligent automation solutions. I specialize in architecting complex n8n workflows that integrate AI systems, streamline operations, and optimize business processes. My expertise spans multi-agent architectures, data automation, and enterprise-grade systems that adapt to evolving business needs. I help organizations unlock their potential through strategic technology implementation and innovative automation solutions.
Templates by FabioInTech
Generate sales leads & personalized outreach emails using Jina AI and OpenAI agents
This workflow uses AI agents to enrich company data from Airtable. It performs deep research to find the best decision-maker, then drafts and evaluates a personalized outreach email, and finally updates the original Airtable record with the new lead information and email content. π₯ Who is it for? This workflow is ideal for sales teams, marketers, and business development professionals looking to automate their lead generation and initial outreach process, saving time and increasing personalization at scale. βοΈ How it works This workflow initiates by fetching unprocessed company records from a specified Airtable base. For each company, it performs a "deep research" using Jina AI to identify key decision-makers based on the company's name and website. Next, a series of AI agents process the information: Lead Analyzer: A "Lead Generation Specialist" agent analyzes the research results to select the most suitable contact person. Email Content Creator: A "Content Creator Specialist" agent uses the lead's information and your business details to draft a personalized marketing email and subject line. Evaluator: An "Expert Email Marketing Evaluator" agent reviews the generated email for quality, tone, and effectiveness, providing a score and feedback. Finally, the workflow updates the original record in Airtable with the identified lead's name, email, the generated email content, and the evaluation summary, marking the record as processed. π οΈ How to set up Airtable Setup: Create an Airtable base with a table containing the following fields: Company_name: A text field for the name of the lead's company (Required). Company_website: A URL field for the company's official website (Required). Company_email: An email field for a general contact email for the company (Required). Address: A text field for the physical address of the company (Optional). Company_phone: A phone number field for a general phone number for the company (Optional). processed: A single select field to track the status. It needs the options no and yes. The workflow only processes records set to no (Required). lead_name: A text field that the workflow will populate with the name of the identified lead (Output). lead_email: An email field that the workflow will populate with the identified lead's email (Output). email_subject: A text field for the generated email subject line (Output). email_text: A long text field for the generated, personalized email body (Output). email_summary: A long text field for the AI's evaluation and summary of the created email (Output). create_date: A date and time field to log when the record was processed (Output). task_result: A text field for a summary of the final task result, like "Email wrote" (Output). Create your Airtable Credentials Airtable Documentation Connect your Airtable credentials to the 'Get input records' and 'Update record' nodes and select your Base and Table in both nodes. Fill the Airtable Table with the Companies details you want to generate Leads. The requited columns are (CompanyName, Companywebsite and Company_email). Also, make sure the column processed is set to "no". Business Information: In the Business_Info node, fill in the values with your company's details, key benefits, target audience, and landing page URL. API Keys: Jina AI: Get your API key from Jina AI and insert it into the JinaAPIKey node. OpenAI: Add your OpenAI credentials to the 'OpenAI o3-mini', 'OpenAI - 4o-mini', and 'OpenAI - 4o-mini - low' nodes. β Requirements An Airtable account. A Jina AI account and API key. An OpenAI account and API key. π¨ How to customize the workflow Change the data source: Replace the Airtable 'Get input records' node with another database or CRM node like Google Sheets, HubSpot, or Salesforce to pull your company list from a different source. Adjust AI models: Experiment with different OpenAI models in the LangChain nodes ('OpenAI o3-mini', 'OpenAI - 4o-mini') to balance cost, speed, and performance. Refine the AI prompts: Modify the system messages and prompts within the 'Lead Analyzer', 'Email Content Creator', and 'Evaluator' agent nodes to better align their outputs with your specific tone of voice, goals, and evaluation criteria. Automate sending: Extend the workflow by adding an email node (e.g., Gmail, Outlook) after the 'Update record' node to automatically send the generated emails.
Build a comprehensive multimodal assistant on Telegram with OpenAI, SERP and Vector Store
J.A.R.V.I.S. Multimodal AI assistant on Telegram with OpenAI This workflow transforms your Telegram bot into J.A.R.V.I.S., a powerful, multimodal AI assistant. It can understand and process text, voice messages, images, and documents. The assistant can search the web, scrape websites, generate images, perform calculations, and reference uploaded documents to provide comprehensive and context-aware responses in either text or audio format. π§βπ» Whoβs it for This workflow is for developers, AI enthusiasts, and businesses who want to create an advanced, interactive AI assistant on Telegram. Itβs perfect for automating customer support, creating a personal AI helper, or exploring the capabilities of multimodal large language models (LLMs) in a practical application. βοΈ How it works The workflow begins when a message is received by your Telegram bot. A Switch node then directs the data based on the message type: Text: The message is formatted and sent directly to the main AI agent. Voice: The audio file is downloaded from Telegram and transcribed into text using the OpenAI API. Image: The image is downloaded and analyzed by an OpenAI vision model to understand its content. Document: The file is downloaded and its content is stored in a temporary vector store, making it searchable for the AI. The processed input is then passed to the core "J.A.R.V.I.S." Agent node. This agent uses an OpenAI model, conversational memory, and a suite of tools (Google Search, Web Scraper, Image Generator, Calculator, and the document vector store) to formulate a response. Finally, the workflow checks if the initial message was a voice note; if so, it generates an audio response. Otherwise, it sends the answer as a text message back to the user. π οΈ How to set up Telegram: Create a Telegram Bot - Use @BotFather to create a bot and obtain your bot token; Add Telegram API credentials in n8n with your bot token to the Receive Message Trigger node and all other Telegram nodes. In the Receive Message node, enter the chatId of the user or group authorized to interact with the bot. OpenAI: Add your OpenAI API credentials to all OpenAI, AI Agent, and AI tool nodes. SerpAPI: Add your SerpAPI credentials to the Basic Google Search node to enable web search functionality. Jina AI: Add your Jina AI API key to the Setup Node - The API Key is used on the Webpage Scraper node. β Requirements Telegram Bot API credentials and Bot token. OpenAI API credentials. SerpAPI API credentials. Jina.ai API credentials π¨ How to customize the workflow Change the AI model: You can select a different OpenAI model in the OpenAI Chat Model node (e.g., switch from gpt-4.1 to gpt-4o) or in the Analyze Image and Transcribe nodes. Modify the AI's personality: Edit the system prompt in the J.A.R.V.I.S. Agent node to change its name, tone, instructions, or default language. Expand its tools: Connect more tools to the J.A.R.V.I.S. Agent node to extend its capabilities, such as connecting to a database or another third-party API. Adjust the response format: Modify the If Audio Response node to change the conditions for sending text or audio messages. For example, you could configure it to always respond with text. π¬ Need Help? Join the Discord or ask in the Forum
Automate blog post publishing from Airtable to Hashnode with API integration
π Automated Blog Post Publishing from Airtable to Hashnode This workflow streamlines your content publishing process by automatically creating draft blog posts on Hashnode from content stored in Airtable. Perfect for content creators, marketing teams, and developers who want to maintain a consistent publishing schedule while managing multiple Hashnode publications from a centralized database. π― Who's it for Content creators managing multiple blog publications Marketing teams coordinating content across different Hashnode accounts Developers looking to automate their technical blog publishing workflow Agencies managing content for multiple clients on Hashnode βοΈ How it works The workflow operates in a simple 7-step process: Retrieves unpublished posts from your Airtable database (filtered by "Not Published" status) Processes each post individually using a loop to handle multiple posts Fetches the publication ID from Hashnode using the provided domain Validates the publication exists before proceeding with post creation Creates draft posts on Hashnode with the title and markdown content Updates post status to "Published" in Airtable upon successful creation Handles errors by marking failed posts with "Error" status for easy troubleshooting π Requirements Airtable Setup: Your Airtable table must include these columns: Title - The blog post title Content_markdown - Full blog post content in Markdown format Hashnode_Token - Your Hashnode API authentication token HashNodePublicationDomain - Your publication's domain (e.g., "yourblog.hashnode.dev") Status - Publication status ("Not Published", "Published", or "Error") Hashnode Requirements: Valid Hashnode account with API access Publication domain configured API token with draft creation permissions π§ How to set up Configure Airtable credentials in the "Get Posts" and "Update Post" nodes Set your Airtable base and table IDs to match your setup Ensure your Airtable table contains all required columns listed above Add your content with status "Not Published" to trigger the workflow Test the workflow with a single post before processing multiple items π¨ How to customize the workflow Modify the filter criteria in the "Get Posts" node to target different post statuses Add content validation before posting (word count, required fields, etc.) Include post scheduling by adding date/time conditions Extend with notifications using Slack, Discord, or email nodes Add SEO optimization by including meta descriptions and tags Create published post tracking by storing Hashnode draft IDs in Airtable π‘ Need Help? Join the Discord or ask in the Forum!
Generate B2B leads from any city & business type using GMaps, Jina.ai & GPT-5
B2B Leads Gen - ANY (CITY / BUSINESS) IN THE WORLD π€ Generate B2B sales leads from Google Maps, enrich data (email) with AI Agent + Jina.ai and save to Airtable. This workflow generates comprehensive B2B leads, from a selected Business type in ANY CITY IN THE WORLD, including: Company name; Website; Email (enriched with AI Agent); Phone number; Address; Main Language; Google Maps location. More information can be added! It starts by searching for a specific business type in any city you define. First, it uses an AI agent to build an optimized query for the Official Google Places (GMaps) API. After finding businesses and their basic details, it employs a second, specialized AI web scraping agent to visit each company's website and find a contact email. Finally, all enriched lead data is neatly organized and saved to an Airtable base. π€ Who's it for This workflow is designed for: Sales and Business Development Teams looking to automate lead generation and build targeted outreach lists. Marketing Professionals who need to gather contact information for campaigns. Freelancers and Agencies offering lead generation as a service. Anyone who wants to save time on manually searching for business information online. βοΈ How it works This workflow automates the entire lead generation process from start to finish: Trigger with a Form: The workflow starts when you fill out a simple form, providing the Country, City, and Business Type you want to target. AI-Powered Search Query: An AI agent validates your input and constructs an optimized search query for the Google Places API to ensure the best possible results. Find Businesses on Google Maps: Using the generated query, the workflow makes an HTTP request to the Google Places API, fetching up to 20 businesses that match your criteria. Filter for Quality Leads: It processes the results and filters out any businesses that are not listed as "OPERATIONAL" or do not have a website, ensuring you only get relevant leads. AI Email Enrichment: For each valid business, a specialized web scraping AI agent (using Jina AI) visits the company's website. It intelligently navigates the site, following links like /contact or /about, to find a contact email address. Save to Airtable: Once a business's information is enriched with an email, the workflow saves the complete lead as a new record in your specified Airtable base. π How to set up Follow these steps to get your automated lead generation engine up and running. Create your Airtable Base First, create a new Airtable base with a table to store your leads. The workflow is configured to map data to the following fields. It's recommended to use these exact names and types for a seamless setup. | Field Name | Field Type | Description | | ------------------------- | -------------------- | ------------------------------------------------- | | Company_name | Single line text | The name of the business. | | Company_website | URL | The business's website URL. | | Company_e-mail | Email | The contact email found by the AI scraper. | | Company_address | Long text | The full physical address of the business. | | Company_phone | Phone number | The business's international phone number. | | Primary_type | Single line text | The primary business category from Google Maps. | | Googlemapslocation | URL | A direct link to the business on Google Maps. | | processed | Single select | A status field, set to "no" by default. | | create_date | Date ISO (24h) | Automatically records when the lead was added. | | Language_code | Single line text | The language code of the business name (e.g., en).| Configure the Workflow Add Credentials: Airtable: Add your Airtable Personal Access Token in Credentials > New > Airtable. OpenAI: Add your OpenAI API key in Credentials > New > OpenAI. Jina AI: Add your Jina AI API key in Credentials > New > Jina AI. Set API Keys and Airtable Info: In the workflow, find the Places\API\Key node (a Set node) and paste your Google Places API key into the Value field for the googleplacesapi variable. Select the Create a record node (Airtable). In the parameters, select your Airtable credential. For the Base and Table parameters, select the base and table you created in the previous step. Activate and Launch: Save and activate the workflow. To run it, click "Execute Workflow" and use the form trigger that appears. β Requirements An n8n instance. An Airtable (free) account. A Google Cloud Platform account with the Places API enabled. See manual (Google Places API Setup Guide) for full instructions. An OpenAI account and API key. A Jina AI account and API key. π¨ How to customize the workflow Adjust the Number of Leads: In the Google Places Search (HTTP Request) node, you can change the pageSize value in the JSON Body to fetch more or fewer than 20 results per execution. Be mindful of Google's API limits. Change the AI Model: The workflow uses OpenAI by default. You can swap the GPT-5-mini nodes for other language models like Anthropic, Google Gemini, or a local AI model. Add Different Outputs: The workflow includes disabled nodes to save leads to an Excel file (Convert to File) or send a notification to Slack (Finish message). Enable and configure them to add more outputs. You can also replace Airtable with Google Sheets, a CRM, or a database. Modify the Scraping Agent: You can edit the prompt in the Web Scraping Agent node to change its behavior. For example, you could instruct it to look for a specific job title's email, a phone number, or other information on the website. π Need Help? Need a Professional and Personalized automation Contact me DevQuick If you have any questions or get stuck, feel free to ask for help in our community. Join the Discord or ask in the Forum
Generate and research sales leads with Jina AI & OpenAI email automation via Gmail
Whoβs it for Generate personalized sales leads, ready-to-send, HTML-formatted emails, and send them automatically. This workflow is ideal for sales professionals, marketers, and business development teams aiming to scale their outreach. By automating the tedious tasks of research and email drafting, you can focus on building relationships and closing deals. How it works This workflow automates the process of finding sales leads and drafting personalized emails. It starts by pulling a list of unprocessed companies from an Airtable base. For each company, it uses Jina DeepSearch to find key decision-makers, their roles, and email addresses. An AI agent then analyzes the research to identify the best contact and creates a custom, professional cold email. The email's content and subject are evaluated by a second AI agent, which assigns a score from 0-100. If the email scores below 80, it's sent to an Email Re-writer agent for improvement before being evaluated again. Finally, the workflow formats the polished email into an HTML draft in Gmail and updates the Airtable record with the lead information and the outcome. --- How to set up Airtable: Create your Airtable credentials here. Set up an Airtable base with a table that includes the following columns: Companyname, Companywebsite, Companye-mail, processed, leadname, leademail, emailsubject, emailtext, emailsummary, createdate and a taskresult column. Jina AI: Get an API key from Jina AI and add it to the JinaAPIKey node. You can find more information here. Gmail: Connect your Gmail account using the Gmail node to allow the workflow to create email drafts. You can find the documentation for the Gmail node here. OpenAI: This workflow uses the OpenAI nodes (gpt-5-mini model) for the AI agents. You will need to provide your OpenAI API credentials. You can find the API documentation here. Business Info: Fill in your company's information in the Business_Info node, including your business name, description, key benefits, website URL, target audience, and the desired email language. --- Requirements An n8n account Airtable API Key and a base with lead data. Jina AI API Key for the deep search functionality. OpenAI API Key to power the AI agents. A Gmail account connected to n8n. --- How to customize the workflow Changing the Score Threshold: The If node is set to a threshold of 80. You can change this to a higher or lower number to control which emails are re-written. Database Integration: Instead of Airtable, you can use a different database like Google Sheets or a CRM by swapping out the Airtable nodes for the corresponding integration nodes. Email Sending: The workflow currently creates drafts in Gmail. You can easily modify the Gmail node to send the emails directly instead of creating drafts, but be cautious with this approach to avoid sending unwanted emails. --- Need a Professional and Personalized automation Contact me Need Help? Join the Discord or ask in the Forum!