Vercel logs
Capture Vercel deployment logs as PostHog events
Configuration
| Option | Description |
|---|---|
Authorization header valueType: string Required: False | If set, the incoming Authorization header must match this value exactly. e.g. "Bearer SECRET_TOKEN" |
Max message lengthType: number Required: False | Truncate log messages longer than this (default: 262144 bytes) |
Log payloadsType: boolean Required: False | Logs the incoming request for debugging |
Distinct ID saltType: string Required: False | High-entropy random secret (e.g. base64) mixed into hashed distinct IDs. Rotate to invalidate prior IDs. Used by rotating_salt, fixed_salt, and the rotating_salt_fallback path of custom; ignored by the ip strategy. If left blank, hashed strategies still produce stable IDs but lose the unguessability the salt provides — set one in production. |
Distinct ID strategyType: choice Required: True | How distinct IDs are derived. Default rotates daily so the same client gets a fresh ID each day. The active strategy is recorded on each event as $distinct_id_strategy for debugging. |
Forward client IP and user agentType: boolean Required: False | When enabled (default), $ip, $raw_user_agent, proxy_client_ip, and proxy_user_agent are emitted on each event so PostHog can run GeoIP and user-agent enrichment. Disable if you want raw client identifiers stripped — distinct_id derivation still uses them as inputs, but they will not appear on the emitted event. |
Custom distinct ID templateType: string Required: False | Used only when strategy is "custom". Supports placeholders {day}, {ip}, {host}, {ua}, {path}, {project_id} (literal string substitution, not Hog evaluation; unknown placeholders are left as-is). The salt secret is intentionally not exposed as a placeholder. The result is prefixed with "http_log_". Empty value or all-empty substitutions fall back to rotating_salt. |
Using our REST API you can create this source_webhook like so: