Abbas Ali
Automation Engineer passionate about building smart, scalable workflows with n8n. I specialize in API integrations, webhook handling, and streamlining business tasks using low-code tools. From AI-powered bots to real-time data pipelines, I love solving problems with automation. Let’s turn manual processes into efficient systems!
Templates by Abbas Ali
Auto Germany apartment search & apply with Immobilienscout24 & Google Services
This n8n workflow automatically finds apartments for rent in Germany, filters them by your city, rent budget, and number of rooms, and applies to them via email. Each application includes: A personalized German cover letter Schufa report (fetched dynamically from Google Drive) Recent salary slips (also fetched from Google Drive) The workflow runs daily at a scheduled time, emails landlords or agencies automatically, and logs every application into a Google Sheet for tracking. How It Works Scheduled Trigger – Runs every day at 9 AM (adjustable). Fetch Listings – Uses immobilienscout24 API (or similar) to pull rental listings for your selected city. Filter Listings – Keeps only listings matching your CITY, MAX_RENT, and ROOMS settings. Fetch Documents – Retrieves your Schufa report and salary slips from Google Drive (no need for local hosting). Generate Cover Letter – Creates a personalized German-language letter per apartment. Send Email Application – Sends the email to the landlord or agent with cover letter + documents attached. Log Applications – Saves each application (title, address, rent, date) in a Google Sheet. How to Use Import the workflow JSON into n8n. Set environment variables in n8n (for security): immobilienscout24_TOKEN: Your immobilienscout24 API token immobilienscout24LISTINGACTOR: Actor ID for your preferred rental listing scraper (or custom) MY_EMAIL: Your sender email address (SMTP configured in n8n) SCHUFAFILEID: Google Drive File ID for your Schufa PDF SALARYFILEID: Google Drive File ID for your Salary Slips PDF APPLICATIONSHEETID: Google Sheet ID to log applications Authenticate Google Drive and Google Sheets (OAuth2 in n8n). Customize search filters in the Set Config node: CITY (e.g., Berlin) MAX_RENT (e.g., 1200) ROOMS (e.g., 2) Activate the workflow – It will run daily at the configured time and send applications automatically. Check your Google Sheet – Every application will be logged for tracking. Requirements An immobilienscout24 account (or another apartment listing API, can be substituted). A Google account (for Drive and Sheets integration). A Schufa report (PDF) uploaded to Google Drive. Recent salary slips (PDF) uploaded to Google Drive. An SMTP-configured email account for sending applications. n8n instance (self-hosted or cloud) with: Google Drive and Google Sheets credentials configured Environment variables set for tokens and file IDs A working email SMTP setup
Generate and send contract documents with Typeform, Google Docs and Gmail
This workflow is designed for teams or freelancers who want to auto-generate and send contracts based on information gathered from a Typeform (e.g., client name, project scope, deadlines). Perfect for HR onboarding, client agreements, or legal operations. Prerequisites To use this workflow, you’ll need: A Typeform account and a published form Access to Google Docs (or use a local document template) Gmail or SMTP email integration in n8n n8n Desktop or a hosted n8n instance How It Works Trigger: Listens for new Typeform submissions. Extract Data: Parses the answers from the form. Generate Contract: Fills a contract template using form inputs. Create PDF: Exports the filled contract as a PDF. Send Email: Sends the PDF to the client’s email address provided in the form. Nodes Used Typeform Trigger – Triggers on form submission. Set Node – Maps form answers into variables. Google Docs (or HTTP Request) – Uses a template to generate the contract. Google Drive / PDF Converter – Converts to PDF (if needed). Email (Gmail/SMTP) – Sends the completed contract to the recipient. Tips Replace the Google Docs template ID with your own. Ensure the variable placeholders (like {{client_name}}) match your document. Use the Cron node instead of Typeform Trigger if you want to poll periodically.