AutomationFlowsAI & RAG › Sell a Used Car with an AI Agent in Airtop

Sell a Used Car with an AI Agent in Airtop

ByAirtop @cesar-at-airtop on n8n.io

Selling a used car traditionally involves tedious manual steps: listing your vehicle online, filling repetitive forms, answering buyer inquiries, and comparing multiple offers—often leading to lost time, inaccuracies, and missed opportunities. Dealers' platforms and marketplace…

Event trigger★★★★☆ complexity14 nodesAirtop
AI & RAG Trigger: Event Nodes: 14 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #3483 — we link there as the canonical source.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "ViCY8FzVGcRsxVcK",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Sell a Used Car",
  "tags": [
    {
      "id": "a8B9vqj0vNLXcKVQ",
      "name": "template",
      "createdAt": "2025-04-04T15:38:37.785Z",
      "updatedAt": "2025-04-04T15:38:37.785Z"
    }
  ],
  "nodes": [
    {
      "id": "282a99b3-986e-4e3e-a673-f100ebcbc7cc",
      "name": "When clicking \u2018Test workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -20,
        150
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "57d4671a-b782-46f1-8987-3100a2841aa4",
      "name": "Variables",
      "type": "n8n-nodes-base.set",
      "position": [
        200,
        150
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "3c71f7f7-072c-47a0-8fa3-67c272d40e1c",
              "name": "car_description",
              "type": "string",
              "value": "VIN:\u00a01FTRF17253NB81140  Milage: 221081  Zip code: 01952  Condition: Perfect, no interior or exterior damages, all tires are inflated, have 2 keys, working battery, has and attached catalytic converter, Airbags not deployed, No flood or fire damage. Ownership: full clean title with no debt answer yes to all other questions"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "5ab2351d-08f5-46b6-b790-3c388572a4ae",
      "name": "Wait 7 secs",
      "type": "n8n-nodes-base.wait",
      "position": [
        1080,
        150
      ],
      "parameters": {
        "amount": 7
      },
      "typeVersion": 1.1
    },
    {
      "id": "038a36e2-ed4e-4675-b933-3e3564cb8dc0",
      "name": "Parse response",
      "type": "n8n-nodes-base.code",
      "position": [
        1740,
        -100
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "const sessionId = $json.sessionId\nconst windowId = $json.windowId\nconst response = JSON.parse($json.data.modelResponse)\n\nreturn { json: {\n  sessionId,\n  windowId,\n  response\n}}"
      },
      "typeVersion": 2
    },
    {
      "id": "1017f269-03ea-4cd6-866c-b91539a05844",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        1960,
        -100
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "Type",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "b35db1bb-6e63-4dee-be52-658d1b78fbbb",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "leftValue": "={{ $json.response.action }}",
                    "rightValue": "TYPE"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Click",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "c4710a65-293c-4df4-a716-3004ae885362",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "leftValue": "={{ $json.response.action }}",
                    "rightValue": "CLICK"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Got price",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "e83a9d67-a55e-4272-9410-6a79e397b291",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "leftValue": "={{ $json.response.action }}",
                    "rightValue": "PRICE"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "a0c966af-1555-4837-a700-d2ebdc0628fa",
      "name": "Offer received",
      "type": "n8n-nodes-base.set",
      "position": [
        2180,
        200
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "0b75e600-36e1-4d31-bd6a-0cb9955611fc",
              "name": "Offer_price",
              "type": "string",
              "value": "={{ $json.response.question }}"
            },
            {
              "id": "5f13d212-852c-466a-97fb-d776491b06ea",
              "name": "Offer_id",
              "type": "string",
              "value": "={{ $json.response.element }}"
            },
            {
              "id": "af0e7609-85e2-4243-a1b1-52627783fbea",
              "name": "Offer_URL",
              "type": "string",
              "value": "={{ $json.response.text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "a0a4c48a-568b-4ad4-9e18-a7e1167d2b06",
      "name": "Type",
      "type": "n8n-nodes-base.airtop",
      "onError": "continueRegularOutput",
      "position": [
        2180,
        -200
      ],
      "parameters": {
        "text": "={{ $json.response.text }}",
        "resource": "interaction",
        "operation": "type",
        "pressEnterKey": true,
        "additionalFields": {
          "visualScope": "viewport"
        },
        "elementDescription": "={{ $json.response.element }}"
      },
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3dfe1739-0c68-4d66-96f0-ee6999cf7cbb",
      "name": "Click",
      "type": "n8n-nodes-base.airtop",
      "onError": "continueRegularOutput",
      "position": [
        2180,
        0
      ],
      "parameters": {
        "resource": "interaction",
        "additionalFields": {
          "visualScope": "viewport"
        },
        "elementDescription": "={{ $json.response.element }}"
      },
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "058544cb-a5d0-4e9d-bc95-a351a7432f09",
      "name": "Create session",
      "type": "n8n-nodes-base.airtop",
      "position": [
        420,
        150
      ],
      "parameters": {},
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0418f412-c5e0-409c-93a6-45b281034711",
      "name": "Load website",
      "type": "n8n-nodes-base.airtop",
      "position": [
        640,
        150
      ],
      "parameters": {
        "url": "https://sell.peddle.com/instant-offer",
        "resource": "window",
        "additionalFields": {
          "waitUntil": "domContentLoaded"
        }
      },
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "39fdcead-1709-4648-8660-575055e82284",
      "name": "Click VIN button",
      "type": "n8n-nodes-base.airtop",
      "position": [
        860,
        150
      ],
      "parameters": {
        "resource": "interaction",
        "additionalFields": {},
        "elementDescription": "Rounded white button \"Autofill with VIN\""
      },
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "74f40e8f-e6cd-4738-b98a-6871c1d75654",
      "name": "Terminate session",
      "type": "n8n-nodes-base.airtop",
      "position": [
        2400,
        200
      ],
      "parameters": {
        "operation": "terminate",
        "sessionId": "={{ $('Create session').last().json.sessionId }}"
      },
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "777542c9-c926-4d06-ad8a-2a0c43258a7d",
      "name": "Take screenshot",
      "type": "n8n-nodes-base.airtop",
      "notes": "Useful to validate the current screen the agent is on",
      "position": [
        1300,
        -100
      ],
      "parameters": {
        "resource": "window",
        "operation": "takeScreenshot"
      },
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "notesInFlow": true,
      "typeVersion": 1
    },
    {
      "id": "e5442c98-7382-45ef-b810-c4b8ae4cf999",
      "name": "Think next action",
      "type": "n8n-nodes-base.airtop",
      "position": [
        1520,
        -100
      ],
      "parameters": {
        "prompt": "=You are trying to get an estimate for a used car price or a purchase offer. Your task is to answer the main question presented to the user on this screen, based on the car information below, until you will get a price estimate or offer to purchase (\"We'd love to buy your car...\"). \n\nReview this page:\nIf there is a question, extract the main question presented to the user on this screen. Return your answer in the following format:\nQuestion: the main question presented to the user on this screen\nAction: <CLICK> or <TYPE>\nElement: description of the text box to type in or button to click, for example VIN text box or Yes button\nText: <Text to type> (if TYPE operation)\n\nIf the page includes the price estimate or offer to purchase, extract the price (offer_price), the offer ID (offer_id) and current page URL (page_url) and return the following:\nQuestion:  <offer_price>\nAction: <PRICE>\nElement: <offer_id>\nText: <page_url>\n\nIf there is no price estimate or offer to purchase and the Next button at the bottom is yellow and clickable, return the following:\nQuestion:  <Next>\nAction: <CLIICK>\nElement: Yellow Next Button at the bottom\nText: \n\nHere's the info about the car:\u00a0\n{{ $('Variables').item.json.car_description }}",
        "resource": "extraction",
        "operation": "query",
        "additionalFields": {
          "outputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"question\": {\n      \"type\": \"string\",\n      \"description\": \"The main question presented to the user on the screen.\"\n    },\n    \"action\": {\n      \"type\": \"string\",\n      \"description\": \"The action to be performed, either clicking a button or typing in a text box.\"\n    },\n    \"element\": {\n      \"type\": \"string\",\n      \"description\": \"Description of the text box to type in or button to click.\"\n    },\n    \"text\": {\n      \"type\": \"string\",\n      \"description\": \"Text to type if the action is TYPE.\"\n    }\n  },\n  \"required\": [\n    \"question\",\n    \"action\",\n    \"element\",\n    \"text\"\n  ],\n  \"additionalProperties\": false,\n  \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n}",
          "includeVisualAnalysis": true
        }
      },
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "7ad89f7e-cdbc-4ec4-b5a9-cc724677be15",
  "connections": {
    "Type": {
      "main": [
        [
          {
            "node": "Wait 7 secs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Click": {
      "main": [
        [
          {
            "node": "Wait 7 secs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "Type",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Click",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Offer received",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Variables": {
      "main": [
        [
          {
            "node": "Create session",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 7 secs": {
      "main": [
        [
          {
            "node": "Take screenshot",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Load website": {
      "main": [
        [
          {
            "node": "Click VIN button",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create session": {
      "main": [
        [
          {
            "node": "Load website",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Offer received": {
      "main": [
        [
          {
            "node": "Terminate session",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse response": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Take screenshot": {
      "main": [
        [
          {
            "node": "Think next action",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Click VIN button": {
      "main": [
        [
          {
            "node": "Wait 7 secs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Think next action": {
      "main": [
        [
          {
            "node": "Parse response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Selling a used car traditionally involves tedious manual steps: listing your vehicle online, filling repetitive forms, answering buyer inquiries, and comparing multiple offers—often leading to lost time, inaccuracies, and missed opportunities. Dealers' platforms and marketplace…

Source: https://n8n.io/workflows/3483/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This workflow is designed for professionals and teams seeking to scale their B2B research with comprehensive company intelligence. It automates the full prospect analysis process — from extracting con

Hunter, HTTP Request, Airtop +6
AI & RAG

This workflow automatically analyzes a website for UX and SEO quality. It uses Airtop for realistic web scraping, OpenAI for structured evaluation of metadata (title, description, and overall SEO sign

Airtop Tool, Form Trigger, OpenAI Chat +6
AI & RAG

Ultimate Browser Agent. Uses airtopTool, slack, airtop, executeWorkflowTrigger. Event-driven trigger; 24 nodes.

Airtop Tool, Slack, Airtop +8
AI & RAG

It’s a fully structured workflow for anyone who needs to analyze Instagram profiles at scale, with AI, and keep everything tracked and organized — no manual effort, no copy-paste, and total control ov

Airtop, Output Parser Autofixing, OpenAI Chat +4
AI & RAG

Checking Instagram Profiles with AI Agent. Uses airtop, outputParserAutofixing, lmChatOpenAi, outputParserStructured. Event-driven trigger; 24 nodes.

Airtop, Output Parser Autofixing, OpenAI Chat +4