Matthew Meszaros
daf946fc45
feat: add the add_to_segment and remove_from_segment sequence action steps, executed on both the scheduled campaign path and the instant reply path, wired into the backend and consumer
2026-08-29 23:45:05 -07:00
Matthew Meszaros
bd8868f881
feat: connect the steps a campaign is created with in position order, because routing follows connections only and the wizard's 'Follow-up 1, after 3 days' was written as a disconnected step that never sent; repair existing campaigns with two or more email steps and no connection anywhere in migration 000090, correct the stale comments that promised a linear fallback, and fix the campaigns API reference (the create field is steps, wait_after is days before the step, conditions are the only routing)
2026-08-23 10:18:24 -07:00
Matthew Meszaros
93b64e2afa
feat: add shared run time listing and arg resolving for ai agents
2026-07-21 17:35:11 +02:00
Matthew Meszaros
163d3057de
feat: add web-search and extended-thinking capabilities to the campaign switch AI decider — a per-step web lookup about the contact's company (query derived from contact fields only, results fenced as untrusted, +1 credit charged only when results land, wired through a new tasks SetAISearch) and a thinking toggle that routes to the stronger model tier with a 2048-token budget priced through usage metering, with editor toggles under Capabilities and sequences/ai-credits docs
2026-07-18 08:42:08 +02:00
Matthew Meszaros
f36c1a5001
feat: replace the campaign AI step with a Switch step — a multi-way router whose cases are rows on the canvas node, each with its own draggable source dot (per-case ai_label branches wired by handle, retarget on re-drag, purple case edges with no IF boxes, bottom dot as the otherwise fallback), decided per contact by an AI prompt (1 credit, fenced context, same credit lifecycle) or a free deterministic template-value match, with a mode toggle + case list editor (stale case paths healed on save), drag-to-empty-canvas creating the target and wiring the case, and sequences/ai-credits/automation docs rewritten for the switch
2026-07-18 05:42:50 +02:00
Matthew Meszaros
4399bb8e82
feat: collapse the campaign AI step to a prompt plus draggable named outcome paths — the connections drawn out of the step are the choice set (outcome names live on the ai_label branch conditions, deduped per step and read at run time), drop the ai_labels/ai_output_fields/ai_actions config and the whole AI action palette (side effects are ordinary action steps placed on the chosen path), and fence the contact's email, profile fields, and automation event data as untrusted content in every campaign and automation AI prompt so injected instructions inside replies are ignored
2026-07-18 05:18:24 +02:00
Matthew Meszaros
1bf517678a
feat: add the campaign sequence AI step data layer — "ai" action config with instruction, label set, output fields, AI-decided action palette (tag/label choice sets, when-hints) and context opt-outs, write-time validation caps, and migration 000067 adding campaign_contact_progress.ai_label
2026-07-17 16:26:08 +00:00
Matthew Meszaros
d4ead05456
feat: persist campaign sequence canvas coordinates with x/y columns (migration 000053) plus a bulk sequence-layout service/repo path that scopes by campaign owner and never bumps updated_at
2026-06-30 10:06:20 +02:00
Matthew Meszaros
c5dfa5e4e7
feat: remove the HTTP-request action from campaign steps and automations in favor of signed webhooks, keep fire_event for custom payloads, and drop the now-unused outbound quota plumbing
2026-06-15 08:11:35 +02:00
Matthew Meszaros
fcafac4195
refactor: remove the campaign 'notify (webhook)' step type now that the HTTP request step covers outbound calls and there is no webhook setup surface
2026-06-14 10:48:06 +02:00
Matthew Meszaros
ab24d8bbc8
feat: add a 'Fire event' action and campaign step that publish custom events to the realtime gateway (no public URL), an HTTP-request campaign step, a configurable automation dry-run test with per-step toggles, and fix the false 'updated by a teammate' toast on your own save
2026-06-14 09:52:49 +02:00
Matthew Meszaros
4762256c49
feat: add the warmbly.label_email native action type and the label_ids action config field across the campaign ActionConfig and the IntegrationAction enum + IsNativeAction
2026-06-12 16:44:07 +02:00
Matthew Meszaros
a7a43e0c4c
feat: rename the campaign sequences resource to steps across the API and URL (/campaigns/:id/steps), the JSON fields (target_step_id, step_id/step_name/step_index, analytics steps[], create body steps), the web client/models/route segment/labels, the audit step entity type, and the wire-contract docs; internal Go type names and the Kafka avro schema stay
2026-06-12 09:38:11 +02:00
Matthew Meszaros
5954ac53c2
feat: add automation execution safeguards
...
Support chained automation execution from native actions, guard automation recursion depth, carry idempotency context through campaign-launched automations, allow team task assignment in backend action execution, and reject deletes while campaign steps still reference an automation.
2026-06-09 10:56:56 +02:00
Matthew Meszaros
5f7ac801ba
feat: execute automation graphs
2026-06-08 12:03:11 +02:00
Matthew Meszaros
025fc65325
feat: match instant branch triggers
2026-06-07 17:24:08 +02:00
Matthew Meszaros
f5abb8cbb6
feat: add CRM deal sequence actions
2026-06-07 11:48:03 +02:00
Matthew Meszaros
f3625ca860
feat: add reply classification branch conditions
2026-06-07 11:47:57 +02:00
Matthew Meszaros
9885e8b952
feat: create CRM tasks from campaign actions
2026-06-07 06:18:22 +02:00
Matthew Meszaros
da82993846
feat: add campaign workflow backend support
...
Add sequence action-node storage and execution, template conditional rendering, lead progress state, profile updates, webhook fan-out throttling, and supporting repository fixes.
2026-06-06 07:49:52 +02:00
Matthew Meszaros
0e26b9cd00
feat: refine campaign branch scheduling
...
Evaluate branch conditions relative to the previous send, defer while windows are still undecided, and let the routed pair finder handle deleted targets and loops at schedule time.
2026-06-05 09:10:57 +02:00
Matthew Meszaros
2a2e248ad9
feat: add campaign sequence branching backend
...
Store per-step branching conditions, validate branch targets, and select campaign contact steps by following the flow graph. Preserve linear progression for steps without branch conditions.
2026-06-05 06:02:55 +02:00
Matthew Meszaros
306690db0a
feat: add explicit position column to sequences for deterministic ordering
2026-04-09 14:52:17 +00:00
Matthew Meszaros
772c19820d
New Repository: Add Backend Code
2026-01-17 14:11:14 +00:00