Files × CRM
Google DriveHubSpotAGNT

Automate Google Drive + HubSpot

Where the documents live — and pile up. The CRM your pipeline reporting depends on. Put an agent between them and the hand-off stops being manual: it reads, decides, acts, and shows its work.

Install Document Extractor → Get AGNT free

Document Extractor is a ready-made agent built around Google Drive; point its last step at HubSpot to finish this hand-off.

Automations teams run

Unlike field-mapping automation, the step in the middle is an agent: it can summarise, classify, judge and draft, not merely copy values from Google Drive into HubSpot.

When a file lands in a folder in Google Drive…

…an agent can create and enrich contacts in HubSpot — after reading the context and deciding it should.

When a doc is updated in Google Drive…

…an agent can update deals and notes in HubSpot — after reading the context and deciding it should.

When a file is shared in Google Drive…

…an agent can log activity in HubSpot — after reading the context and deciding it should.

When a contact or deal is created in HubSpot…

…an agent can read and summarise documents in Google Drive — with the reasoning recorded in the run’s receipt.

When a stage changes in HubSpot…

…an agent can file outputs into folders in Google Drive — with the reasoning recorded in the run’s receipt.

When a form submits in HubSpot…

…an agent can export and convert formats in Google Drive — with the reasoning recorded in the run’s receipt.

The Google Drive and HubSpot hand-off, setup template

Start with the google-drive-api node and a custom-api call to api.hubapi.com. Configure the Google Drive source payload, the agent input, and the HubSpot operation. The sequential template does not implement conditional writes or approval by itself.

Google Drive to HubSpot: run on a schedule → read google drive → review source and draft → call hubspot TRIGGER trigger-timer Run on a schedule Configure activation ACTION google-drive-api Read Google Drive Configure inputs ACTION agnt-agent Review source and draft Configure inputs ACTION custom-api Call HubSpot Configure inputs
Setup template for Google Drive and HubSpot; verify data mapping and authorization using test accounts.
Google Drive → HubSpotSetup template · configure before activation

This is a schema-checked starting point, not an end-to-end tested automation. Replace every CONFIGURE_ value, choose the operations you intend, connect credentials and map source outputs into later inputs. An edge orders steps; it does not supply a condition, an approval gate or a field mapping. Add and test those controls explicitly before any write. Cloud APIs and model providers may receive data. Keep the workflow inactive until tested with fixtures.

{
  "id": "335079b3-fe9f-4fde-af9e-3d5d12fd3954",
  "name": "Google Drive → HubSpot",
  "nodes": [
    {
      "id": "ec6b454d-bd94-4a43-a926-c8a4d81195e6",
      "text": "Run on a schedule",
      "x": 512,
      "y": 144,
      "isEditing": false,
      "type": "trigger-timer",
      "icon": "connect",
      "category": "trigger",
      "isSelected": false,
      "parameters": {
        "fireOnStart": "No",
        "scheduleType": "Interval",
        "schedule": "Every 15 Minutes"
      },
      "description": "Setup template for Timer Trigger. This trigger node fires the workflow at specified intervals or at a specific time. Configure credentials, inputs and output mapping before use.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "7007e231-4046-4e20-a0df-f8ed52b0a098",
      "text": "Read Google Drive",
      "x": 512,
      "y": 336,
      "isEditing": false,
      "type": "google-drive-api",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "action": "LIST_FILES",
        "folderId": "CONFIGURE_FOLDERID"
      },
      "description": "Setup template for Google Drive API. Interact with Google Drive to perform various operations on files and folders. Configure credentials, inputs and output mapping before use.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "0c4ea8ff-0d80-4490-acda-1ecd5b58ee2c",
      "text": "Review source and draft",
      "x": 512,
      "y": 528,
      "isEditing": false,
      "type": "agnt-agent",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "agentId": "CONFIGURE_AGENTID",
        "message": "Read the Google Drive item. Decide whether it warrants action in HubSpot, and explain why.\nSource input: CONFIGURE_SOURCE_INPUT. Produce a reviewable draft only; do not take external actions."
      },
      "description": "Setup template for Agent Chat. Chat with an AI agent from your agent library. Select an agent and send messages to interact with it within your workflow. Configure credentials, inputs and output mapping before use.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "96aac248-8e1a-4fce-aab4-de527ea02194",
      "text": "Call HubSpot",
      "x": 512,
      "y": 720,
      "isEditing": false,
      "type": "custom-api",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "url": "https://api.hubapi.com/crm/v3/objects/contacts",
        "method": "GET",
        "authType": "None",
        "query": "",
        "headers": "{}"
      },
      "description": "Setup template for Custom API Request. This action node makes a custom API request to any endpoint with configurable method, headers, and authentication. Configure credentials, inputs and output mapping before use.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    }
  ],
  "edges": [
    {
      "id": "82a4ead5-182d-4b25-ab8f-83de51449082",
      "start": {
        "id": "ec6b454d-bd94-4a43-a926-c8a4d81195e6",
        "type": "output"
      },
      "end": {
        "id": "7007e231-4046-4e20-a0df-f8ed52b0a098",
        "type": "input"
      },
      "startX": 800,
      "startY": 168,
      "endX": 512,
      "endY": 360
    },
    {
      "id": "f457bfe6-56f9-4347-a572-de09d314722e",
      "start": {
        "id": "7007e231-4046-4e20-a0df-f8ed52b0a098",
        "type": "output"
      },
      "end": {
        "id": "0c4ea8ff-0d80-4490-acda-1ecd5b58ee2c",
        "type": "input"
      },
      "startX": 800,
      "startY": 360,
      "endX": 512,
      "endY": 552
    },
    {
      "id": "a39fb5e6-8346-473a-a54b-2d381db06740",
      "start": {
        "id": "0c4ea8ff-0d80-4490-acda-1ecd5b58ee2c",
        "type": "output"
      },
      "end": {
        "id": "96aac248-8e1a-4fce-aab4-de527ea02194",
        "type": "input"
      },
      "startX": 800,
      "startY": 552,
      "endX": 512,
      "endY": 744
    }
  ],
  "zoomLevel": 1,
  "canvasOffsetX": 0,
  "canvasOffsetY": 0,
  "isTinyNodeMode": false
}

Configure Google Drive API

Interact with Google Drive to perform various operations on files and folders.

  • action — The action to perform on Google Drive Current example: LIST_FILES.
  • folderId — The ID of the folder (for LIST_FILES, UPLOAD_FILE, CREATE_FOLDER) Current example: CONFIGURE_FOLDERID.

Configure Custom API Request

This action node makes a custom API request to any endpoint with configurable method, headers, and authentication.

  • url — The URL of the API endpoint Current example: https://api.hubapi.com/crm/v3/objects/contacts.
  • method — The HTTP method for the request Current example: GET.
  • authType — The type of authentication Current example: None.
  • query — Query parameters for the request (e.g., 'key1=value1&key2=value2') Current example: .
  • headers — Optional headers for the request. e.g., {"Content-Type": "application/json"} Current example: {}.

Install Document Extractor

Document Extractor is a working agent built around Google Drive. Install it, point its last step at HubSpot, and you have this hand-off without building it from an empty canvas.

Runs on your own machine · See what it does

Wiring Google Drive to HubSpot

  1. Install AGNT — it runs on your own machine and needs no account to start.
  2. Authorise HubSpot (one OAuth sign-in) and Google Drive (one OAuth sign-in). Nothing is stored anywhere but your disk.
  3. Describe the job in plain language, or paste the definition above; google-drive-api does the reading and custom-api the writing.
  4. Gate anything you would not want done unattended, then let it run and read the first receipt end to end.

Google Drive and HubSpot — common questions

Can I connect Google Drive to HubSpot without writing code?

No code is required. Add both connections in the vault (Google Drive uses one OAuth sign-in, HubSpot uses one OAuth sign-in), then either install a marketplace workflow for this pair or drag the two nodes onto the canvas and put an agent between them.

How is this different from a field-mapping Google Drive to HubSpot automation?

Mapping tools move data; this reasons about it. Rather than copying a field into HubSpot, the agent can weigh what arrived from Google Drive, classify it against criteria you wrote in prose, draft something new, and act only when it is warranted.

Does my Google Drive and HubSpot data leave my machine?

Your credentials stay in a vault on your own disk rather than in someone else’s cloud. The only calls made are the ones the workflow needs: Google Drive, HubSpot, and your chosen model provider — which can be a local one.

What does a Google Drive and HubSpot run leave behind?

Every run is recorded end to end — the Google Drive items examined, the decision and its reasoning, the resulting HubSpot write. That record is what makes it reasonable to let this run unattended, and what lets you widen its remit on evidence.

Give AI a job. Get the proof.