Overview
Every workflow must have at least one trigger. The trigger type determines how the workflow starts, what data it receives, and how Codika Init registers the execution.| Trigger type | How it starts | Codika Init mode | User input? |
|---|---|---|---|
| HTTP | User clicks button / API call | Extracts metadata from webhook | Yes (inputSchema) |
| Schedule | Cron expression fires | Creates execution via API | No |
| Service event | External service sends data | Creates execution via API | No |
| Sub-workflow | Called by parent workflow | Not present (sub-workflows skip Init) | Via parent |
HTTP triggers
User-initiated execution via webhook. The user fills a form (defined byinputSchema), submits it, and waits for results.
config.ts definition
Workflow pattern
responseMode set to lastNode so that Codika Submit Result returns data to the caller.
n8n node configuration
Schedule triggers
Automatic execution on a cron schedule. No user input — the workflow runs at the configured time.config.ts definition
Common cron expressions
| Expression | Schedule |
|---|---|
0 8 * * * | Daily at 8:00 AM |
0 9 * * 1 | Weekly on Monday at 9:00 AM |
0 9 * * 1-5 | Weekdays at 9:00 AM |
0 9 1,15 * * | 1st and 15th of each month at 9:00 AM |
*/5 * * * * | Every 5 minutes |
Workflow pattern
Schedule triggers often include a manual webhook as a secondary trigger for testing:n8n Codika Init configuration (schedule mode)
Service event triggers
External services (Gmail, Calendly, WhatsApp, etc.) trigger the workflow when an event occurs.config.ts definition
Service event types
| Service | Event type | What triggers it |
|---|---|---|
email | new_email_with_attachment | Email arrives with attachments |
email | new_email_received | Any new email arrives |
calendly | invitee_created | New booking on Calendly |
whatsapp | message_received | WhatsApp message received |
Workflow pattern
$('Trigger Name').first().json, not via Codika Init output. The Init node only provides execution metadata.
Webhook ID for service triggers
Some service event triggers need awebhookId on the trigger node:
Sub-workflow triggers
Sub-workflows are helper workflows called by parent workflows. They are not visible to users and cannot be triggered directly.config.ts definition
Key rules
- No Codika Init — sub-workflows do not register their own execution
- At least 1 input parameter — n8n requires this
- Cost: 0 — execution cost is attributed to the parent workflow
- Output schema: [] — always empty (data flows back to parent via Execute Workflow node)
- Pass execution metadata if the sub-workflow uses Codika Upload File
Multiple triggers per workflow
A single workflow can have multiple triggers. Common patterns:- Schedule + HTTP: Automated daily run with a manual “run now” button
- Multiple HTTP: Different entry points with different input schemas
- HTTP + Service event: Manual run plus automatic triggering on events
triggerId in the config.