AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
Crawler Summary
A multi-agent marketing campaign planning tool built with CrewAI. It orchestrates specialized agents (Chief Strategist, Market Analyst, Brand Director, Channel Planner, Copywriter) to create comprehensive marketing campaigns with real-time streaming output, card-based progress visualization, and built-in iteration workflow. Marketing Campaign Planner An AI-powered multi-agent system that guides users through end-to-end marketing campaign planning via an interactive, phased conversation. **Framework:** CrewAI · **Category:** Marketing & Strategy · **Language:** Python $1 Overview This template implements a full-stack marketing campaign planning agent built with CrewAI Flows and a React frontend. The system walks users through a structure Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Freshness
Last checked 10/9/2026
Best For
delin-marketing-campaign is best for crewai, multi-agent workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB REPOS, runtime-metrics, public facts pack
A multi-agent marketing campaign planning tool built with CrewAI. It orchestrates specialized agents (Chief Strategist, Market Analyst, Brand Director, Channel Planner, Copywriter) to create comprehensive marketing campaigns with real-time streaming output, card-based progress visualization, and built-in iteration workflow. Marketing Campaign Planner An AI-powered multi-agent system that guides users through end-to-end marketing campaign planning via an interactive, phased conversation. **Framework:** CrewAI · **Category:** Marketing & Strategy · **Language:** Python $1 Overview This template implements a full-stack marketing campaign planning agent built with CrewAI Flows and a React frontend. The system walks users through a structure
Public facts
4
Change events
1
Artifacts
0
Freshness
Oct 9, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Oct 9, 2026
Vendor
51587
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Setup snapshot
Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
51587
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
4
Snippets
0
Languages
python
bash
# Install frontend dependencies npm install # Install Python agent dependencies pip install -r requirements.txt # Copy environment variables cp .env.example .env # Fill in AI_GATEWAY_API_KEY and AI_GATEWAY_BASE_URL # Start local development (frontend + agent + cloud functions) edgeone makers dev
text
. ├── agents/ # CrewAI agent runtime (Python) │ ├── stream.py # POST /stream — main SSE entry point │ ├── _lib/ │ │ ├── flow.py # MarketingCampaignFlow (5-step orchestration) │ │ ├── persistence.py # In-process FlowPersistence + store sync │ │ ├── feedback_provider.py # Human feedback provider bridge │ │ ├── llm.py # LLM initialization helper │ │ └── logger.py # Structured logger │ └── _crews/ │ ├── agents.yaml # Shared agent definitions │ ├── discovery_crew/ # Market analyst — audience & insights Q&A │ ├── brand_creative_crew/ # Brand strategist — visual & messaging identity │ ├── channel_planning_crew/ # Channel planner — media mix & budget │ ├── integration_crew/ # Integration strategist — unified plan │ └── content_crew/ # Copywriter — final deliverable content ├── cloud-functions/ # Auxiliary HTTP endpoints (Python) │ ├── history.py # POST /history — load conversation history │ ├── delete.py # POST /delete — delete a conversation │ └── requirements.txt ├── src/ # React + TypeScript frontend │ ├── App.tsx # Main app + state management │ ├── components/ │ │ ├── cards/ # Structured output cards (brand, channel, etc.) │ │ ├── views/ # Phase-specific views (discovery, planning, etc.) │ │ ├── Header.tsx # Navigation + locale toggle │ │ ├── PhaseProgress.tsx # 5-phase progress indicator │ │ ├── InputBar.tsx # Chat input with suggestions │ │ ├── StartPanel.tsx # Campaign brief entry │ │ └── HistoryPanel.tsx # Session history sidebar │ ├── hooks/ │ │ ├── useSSE.ts # SSE stream consumer │ │ └── useHistory.ts
text
Discovery → Planning → Integration → Content → Finalize
json
{
"buildCommand": "npm run build",
"outputDirectory": "dist",
"agents": {
"framework": "crewai",
"dir": "agents",
}
}Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB REPOS
Editorial quality
ready
A multi-agent marketing campaign planning tool built with CrewAI. It orchestrates specialized agents (Chief Strategist, Market Analyst, Brand Director, Channel Planner, Copywriter) to create comprehensive marketing campaigns with real-time streaming output, card-based progress visualization, and built-in iteration workflow. Marketing Campaign Planner An AI-powered multi-agent system that guides users through end-to-end marketing campaign planning via an interactive, phased conversation. **Framework:** CrewAI · **Category:** Marketing & Strategy · **Language:** Python $1 Overview This template implements a full-stack marketing campaign planning agent built with CrewAI Flows and a React frontend. The system walks users through a structure
An AI-powered multi-agent system that guides users through end-to-end marketing campaign planning via an interactive, phased conversation.
Framework: CrewAI · Category: Marketing & Strategy · Language: Python
This template implements a full-stack marketing campaign planning agent built with CrewAI Flows and a React frontend. The system walks users through a structured 5-phase workflow — from market discovery to final content delivery — using specialized AI crews that collaborate to produce brand creatives, channel strategies, and integrated campaign plans. Human-in-the-loop feedback is built into every phase, allowing users to iterate on outputs before advancing.
@human_feedback decorator with approve, redo, and rollback actions| Variable | Required | Description |
|----------|----------|-------------|
| AI_GATEWAY_API_KEY | Yes | Model gateway API key. Use your Makers Models API Key, or any OpenAI-compatible provider key. |
| AI_GATEWAY_BASE_URL | Yes | Gateway base URL. For Makers Models, use https://ai-gateway.edgeone.link/v1. |
| AI_GATEWAY_MODEL | No | Model ID. Defaults to @makers/deepseek-v4-flash. |
This template follows the OpenAI-compatible standard — point these at Makers Models or any compatible provider.
AI_GATEWAY_API_KEYThe built-in model is free with rate limits — suitable for development and evaluation. For production workloads, bind your own provider key (BYOK).
# Install frontend dependencies
npm install
# Install Python agent dependencies
pip install -r requirements.txt
# Copy environment variables
cp .env.example .env
# Fill in AI_GATEWAY_API_KEY and AI_GATEWAY_BASE_URL
# Start local development (frontend + agent + cloud functions)
edgeone makers dev
The dev server runs the Vite frontend, the CrewAI agent (agents/stream.py), and cloud functions simultaneously. Visit http://localhost:8088 for the app and http://localhost:8080/agent-metrics for the observability panel.
.
├── agents/ # CrewAI agent runtime (Python)
│ ├── stream.py # POST /stream — main SSE entry point
│ ├── _lib/
│ │ ├── flow.py # MarketingCampaignFlow (5-step orchestration)
│ │ ├── persistence.py # In-process FlowPersistence + store sync
│ │ ├── feedback_provider.py # Human feedback provider bridge
│ │ ├── llm.py # LLM initialization helper
│ │ └── logger.py # Structured logger
│ └── _crews/
│ ├── agents.yaml # Shared agent definitions
│ ├── discovery_crew/ # Market analyst — audience & insights Q&A
│ ├── brand_creative_crew/ # Brand strategist — visual & messaging identity
│ ├── channel_planning_crew/ # Channel planner — media mix & budget
│ ├── integration_crew/ # Integration strategist — unified plan
│ └── content_crew/ # Copywriter — final deliverable content
├── cloud-functions/ # Auxiliary HTTP endpoints (Python)
│ ├── history.py # POST /history — load conversation history
│ ├── delete.py # POST /delete — delete a conversation
│ └── requirements.txt
├── src/ # React + TypeScript frontend
│ ├── App.tsx # Main app + state management
│ ├── components/
│ │ ├── cards/ # Structured output cards (brand, channel, etc.)
│ │ ├── views/ # Phase-specific views (discovery, planning, etc.)
│ │ ├── Header.tsx # Navigation + locale toggle
│ │ ├── PhaseProgress.tsx # 5-phase progress indicator
│ │ ├── InputBar.tsx # Chat input with suggestions
│ │ ├── StartPanel.tsx # Campaign brief entry
│ │ └── HistoryPanel.tsx # Session history sidebar
│ ├── hooks/
│ │ ├── useSSE.ts # SSE stream consumer
│ │ └── useHistory.ts # Conversation history hook
│ ├── i18n.ts # Internationalization (zh/en)
│ ├── types/index.ts # TypeScript type definitions
│ └── utils/export.ts # Markdown export utility
├── edgeone.json # EdgeOne Makers configuration
├── package.json # Frontend dependencies & scripts
├── requirements.txt # Python dependencies (crewai[litellm,tools])
└── vite.config.ts # Vite + React + TailwindCSS config
Each conversation is identified by a conversation_id. The frontend sends this via the Makers-Conversation-Id HTTP header on every request. EdgeOne's agent runtime uses sticky routing to pin a conversation to a specific instance, ensuring in-memory Flow state (pause/resume contexts) remains accessible across requests. On cold starts or instance migration, pending state is recovered from the persistent store via load_pending_from_store().
The MarketingCampaignFlow class (in agents/_lib/flow.py) orchestrates a 5-step sequential workflow using CrewAI's @start, @listen, and @router decorators:
Discovery → Planning → Integration → Content → Finalize
Discovery — The DiscoveryCrew (market analyst) asks iterative questions (up to 4 rounds) to gather campaign goals, target audience, and market context. Each round pauses via @human_feedback and resumes with user input. When the analyst detects sufficient information, it emits [READY] to advance.
Planning — Two crews:
BrandCreativeCrew — generates brand identity, visual direction, and messaging frameworkChannelPlanningCrew — produces media channel mix, budget allocation, and timing strategyBoth outputs are presented as structured cards. Users confirm each independently.
Integration — The IntegrationCrew merges brand and channel outputs into a unified, coherent campaign strategy document.
Content — The ContentCrew generates final copywriting deliverables (headlines, body copy, CTAs, social variants) based on the integrated strategy.
Finalize — Summarizes the complete campaign plan, resolves any remaining conflicts, and marks the flow as finished. Users can export the result as Markdown.
Every phase boundary uses CrewAI's @human_feedback decorator with a custom FeedbackProvider. The flow pauses after each crew output, streams results to the frontend as structured card events (card_update), and waits for user action:
Branch operations (redo_brand, redo_channel, rollback) are intercepted by the handler layer in stream.py and invoke crews directly, bypassing the main flow router.
| Crew | Agent Role | Purpose |
|------|-----------|---------|
| DiscoveryCrew | Market Analyst | Structured Q&A to extract campaign requirements |
| BrandCreativeCrew | Creative Director | Brand positioning, visual identity, messaging |
| ChannelPlanningCrew | Channel Planner | Media mix, budget, scheduling |
| IntegrationCrew | Chief Strategist | Synthesize all inputs into unified strategy |
| ContentCrew | Copywriter | Final deliverable content production |
| Method | Path | Handler | Description |
|--------|------|---------|-------------|
| POST | /stream | agents/stream.py | Main agent entry — SSE streaming, kickoff/resume |
| POST | /history | cloud-functions/history.py | Load conversation messages and phase state |
| POST | /delete | cloud-functions/delete.py | Delete a conversation from the store |
Makers-Conversation-Id header with every request.conversation_id and returns it in the SSE stream as a conversation_id event.persistence.py recovers the pending HumanFeedbackPending context from context.store.{
"buildCommand": "npm run build",
"outputDirectory": "dist",
"agents": {
"framework": "crewai",
"dir": "agents",
}
}
| Field | Value | Purpose |
|-------|-------|---------|
| agents.framework | crewai | Tells the runtime to load the CrewAI agent handler |
| agents.dir | agents | Directory containing stream.py and crew definitions |
| buildCommand | npm run build | Vite production build for the frontend |
| outputDirectory | dist | Static assets served alongside the agent |
MIT
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/crewai-51587-delin-marketing-campaign/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-51587-delin-marketing-campaign/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-51587-delin-marketing-campaign/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
The Frontend for Agents & Generative UI. React + Angular
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-51587-delin-marketing-campaign/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-51587-delin-marketing-campaign/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-51587-delin-marketing-campaign/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-51587-delin-marketing-campaign/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-51587-delin-marketing-campaign/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-51587-delin-marketing-campaign/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_REPOS",
"generatedAt": "2026-10-10T05:43:53.641Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "crewai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "multi-agent",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}Facts JSON
[
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "51587",
"href": "https://github.com/51587/delin-marketing-campaign",
"sourceUrl": "https://github.com/51587/delin-marketing-campaign",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T15:16:43.349Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/crewai-51587-delin-marketing-campaign/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-51587-delin-marketing-campaign/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T15:16:43.349Z",
"isPublic": true
},
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/crewai-51587-delin-marketing-campaign/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-51587-delin-marketing-campaign/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to delin-marketing-campaign and adjacent AI workflows.