ViaVeg Integrations

Stream shipment data to your systems in real time. REST API for filling forms and surveys, webhooks for any CRM, ERP or spreadsheet.

Zapier Ready

Plug a ViaVeg webhook into 5000+ apps without code. Every event (shipment created, status changed, QC report) hits your Zap in seconds.

Show setup →

Make (Integromat) Ready

More advanced scenarios than Zapier, with conditional routing and payload transformation. ViaVeg webhooks work natively in Make.

Show setup →

Google Sheets Ready

Ready-made Google Apps Script — paste it, authorize, get a sheet that appends a row for every new shipment, status, and QC report.

Show setup →

n8n Ready

Self-hosted automation for teams that want to keep data in-house. Webhook trigger in n8n + our HMAC-SHA256 signature = full control.

Show setup →

Microsoft Excel Online Via Zapier / Make

Via Zapier or Make — ViaVeg webhook → "Add row to Excel Online (Microsoft 365)" action. No need to register your own Azure app.

Show setup →

Salesforce / HubSpot Via Zapier / Make

Via Zapier/Make — webhook → "Create Record / Update Record" in Salesforce. Map ViaVeg fields to SF objects in the Zap UI.

Show setup →

Webhooks — the integration foundation

ViaVeg sends an HTTP POST with JSON every time something happens with your shipment. The HMAC-SHA256 signature in the header guarantees the data really came from us.

1

Register an endpoint URL by POSTing to /api/v1/webhooks (Sanctum token). The response includes a secret for signature verification.

2

Choose events you want to receive (or pick all — wildcard "*").

3

Your server receives a POST with X-Webhook-Event and X-Webhook-Signature headers. Verify the signature and process the payload.

Supported events

shipment.created
shipment.status_changed
shipment.completed
phase.completed
phase_entry.submitted
qc_report.submitted
participant.assigned

Register a webhook

curl -X POST https://viaveg.com/api/v1/webhooks \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://hooks.zapier.com/hooks/catch/...",
    "events": ["shipment.created", "shipment.completed", "phase_entry.submitted"]
  }'

Sample payload

{
  "event": "phase_entry.submitted",
  "timestamp": "2026-05-22T10:15:30+00:00",
  "data": {
    "shipment_id": 1234,
    "uuid": "ship_abc...",
    "phase": "unloading",
    "entry_type": "qc_report",
    "data": { "temperature": -2.4, "rejected_kg": 14.3 },
    "filled_by": "Anna Nowak",
    "gps": { "lat": 52.2297, "lng": 21.0122 },
    "submitted_at": "2026-05-22T10:15:30+00:00"
  }
}

HMAC signature is computed as sha256(secret + raw_body) — sent in the X-Webhook-Signature header.

Google Sheets — complete template

The fastest path to integration with your own spreadsheet. Three steps, ~3 minutes, zero coding.

1

Open a new Google Sheet → Extensions menu → Apps Script.

2

Paste the code below, save, click "Deploy" → "New deployment" → type "Web app", access: "Anyone". Copy the generated URL.

3

Register that URL as a ViaVeg webhook (see above). Every new event will append a row in the sheet.

Script to paste (Google Apps Script)

// ViaVeg → Google Sheets append-row receiver.
// Paste into Apps Script (Extensions → Apps Script) inside your Sheet,
// then Deploy → New deployment → Web app → "Anyone" → copy the URL into ViaVeg.

const SHEET_NAME = 'ViaVeg'; // tab name; auto-created if missing.

function doPost(e) {
  const payload = JSON.parse(e.postData.contents);
  const event = payload.event || 'unknown';
  const data = payload.data || {};

  const ss = SpreadsheetApp.getActiveSpreadsheet();
  let sheet = ss.getSheetByName(SHEET_NAME);
  if (!sheet) {
    sheet = ss.insertSheet(SHEET_NAME);
    sheet.appendRow(['Timestamp', 'Event', 'Shipment UUID', 'Cargo', 'Phase', 'Filled by', 'Data (JSON)']);
  }

  sheet.appendRow([
    new Date(),
    event,
    data.uuid || '',
    data.cargo_type || data.cargo_name || '',
    data.phase || '',
    data.filled_by || '',
    JSON.stringify(data),
  ]);

  return ContentService.createTextOutput(JSON.stringify({ok: true}))
    .setMimeType(ContentService.MimeType.JSON);
}

Filling forms and surveys via API

The ViaVeg API does more than read — it lets you create entries (checklists, QC reports, notes, confirmations, photos) from your mobile app, bot, or backend script.

Public endpoint (participant token)

curl -X POST https://viaveg.com/api/v1/participants/PARTICIPANT_TOKEN/entries \
  -H "Content-Type: application/json" \
  -d '{
    "type": "checklist",
    "data_json": { "temp_at_load": -2.0, "seal_ok": true, "pallets": 24 },
    "gps_lat": 52.2297,
    "gps_lng": 21.0122,
    "status": "completed"
  }'

Authenticated endpoint (Sanctum)

curl -X POST https://viaveg.com/api/v1/phases/PHASE_ID/entries \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "qc_report",
    "data_json": { "overall_score": 9, "defects": [] },
    "status": "completed"
  }'

Need a different integration?

Email hello@viaveg.com — if something is missing, we usually add it within 48h. Also check the technical docs in the project README.