Connect Google Sheets and Drive

Publish a sheet as CSV and have InduQT poll it, or import it once by link.

Readings kept in Google Sheets, or a CSV that a system refreshes on Google Drive, OneDrive or SharePoint, can be imported once or polled on a schedule. The sheet uses the same layout as a CSV import.

Publish the sheet as CSV

  1. Open Publish to web

    In Google Sheets choose File → Share → Publish to web.

  2. Pick the tab and format

    Select the tab with the readings (not the whole document) and Comma-separated values (.csv), then Publish.

  3. Copy the link

    It ends in output=csv. Anyone with the link can read that tab, so publish only the data you mean to share.

For a file on Google Drive, use a direct download link: https://drive.google.com/uc?export=download&id=FILE_ID, with the file shared as “Anyone with the link”. For OneDrive or SharePoint, use a download link (ending in download=1).

Poll it on a schedule

Create an http_pull connector. In the app: open the site, choose Google Sheets or Drive link, then Create scheduled import. Or with the API:

POST /v1/connectors
curl -X POST "https://api.induqt.ai/v1/connectors" \
  -H "Authorization: Bearer $INDUQT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "siteId": "6f1c2c0e-4b1a-4c55-9d0e-1f2a3b4c5d6e",
  "type": "http_pull",
  "name": "B-101 log sheet",
  "config": {
    "url": "https://docs.google.com/spreadsheets/d/e/…/pub?output=csv",
    "intervalSeconds": 300
  },
  "mapping": {
    "machine": "B-101",
    "timeColumn": "Timestamp"
  }
}'
CSV/JSON URL (Google Sheets, Drive, SharePoint) settings
NameDescription
urlrequiredhttps link returning CSV, XLSX or JSON: Google Sheets File → Share → Publish to web → CSV, a Drive/OneDrive direct download link, or your own endpoint.
intervalSecondsHow often to fetch, 60–86,400. Default 300.
headersExtra request headers, e.g. an Authorization header. Encrypted at rest.

Mapping. machine (id or externalId) for the whole file, or machineColumn when rows name their machine; timeColumn (default: detected). Rows already loaded are skipped.

Import once

To load a sheet a single time, pass its link as url to the import endpoint:

POST /v1/machines/{machineId}/imports
curl -X POST "https://api.induqt.ai/v1/machines/0b7d9a12-7c3e-4f10-a2b4-c5d6e7f8a9b0/imports" \
  -H "Authorization: Bearer $INDUQT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://docs.google.com/spreadsheets/d/e/…/pub?gid=0&single=true&output=csv",
  "timeColumn": "Timestamp"
}'

Troubleshooting

Troubleshooting
SymptomLikely cause and fix
Got HTML, not CSVThe link is the normal sharing link. Use the Publish to web link ending in output=csv, or a Drive uc?export=download link.
403 or sign-in pageThe sheet or file is private. Publish it, or share the file with anyone who has the link.
New rows appear lateGoogle refreshes published CSVs every few minutes, so very recent edits can lag. Polling faster than about five minutes does not help.
Rows from several machinesAdd a column naming the machine and set machineColumn in the mapping.
Old rows loaded againThey are not: rows already loaded are skipped, and identical readings overwrite rather than duplicate.