mcpField
F
flow-manager

flow-manager

github.com/lyticsMarketing & growth449 installsUpdated 3w ago
Repository

About flow-manager

flow-manager manages customer journeys and campaigns through the Lytics API. It is for teams maintaining flows and their steps, including delays, exports, conditional splits, A/B tests, and affinity routing.

Key features

  1. 01Create, view, update, and delete flows
  2. 02Configure delay and export steps
  3. 03Set conditional splits and affinity routing
  4. 04Manage A/B tests and flow states

Use cases

  1. 01Adjust steps and branches in a customer journey
  2. 02Review flow versions and current states

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/lytics/agent-skills --skill flow-manager

After installing, type/flow-managerin Claude Code to confirm it loaded.

Details

From the project README

Flow Manager

Purpose

Manage flows (customer journeys/campaigns) -- create, update, delete flows and manage their steps including delays, exports, conditionals, A/B tests, and affinity routing.

Environment

Requires authenticated API access. See ../references/auth.md for credential resolution.

API Endpoints

List Flows
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/flow/ui" \
  -H "Authorization: ${LYTICS_API_TOKEN}"
Get Flow
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/flow/ui/${FLOW_ID}" \
  -H "Authorization: ${LYTICS_API_TOKEN}"
Get Flow Version
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/flow/ui/${FLOW_ID}/${VERSION}" \
  -H "Authorization: ${LYTICS_API_TOKEN}"
Create Flow
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/flow/ui" \
  -H "Authorization: ${LYTICS_API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{ ... flow payload ... }'
Update Flow
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/flow/ui/${FLOW_ID}" \
  -H "Authorization: ${LYTICS_API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{ ... updated flow payload ... }'
Delete Flow
curl -s -X DELETE "${LYTICS_API_URL:-https://api.lytics.io}/v2/flow/ui/${FLOW_ID}" \
  -H "Authorization: ${LYTICS_API_TOKEN}"
Create Work for Flow Step
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/flow/ui/${FLOW_ID}/step/${STEP_ID}/work" \
  -H "Authorization: ${LYTICS_API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{ ... work config ... }'
List Flow States
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/flow/state" \
  -H "Authorization: ${LYTICS_API_TOKEN}"

Flow Payload

{
  "id": "flow_name",
  "label": "Display Name",
  "description": "What this flow does",
  "entry_segment_id": "segment_id",
  "entry_condition": "on_segment_entry",
  "reentry_allowed": false,
  "reentry_delay": "24h",
  "state": "draft",
  "steps": [
    {
      "id": 1,
      "label": "Step 1",
      "type_hint": "work_export",
      "slug": "step_1",
      "next": 2,
      "work_id": "work_id",
      "work_config": {}
    },
    {
      "id": 2,
      "label": "Wait 24 hours",
      "type_hint": "delay",
      "slug": "delay_step",
      "next": 3,
      "delay": "24h"
    }
  ]
}

Flow States

StateDescription
draftEditable, not processing
runningActively processing users
drainingStopping gracefully, processing remaining users
deletedSoft deleted

Entry Conditions

ConditionDescription
in_segmentTriggers for users currently in the segment
on_segment_entryTriggers only when a user enters the segment

Step Types

TypeDescriptionKey Fields
work_exportExport to external systemwork_id, work_config
delayWait before next stepdelay (duration string)
conditionalSplit by FilterQL conditionsplit_conditions
affinityRoute by content affinitysplit_affinities, affinity_config_id
ab_testingRandom split by probabilitysplit_probabilities
work_export_exitExport on flow exitwork_id, work_config

Behavior

For Read Operations

Execute immediately, display flow structure as a visual step chain.

For Write Operations

Use the confirmation-gate pattern. For state changes (draft -> running, running -> draining), explicitly warn about the implications.

Error Handling

  • Invalid entry segment: Verify segment exists first
  • Invalid step references: Ensure next IDs point to existing steps
  • State transition errors: Only valid transitions are draft->running, running->draining

Dependencies

  • Uses: ../references/auth.md, ../references/api-client.md, ../references/confirmation-gate.md
  • Related: segment-manager skill (for entry segments), job-manager skill (for work steps)

Comments

Markdown supported