Connect ScanOrbit to Your Existing Stack
Real-time event streaming for CRM pipelines, databases, and messaging channels.
Use the ScanOrbit app on Zapier: new leads, form responses, QR codes and scans start Zaps instantly, and Zaps can create and update QR codes. For everything else there's one signed webhook for Google Sheets, Slack, Make or your own server. There's no direct Slack, Salesforce or HubSpot app; reach them through Zapier.
{
"event": "lead.captured",
"timestamp": "2026-09-28T18:30:00Z",
"qrId": "qr_98f41e0a",
"qrName": "Summer Expo Flyer",
"data": {
"name": "Sarah Jenkins",
"email": "sarah.j@acmebrand.com",
"phone": "+1 (555) 234-5678",
"notes": "Requested product demonstration"
}
}Zapier
6,000+ Apps
Google Sheets
Auto Row Append
Slack
Instant Alerts
6,000+
Apps Reachable via Zapier
4
Instant Zapier Triggers
HMAC
SHA256 Signed Payloads
3
Delivery Attempts
Production Integration Recipes
Copy-paste verified code recipes to connect ScanOrbit to your spreadsheets, messaging channels, and automation workflows.
ScanOrbit on Zapier
Our own Zapier app: no code, no webhooks to set up
- Open the ScanOrbit Zapier invite and accept it (it adds the app to your Zapier account).
- In ScanOrbit, create a key under Settings → API Keys (Business plan). A read-only key is enough for triggers; creating or updating codes needs write access.
- In Zapier, make a Zap, choose ScanOrbit, and paste the key when asked to connect.
Triggers (instant): New Lead, New Form Response, New QR Code, New Scan. Actions: Create QR Code, Update QR Code (change where a printed code points). Search: Find QR Code. New Scan fires on every scan, so busy codes use more of your Zapier tasks; add a Filter step for the codes you care about.
Make, n8n or Zapier with a webhook
The signed account webhook, for tools without a ScanOrbit app
In Zapier, start a Zap with the Webhooks by Zapier trigger (event type: Catch Hook). Zapier provides a webhook URL: paste that into ScanOrbit under Settings → Notifications → Webhook URL. Next, verify the signature in a Code step before forwarding data to Slack, Google Sheets, HubSpot, or Salesforce.
// "Code by Zapier" step, after a Webhooks by Zapier
// "Catch Hook" trigger: verifies signature before
// forwarding lead data to Slack, Sheets, HubSpot, etc.
const crypto = require('crypto');
const sigHeader = inputData.headers['x-scanorbit-signature'] || '';
const [tPart, v1Part] = sigHeader.split(',');
const t = tPart.split('=')[1];
const v1 = v1Part.split('=')[1];
const expected = crypto
.createHmac('sha256', process.env.SCANORBIT_WEBHOOK_SECRET)
.update(`${t}.${inputData.rawBody}`)
.digest('hex');
if (expected !== v1) throw new Error('Invalid signature: not from ScanOrbit');
output = JSON.parse(inputData.rawBody);Google Sheets Real-Time Sync
Log every lead or form submission as a spreadsheet row with zero middleware
A Google Sheet can receive webhooks directly through Google Apps Script web app hosting, with nothing else to configure or purchase.
// Google Apps Script: Extensions > Apps Script on a
// Sheet, paste this, then Deploy > Web app (execute as
// you, access: Anyone). Paste the /exec URL into
// Dashboard > Settings > Notifications > Webhook URL.
function doPost(e) {
const body = e.postData.contents;
const sigHeader = e.parameter['X-ScanOrbit-Signature'] || '';
if (e.parameter.key !== 'YOUR_SHARED_SECRET') {
return ContentService.createTextOutput('unauthorized');
}
const data = JSON.parse(body);
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.appendRow([
new Date(data.timestamp),
data.event,
data.qrName,
data.event === 'lead.captured'
? [data.data?.name, data.data?.email, data.data?.phone].filter(Boolean).join(' / ')
: JSON.stringify(data.values || {}),
]);
return ContentService.createTextOutput('ok');
}Slack Channel Notifications
Post real-time capture alerts to any internal team channel
Slack Incoming Webhooks require a structured payload ({ "text": ... }), so ScanOrbit payloads are reshaped via a lightweight serverless handler or Zapier Code step before delivery.
// Forwarding function: Slack Incoming Webhook expects
// {"text": "..."} payload. Deploy as a lightweight
// serverless edge handler or Zapier Code step.
export default async function handler(req) {
const body = await req.text();
const sig = req.headers.get('x-scanorbit-signature') || '';
const data = JSON.parse(body);
const line = data.event === 'lead.captured'
? `New lead captured on *${data.qrName}*: ${data.data?.name} (${data.data?.email})`
: `New scan on *${data.qrName}* from ${data.telemetry?.city || 'Unknown'}`;
await fetch(process.env.SLACK_WEBHOOK_URL, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ text: line }),
});
return new Response('ok');
}Frequently Asked Questions
Technical details on signature verification, payload schemas, and webhook delivery guarantees.
Need a custom integration?
Tell our engineering team what CRM or data warehouse you want to connect.
Request Custom IntegrationZapier recipes
Step-by-step Zaps you can set up in a few minutes on the Business plan.
Related Guides & Knowledge Base
Master print optimization, real-time analytics telemetry, and campaign design best practices.
8 QR Code Design Mistakes That Hurt Scan Rates
Avoid contrast errors, margin clipping, and improper error correction before high-volume commercial print runs.
What Your QR Code Analytics Are Actually Telling You
Decode scan telemetry: turn city geolocations, device breakdowns, and time curves into actionable campaign ROI.
Dynamic vs Static QR Codes: Which One Do You Need?
Understand the core architecture: offline raw encoding vs cloud redirection with instant destination updating.
Help Center & Implementation Documentation
What is a QR Code?
Matrix symbology, Reed-Solomon error correction, and optical scanner mechanics.
How to Customize Your QR Code
Palette selection, custom logo insertion, frame badges, and vector export formats.
Choosing Error Correction Levels
Level L (7%) to Level H (30%): picking the right density for print durability.
Connect ScanOrbit to Your Tech Stack
Upgrade to the Business plan to unlock real-time signed webhooks, developer REST API access, and automatic retries across 6,000+ apps.
Included on ScanOrbit Business at $29/mo · No per-event overage fees
Scan with any smartphone camera
Dispatches a live test webhook payload to your endpoint