Marketplace
3,557 ready-made workflow files you can download, plus 10,661 source-linked n8n references.
Generate llms.txt from a website sitemap using forms and HTTP requests
Quick overview This workflow uses an n8n Form and HTTP requests to read a website sitemap, fetch each listed page, extract the page title and meta description, and generate an llms.txt file that you can preview, copy, or download. How it works Receives a form submission with the site name, site description, sitemap URL, and a maximum page limit. Fetches the sitemap XML and, if it is a sitemap index, extracts the child sitemap URLs. Fetches each leaf sitemap and extracts, deduplicates, and caps page URLs while grouping them into sections based on the first URL path segment. Requests each page’s HTML content and continues even if some pages fail to load. Extracts the HTML title and meta description (or falls back to a title derived from the URL), then compiles the results into a sectioned llms.txt markdown file. Renders a completion page that displays the generated llms.txt content and provides Copy and Download actions. Setup Copy the n8n Form URL from the Form Trigger node and open it in your browser (or use the test form in the editor). Submit your site name, sitemap URL, and optionally a site description and max pages value. Upload the downloaded or copied llms.txt file to your w
Calculate profit margin and markup with interactive web forms
Quick Overview This workflow exposes an n8n Form that calculates a product’s selling price from cost, tax, and marketplace fees using either a target profit margin or a target markup, then displays the resulting price, profit, margin, and markup (or a validation error) and lets users return to the form. How it works Receives an n8n Form submission with product cost, tax percentage, fee percentage, a desired value, and a chosen calculation method (Profit Margin or Markup). Validates that product cost is greater than 0 and that tax and fee percentages are 0 or higher, otherwise shows an error result page. Routes the request based on the selected method (Profit Margin vs Markup). For Profit Margin, verifies that tax + fee + desired margin is less than 100%, calculates selling price and profit, and shows the results page. For Markup, verifies that the markup is 0% or higher, calculates selling price, profit, and the resulting profit margin, and shows the results page. After any results or error page, redirects the user back to the initial form using the configured form URL. Setup Activate the workflow and open the Form Trigger node to copy its Production URL. Paste that Production URL
Coach fitness and nutrition on Telegram with Claude, Google Sheets and Calendar
Quick overview This workflow turns a Telegram bot into a fitness and nutrition coach powered by Anthropic Claude, with voice-note transcription via OpenAI, user data stored in Google Sheets, and optional workout scheduling in Google Calendar. How it works Triggers when a new Telegram message arrives in your bot chat. If the message is a voice note, it downloads the audio from Telegram and transcribes it with OpenAI. Normalizes the incoming text or transcript into common fields (message, chat ID, and current date). Uses an Anthropic Claude agent with session memory to interpret the request and generate a coaching response. When needed, the agent reads and updates the user profile, logs workouts, logs meals with estimated macros, and reads/saves weekly plans in Google Sheets. When the user asks to schedule training, it creates a workout event in Google Calendar. Sends the coach’s reply back to the user in Telegram. Setup Add Telegram bot credentials (BotFather token) for receiving messages, downloading voice notes, and sending replies. Add an OpenAI API credential for audio transcription and an Anthropic credential for the Claude chat model. Add Google Sheets OAuth2 credentials and s
Monitor new template releases with OpenAI and log insights to Telegram and Google Sheets
Quick overview This workflow runs daily to check the public n8n Templates API for newly published templates in a chosen category, generates improvement suggestions with OpenAI, logs each new template to Google Sheets, and sends a Telegram digest (with an optional all-clear message when nothing new is found). How it works Runs every day at 9 AM on a schedule. Fetches the latest templates for the configured category from the n8n Templates API. Extracts key metadata for each template and compares template IDs against a stored “seen” list to detect newly published items. For each new template, sends its details to an OpenAI chat model to generate 4–6 business-focused improvement tips. Appends one row per new template (including the AI tips and metadata) to a Google Sheets spreadsheet. Builds a combined digest of all new templates and posts it to a Telegram chat, or sends an optional all-clear message when no new templates are found. Setup Add an OpenAI API credential and select the model to use for the analysis. Add a Google Sheets OAuth credential, then choose the target spreadsheet and sheet tab and ensure the header columns match the fields being appended. Add a Telegram bot credent
Sync Monday.com board groups and tasks to Airtable using a sub-workflow
Quick Overview This workflow manually fetches all Monday.com boards, retrieves each board’s groups and tasks, and syncs the task details into Airtable using a delegated sub-workflow pattern. How it works Starts manually to initiate the sync. Fetches all boards from Monday.com and iterates through them in batches. For each board, pulls all board groups from Monday.com and enriches each group with board context (ID, name, state, owners, and metadata). Sends the group list to an execute-workflow trigger as a sub-workflow and waits for it to finish processing. In the sub-workflow, flattens the incoming groups into individual group records and iterates through them. For each group, fetches all Monday.com items in that group, formats key fields (owner, status, type, and story points), and upserts them into an Airtable table using “Monday Task ID” as the unique key. Returns a success message to the parent workflow and aggregates per-board sub-workflow results into a combined output. Setup Add Monday.com API credentials with permission to read boards, groups, and items. Add an Airtable Personal Access Token and select the target base and table for upserts. Ensure your Airtable table has fi
Extract invoice data into Google Sheets with LDX hub AnalyzeDoc Gemini
Quick overview This workflow collects an invoice PDF or image through an n8n form, uses LDX hub AnalyzeDoc (Gemini) to extract key invoice fields as JSON, and appends the results as a new row in Google Sheets. How it works Receives an invoice file upload (PDF/JPG/PNG) through an n8n form submission. Sends the uploaded document to LDX hub AnalyzeDoc (google/gemini-3.5-flash) with a prompt that extracts invoice metadata, parties, dates, and amounts into a JSON schema. Parses the extracted JSON into structured fields for downstream use. Appends the extracted invoice fields as a new row in the selected Google Sheets spreadsheet and worksheet. Setup Install the community node package n8n-nodes-ldxhub and create an LDXhub API credential (API key) for the AnalyzeDoc node. Add a Google Sheets OAuth2 credential and select the target spreadsheet and sheet in the Google Sheets append step. Create a header row in your Google Sheet that matches the extracted fields (invoice_number, issue_date, due_date, vendor_name, vendor_address, vendor_tax_id, bill_to, subtotal, tax, total, currency, payment_terms) so auto-mapping writes to the correct columns.
Qualify WhatsApp real estate leads with Gemini and Supabase
Quick overview This workflow triggers on incoming WhatsApp messages, uses Google Gemini to extract and score real estate lead details, stores each lead in Supabase, and sends a WhatsApp alert to the agent only for high-intent inquiries based on configurable score thresholds. How it works Triggers when a new WhatsApp message is received via the WhatsApp Business Cloud API. Pulls the sender name, phone number, and message text and applies your configured scoring thresholds and agent contact number. Sends the message to Google Gemini to extract structured lead details (budget range, property type, location preference, timeline, and intent score). Inserts the extracted lead data into a Supabase leads table for tracking. Routes the lead based on the intent score and sends a formatted WhatsApp message to the agent for high-intent leads. Leaves medium- and low-intent leads logged in Supabase without sending an agent alert. Setup Connect WhatsApp Business Cloud API credentials for both the incoming-message trigger and the WhatsApp send action, and activate the workflow to generate the webhook for your WhatsApp app. Add a Google Gemini (PaLM) API credential for the Gemini chat model. Add a
Handle LinkedIn inbox RAG replies with Unipile, Claude, Pinecone, and Airtable
Quick overview Automatically ingest your knowledge base, monitor your LinkedIn company page inbox, and reply to leads and customers with AI-drafted, source-grounded answers. Classifies every message, checks for spam, drafts replies using Claude and Pinecone RAG, and lets you auto-send or review each reply in Airtable. How it works A Google Drive trigger watches a folder for new or updated documents, downloading each file automatically as it's added. Each document is split into chunks, embedded, and upserted into a Pinecone vector index, building a searchable company knowledge base. A webhook receives every new LinkedIn message sent to your company page via Unipile, filtering out messages you sent yourself. The last few messages in the conversation are fetched and formatted into a chronological transcript for context. An AI agent classifies the message's intent (lead, support, partnership, recruiting, spam, or other) using shared conversation memory. A second AI agent drafts a reply, searching the Pinecone knowledge base for relevant facts before answering, and saves the draft to Airtable. Depending on a configurable auto-send toggle, the reply is sent immediately via Unipile, or he
Generate branded social captions and images with OpenAI and PostFast
Quick Overview This workflow runs three times a week to generate a branded social caption and AI image with OpenAI, then uploads the image via PostFast pre-signed URLs and schedules the post across selected connected social accounts. How it works Runs on a schedule every Monday, Wednesday, and Friday at 7am. Loads the brand name, image style, topic list, and a platform filter used for the current run. Fetches connected social media accounts from PostFast and keeps only accounts that match the selected platforms. Uses OpenAI (gpt-4o-mini) to generate a JSON response containing a caption and a matching image prompt. Requests pre-signed PostFast upload URLs (one per target account) and uses OpenAI (gpt-image-1) to render a 1024×1024 PNG image. Uploads the image to the provided S3 URLs and schedules a PostFast post per account with the caption and the corresponding uploaded media key for one hour later. Setup Install and enable the verified PostFast community node (n8n-nodes-postfast) and add your PostFast API key credentials. Add your OpenAI credentials for both the text generation (gpt-4o-mini) and image generation (gpt-image-1) steps. Update the brand name, image style, topic list,
Triage support tickets with OpenRouter (OpenAI o3-mini) and ClickUp
Quick overview This workflow collects support tickets via an n8n form, uses OpenRouter (OpenAI o3-mini) to assess priority, severity, impact, and suggested diagnostics, and then creates a formatted task in ClickUp with the AI-generated incident details. How it works Receives a new ticket submission through an n8n form with subject, description, company, name, and email. Normalizes the submitted fields into a consistent ticket payload (customer name/email, subject, and description). Validates that the ticket has a description and that the email address contains an “@” symbol. Sends the ticket subject and description to OpenRouter (OpenAI o3-mini) to generate incident metadata, priority (1–4), impact, severity, affected service, and recommended diagnostics and next steps in structured JSON. Creates a new task in ClickUp using the ticket subject as the task name and adding the customer details plus the AI assessment and recommendations to the task description. Setup Create or select an n8n Form Trigger and share the form URL with users who should be able to submit tickets (configure any access restrictions as needed). Add an OpenRouter credential to the OpenRouter chat model node and
Generate daily LinkedIn B2B leads with DataForB2B and LinkUp
Quick overview Automate B2B lead generation on autopilot: every weekday morning, DataForB2B finds fresh leads matching your ICP (800M+ profiles, 50+ filters), skips anyone already contacted, and sends up to 10 personalized LinkedIn connection requests per day via LinkUp API - with safe, human-like limits. How it works Runs every weekday at 9:00 AM using a schedule trigger. Searches for people matching your ICP in DataForB2B (for example, “Head of Sales” in the United States) and returns up to 25 results. Normalizes the lead data into consistent fields such as LinkedIn profile URL, name, title, company, and location. Skips leads whose LinkedIn URLs were already processed in previous executions to avoid re-contacting the same profiles. Limits the list to a daily cap of 10 leads. Sends a personalized connection request for each remaining lead using the LinkUp API, continuing even if individual invites fail. Setup Create a DataForB2B API key at app.dataforb2b.ai and adjust the people filters to match your ICP. Get your LinkUp API key at app.linkupapi.com and connect your account in the LinkUp dashboard. Update the schedule (cron expression) if you want a different time or cadence. Cust
Create on-model Shopify product photos with Dreem AI and Slack approvals
Quick overview This workflow fires when a new Shopify product is created, renders it on a virtual model with Dreem.ai, and appends the shot back to the product - with optional Slack posting and approval. How it works A Shopify webhook fires when a product is created. Products without a photo are skipped. The Dreem node renders the product's first image on your chosen virtual model and pose (400+ talents, 700+ poses). A second product image is used as the back reference for accurate back-facing renders. Dreem renders in the background and calls the workflow back. Optional: enable the disabled Slack nodes for an Approve / Reject step before anything goes live. The on-model shot is appended to the Shopify product, keeping existing photos. Setup Add a Shopify Admin API access token credential with at least read_products and write_products scopes. Install the Dreem community node and add a Dreem API key credential (dreem_pk_...). In the Dreem step, set the talentId and shotCodes you want to use and ensure your products include a front image (and optionally a second image for back reference). (Optional) Add a Slack OAuth2 credential, enable the disabled Slack steps, and select the target
Transcribe and summarize Notion meeting recordings with Gladia
Quick overview This workflow triggers on new meeting entries in a Notion database, sends the recording URL to Gladia for transcription with diarization and summarization, polls until the job completes, and then writes the summary and full transcript back to the same Notion page. How it works Triggers when a new page is added to the selected Notion meetings database. Reads the page’s “Recording URL” and starts an asynchronous transcription job in Gladia with speaker diarization and summarization enabled. Waits for a configured interval and repeatedly checks Gladia for the transcription result until it returns done or the maximum poll attempts is reached. When processing completes, updates the Notion page Status to “Transcribed” and writes the returned summary to the “Summary” property. Splits the full transcript into Notion-safe text chunks and appends them to the meeting page as blocks. If Gladia returns an error or the polling times out, updates the Notion page Status to “Failed” and writes a failure message to the “Summary” property. Setup Use a self-hosted n8n instance and install the n8n-nodes-gladia community node (Settings → Community Nodes). Add credentials for the Notion AP
Build a sound effect library with Google Sheets, ElevenLabs, Google Drive and Slack
Quick overview This workflow runs manually or every 15 minutes to read queued sound-effect prompts from Google Sheets, generate MP3s via the ElevenLabs sound-generation API, upload them to Google Drive, update each row with status and a file link, and post a run recap to Slack. How it works Runs manually or on a 15-minute schedule. Reads all rows from a Google Sheets tab and selects a capped batch where Status is blank or Queued and Description is present, clamping DurationSeconds and PromptInfluence to valid ranges. Sends each selected Description to the ElevenLabs sound-generation API to generate an MP3 file. Uploads the returned MP3 to a specified Google Drive folder using a deterministic filename based on the sheet row. Updates the matching Google Sheets row to Done with the Google Drive link and timestamp, or to Failed with error notes and timestamp if generation or upload fails. Counts how many rows succeeded or failed in the run and posts a one-line recap message to a selected Slack channel. Setup Add an ElevenLabs HTTP Header Auth credential (xi-api-key) and select it in the ElevenLabs request step. Connect Google Sheets OAuth2 credentials and set the spreadsheet and sheet
Transcribe Google Drive audio to markdown with Gladia and Google Sheets
Quick overview This workflow watches a Google Drive folder for new audio files, sends them to Gladia for asynchronous transcription, saves the resulting Markdown transcript back to Google Drive, and appends a success or failure record (with a link and details) to a Google Sheets log. How it works Triggers every minute when a new file is created in a specific Google Drive folder. Downloads the new file from Google Drive and uploads the binary audio to Gladia. Starts a Gladia pre-recorded transcription job and waits a configurable interval before checking status. Polls Gladia for the job result until the status is "done", an error is returned, or the maximum attempt limit is reached. When completed, formats the transcript into a Markdown file (including metadata and speaker utterances when available) and uploads it to a target Google Drive folder. Appends a row to Google Sheets with the timestamp, source file name, duration, status, transcript link, and a short preview, or logs a failure row with the error or timeout reason. Setup Add Google Drive OAuth2 credentials and set the source folder ID to watch and the destination folder ID where transcripts are saved. Create a Gladia HTTP H
Generate sound effect variation packs with ElevenLabs and Google Drive
Quick overview This workflow collects a single sound-effect brief via an n8n form, generates multiple variation takes with the ElevenLabs sound-generation API, and uploads each MP3 into a timestamped Google Drive folder, then returns a results page with links and per-take status. How it works Receives a sound-effect brief (plus optional take count, duration, and prompt influence) from an n8n form submission. Validates and clamps the inputs, plans the requested number of takes with slightly varied prompt influence values, and generates a timestamped subfolder name. Creates a new subfolder in Google Drive under the configured parent output folder for this run. Builds one ElevenLabs sound-generation API request per take and calls ElevenLabs to generate an MP3 for each variation. Uploads each generated MP3 to the run’s Google Drive subfolder and records whether each take succeeded or failed. Displays an HTML completion page that links to the Google Drive folder and lists each take with a file link or error message. Setup Create an ElevenLabs HTTP Header Auth credential that sends your API key as the xi-api-key header and select it in the ElevenLabs request step. Add a Google Drive OAut
Create AI music videos from a prompt with OpenAI, Kie.ai and BeatAPI
Quick overview This workflow collects a music video theme via an n8n form, uses OpenAI to generate music, image, and video prompts, then calls Kie to create an instrumental track and a Nano Banana image, and finally uses BeatAPI to render a publish-ready AI music video. How it works Receives a submission from an n8n Form Trigger with inputs like theme, genre, mood, duration, aspect ratio, and quality. Uses OpenAI (via an AI Agent with a structured output schema) to generate a Suno-style music prompt, an image prompt, a BeatAPI music-video prompt, and YouTube metadata. Sends the generated music prompt and settings to Kie to start audio generation, then polls Kie until the track is ready and validates the duration is within 10–180 seconds. Sends the generated image prompt to Kie (Nano Banana model) to create key art, then polls Kie until an image URL is returned. Creates a BeatAPI AI music video task using the generated audio URL, one or two image URLs (generated image plus optional cover image), and the BeatAPI prompt, then polls BeatAPI until the render succeeds. Returns the final video URL along with YouTube-ready title, description, tags, and provider task IDs in a single publish
Match product manager jobs with Supabase, Anthropic Claude, Adzuna, and Resend
Quick overview This workflow ingests job postings from Greenhouse/Lever/Ashby job boards, Adzuna, and RemoteOK into a Supabase jobs pool, then daily uses Anthropic Claude to score a short list against a single candidate profile and emails the best matches via Resend. How it works Runs every 3 hours to fetch job listings from curated Greenhouse, Lever, and Ashby ATS boards, Adzuna searches, and the RemoteOK API. Parses each source into a common job format (title, company, location, URL, description, and posted date). Deduplicates jobs, drops postings older than 90 days, marks “fresh” jobs, and upserts the results into a Supabase jobs table. Runs daily at 08:00, loads the single role profile and pulls up to 15 fresh jobs from Supabase that roughly match the role keyword. Removes jobs already matched for that role using the Supabase user_job_matches table, then batches the remaining jobs and sends them to Anthropic Claude for fit scoring. Keeps jobs at or above the configured minimum score, saves the new matches back to Supabase, and sends an HTML email digest to the role’s email address via Resend. If any execution fails, an error workflow formats the failure details and sends an ale
Send LemonSqueezy subscription alerts to Slack, Discord, Telegram and log them in Google Sheets
Quick overview Get an alert in Slack, Discord or Telegram within seconds every time a LemonSqueezy subscription is created, cancelled, expires or a payment fails, plus a running log of every event in Google Sheets. How it works Receives a POST webhook from LemonSqueezy with the raw request body. Computes an HMAC signature for the raw body and compares it to LemonSqueezy’s x-signature header, stopping if they don’t match. Parses the webhook JSON and extracts the event name from the headers or payload metadata. Normalizes subscription and payment payloads into flat fields like customer email, product, plan, status, amount, and currency. Appends the normalized event to Google Sheets as an event log. If the event is not subscription_updated, sends an alert message to Slack, Discord, and/or Telegram with the key event details. Setup In LemonSqueezy, create a webhook pointing to this workflow’s Production webhook URL and set a signing secret. Configure the Crypto credential/secret used for the HMAC calculation so it matches your LemonSqueezy webhook signing secret exactly. Set up at least one alert destination: connect Slack OAuth and choose a channel, or provide a Discord webhook URL, o
Protect Gmail AI email workflows from prompt injection with Gemini and Sheets
Quick overview This workflow monitors Gmail for new support-style emails, scans them for prompt-injection signals, and only then sends safe messages to Google Gemini for structured triage. It logs outcomes to Google Sheets and creates Gmail drafts either for a safe reply or for manual human review. How it works Triggers every 5 minutes when a new Gmail message matches the configured query filter. Normalizes the email metadata and cleans the body text to create a consistent input for safety checks. Scores the email for prompt-injection risk using keyword and pattern matching and labels it as safe, review, or high risk. If the email is high risk, it skips Google Gemini, logs the event to Google Sheets, and creates a Gmail draft to request manual review. If the email is safe or review-level, it sends the email (wrapped as untrusted content) to Google Gemini to return a strict JSON triage including summary, intent, requested action, and a safe reply draft. Logs the Gemini results and final safety status to Google Sheets, then creates either a Gmail reply draft to the sender or a Gmail draft for the reviewer when human review is required. Setup Add credentials for Gmail, Google Gemini,
Track asset warranty deadlines with Google Sheets, Gmail, Todoist, Slack, and OpenAI
Quick overview This workflow runs daily to read an asset register from Google Sheets, calculate warranty expiry dates, and escalate upcoming deadlines via Gmail, Slack, and Todoist, while using OpenAI to draft vendor negotiation emails for high-value assets and updating expired items back in the sheet. How it works Runs every day at 08:30. Reads all assets from a Google Sheets register and calculates each item’s warranty expiry date and days remaining from the purchase date and warranty months. For already-expired assets, updates the Google Sheets register to set the status to “warranty expired.” For assets expiring within 7 days, posts an urgent Slack message and creates a Todoist task due on the warranty expiry date. For assets expiring within 30 days, emails the asset owner via Gmail asking them to choose whether to extend, replace, or let the warranty lapse. For 30-day warnings where the asset value is at least 2000, uses OpenAI to draft a vendor warranty-extension negotiation email and saves it as a Gmail draft for review. Setup Create a Google Sheets asset register with columns for asset, owner_email, purchase_date, warranty_months, vendor, value, and status. Add credentials
Score draft content citability with GPT-4o-mini and Google Sheets
Quick overview This workflow manually scores draft content for AI citability using OpenAI GPT-4o-mini and logs detailed, evidence-backed results to Google Sheets, either from pasted draft text or by fetching and cleaning a provided page URL. How it works Starts when you run the workflow manually. The workflow reads drafts from the content tab of your Google Sheet (content_id, title, brand, target_query, draft_text). A Code node validates each row, computes word count, and builds the full judge payload. The complete anchored rubric lives in this node, so the entire scoring methodology is readable in one place. One HTTP call per draft sends the rubric and draft to gpt-4o-mini (temperature 0, JSON mode, retries with backoff). The rubric anchors describe what a 90, 70, 50, and 30 look like on each dimension, so the judge grades against fixed criteria. A second Code node parses the judge output, clamps each score to 0-100, computes the weighted composite (Answer Structure 40%, Entity Clarity 30%, Factual Density 30%), and assigns the verdict band: 80+ publish, 60-79 revise, below 60 rework. Results append to the scores tab with the run date, per-dimension scores, the top 3 fixes, the ju
Enrich Google Maps business leads with Scrapeer and Google Sheets
Quick Overview This workflow runs a saved Scrapeer Google Maps Leads flow on a daily schedule (or manually), enriches each business with detail-page data, and appends the normalized lead fields to a Google Sheets tab. How it works Runs either manually or every day at 08:00 using the schedule trigger. Sets the Google Maps search parameters (search query, location, max results) and the target spreadsheet name for the run. Calls Scrapeer to run a selected Google Maps Leads flow with those input variables and waits for the results. Attaches the original search context to the Scrapeer output for traceability. Parses and deduplicates the returned leads, normalizes fields like rating and review count, and formats phone numbers as sheet-safe text. Appends one row per lead to Google Sheets with columns such as name, category, rating, reviews, address, phone, website, and Google Maps URL. Setup Create (or choose) a Google Sheets spreadsheet with a “Leads” tab and columns: Scraped At, Search Query, Location, Name, Category, Rating, Reviews, Address, Phone, Website, and Google Maps URL. Add a Google Sheets Service Account credential in n8n and select the target spreadsheet and sheet tab in the
Extract business card contacts with LDX hub Gemini AnalyzeDoc and Google Sheets
Quick overview This workflow collects a business card photo/scan through an n8n form, uses LDX hub AnalyzeDoc (Gemini) to extract contact details as structured JSON, and appends the resulting fields as a new row in Google Sheets. How it works Receives a business card file upload (PDF/JPG/PNG) through an n8n form submission. Sends the uploaded file to LDX hub AnalyzeDoc using the Gemini model and a fixed schema prompt to extract contact fields as JSON. Parses the extracted JSON into individual fields like name, company, email, phone numbers, and address. Appends the extracted fields as a single new row in the selected Google Sheets worksheet. Setup Install the community node n8n-nodes-ldxhub and add an LDXhub API credential with your API key. Add a Google Sheets OAuth2 credential and select the target spreadsheet and worksheet in the append step. Create (or match) a header row in your sheet for full_name, job_title, company, department, email, phone, mobile, address, website, notes so the auto-mapping writes to the correct columns.