Shortcuts

Run Shortcut from CSV

Runs the shortcut once per row of a CSV or XLSX file that has already been uploaded to Floqer, without the file's contents passing through the request. Use this instead of Run Shortcut Batch for files, and for anything above 1,000 rows — it streams the file server-side and has no row limit. Returns 202 with a batch_id; the runs appear on List Shortcut Runs filtered by that batch_id as the file streams, so an empty list right after this call means the import has not reached its first row yet. Columns are mapped by header name: mapping keys are the file's column headers, values are input reference values from Get Shortcut. Headers are read from row 1 — a header you name that is not there fails the import and reports which one, rather than running every row with shifted inputs. Columns you leave out of mapping are not sent; inputs with no column fall back to the shortcut's defaultValue, then to "".

post/api/v1/shortcuts/{id}/run/csv

Request

  • Base URL
    http://localhost:3009
  • Auth
    HTTP bearer

Path parameters

idstring required

Shortcut ID.

Request body

file_refstring required

Object key of the already-uploaded file, exactly as Floqer issued it. Not a URL — a URL is rejected. The file must have been uploaded by someone in your organization.

mappingobject required

Column header in the file -> input reference on the shortcut. References come from Get Shortcut's input_schema[].reference — the same keys Run Shortcut takes in input_data. Headers are read from row 1; naming a header the file does not have fails the import and reports which one. Columns omitted here are not sent, and inputs with no column fall back to the shortcut's defaultValue. Two columns may not map to the same input.

sheet_namestring

XLSX only — which worksheet to run. Defaults to the first sheet in the workbook. Naming a sheet the workbook does not have fails the import.

Example request

{
  "file_ref": "leads.csv_jane@acme.com_9f3c1a2b-4d5e-6f70-8a9b-0c1d2e3f4a5b.csv",
  "mapping": {
    "Email": "email",
    "Company Name": "company_name",
    "LinkedIn URL": "linkedin_url"
  }
}

Response

Default Response

statusinteger
messagestring

Changes

No recorded changes to this operation across all 1 revision of this API.