Authentication
- Always list secrets in
sensitiveKeys— they are never sent to the browser - Use OAuth 2.0 with
auto_refresh: truewhen your provider issues refresh tokens - Store webhook signing secrets in credentials or
auth.configand reference viasecretKey - Document which values tenants must provide vs Karzoun-managed OAuth client IDs
Actions
- Use
renderStrategy: 'auto'so forms generate fromparametersJSON Schema - Use RPC sources (
x-source) for IDs users should not paste manually - Always set
x-fallback: 'input'when RPC sources may fail - Chain requests when later steps need IDs from earlier responses
- Use array
mappingon intermediate requests, objectmappingon the final response
Triggers
- Match the exact event string your webhook extraction produces
- Write clear
labelanddescriptiontext for the Automation Builder - Use Lucide icon names for
icon
Webhooks
- Require HMAC verification in production (
hmac-sha256when supported) - Set
transactionIdto deduplicate provider retries - Respond with
response.statusCode: 200and a minimal body — Karzoun acknowledges quickly
E-commerce
- Use sync for bulk import and realtime handlers
- Align
sync.webhooks.handlerskeys withtriggers[].event - Use
joinCodesfor discount arrays andmapItemsfor line items - Use
customerExtraction.overrideswhen customer JSON differs per event
Security & submission
- Do not embed tenant production secrets in submitted JSON
- Document sandbox test accounts for reviewers
- Keep
docsUrlpointed at your integration guide for end users - Bump
versionon every approved change