Nodey NFC Trigger icon

Nodey NFC Trigger

Fires when an NFC tag is scanned via the Nodey mobile app

Nodey NFC Trigger

AI-generated

Summary

Starts a workflow when the Nodey mobile app (iOS or Android) reports an NFC tag tap to a POST webhook. It emits the payload either normalized into one consistent shape or as the raw request body, with optional signature checking and tag UID filtering.

Inputs

  • Path (required) — URL path for the webhook (default 'nodey-nfc'). Used as the full path, and the Production URL is built from it. Paste that URL into the Nodey NFC trigger configuration.
  • Output Format — 'Normalized' (default) merges iOS and Android payloads into one object. 'Raw Payload' passes the request body through unchanged.
  • Parse Android customData — Only shown for Normalized output. When true (default), Android's customData JSON string is parsed into an object. If parsing fails, the original string is kept. iOS payloads are unaffected.
  • Webhook Secret — Optional HMAC shared secret. If set, the request must carry a valid HMAC-SHA256 signature (hex, optionally prefixed 'sha256=') in X-Nodey-Signature, X-Signature or X-Hub-Signature-256. Otherwise the node responds 401 and does not trigger. The description says Nodey doesn't sign requests yet, so leave blank for now.
  • Allowed Tag UIDs — Optional comma-separated allowlist. The request's tagUid, tag_uid, triggerId or trigger_id must match one entry. Non-matching scans get a 200 {status:'ignored'} response and don't trigger the workflow. Blank accepts all scans.

Output shape

One item per accepted scan, in json. Normalized output has platform ('ios', 'android' or 'unknown'), triggerName, triggerType (default 'nfc'), event (default 'tap'), timestamp (defaults to the current time), source (default 'Nodey'), triggerId, customData, and raw (the original body). Raw output is the request body as received. The webhook itself responds 200 {status:'ok'}.

Platform detection is heuristic: iOS if trigger_name, trigger_type or source 'Nodey' is present, Android if triggerId is present. Missing fields become null or defaults. customData falls back to customPayload, then null. Signature failures return 401 and filtered scans return 200 'ignored', and neither starts the workflow. Delivery is at-most-once and Nodey does not retry. The node is usable as a tool.

Examples

Example 1: Run a workflow whenever a specific NFC tag on a desk is tapped

Path 'desk-tag', Output Format Normalized, Allowed Tag UIDs set to that tag's ID; paste the Production URL into Nodey.

Example 2: Receive Android taps with custom JSON data as a usable object

Output Format Normalized, Parse Android customData enabled; read customData fields downstream.

Example 3: Inspect the exact payload Nodey sends

Output Format set to Raw Payload, no secret and no UID filter.

Links

Discussion