Managing Campaigns With AI
6 min read
Cycle AI is not just for creating new campaigns. You can also edit, pause, activate, delete, and duplicate existing campaigns through natural language — including bulk actions across multiple campaigns at once. Every action is routed through a confirmation card, so nothing is changed until you approve it.
Supported Actions #
| Action | Example prompt | What happens |
|---|---|---|
| Edit | “Change the Summer Sale discount to 30%” | Updates fields on an existing campaign |
| Pause | “Pause the Black Friday preview” | Suspends an active campaign |
| Activate | “Activate my Pride draft” | Launches a draft or scheduled campaign immediately |
| Delete | “Delete the old Easter campaign” | Permanently removes a campaign |
| Duplicate | “Duplicate last year’s Christmas sale with 20% off instead of 15%” | Creates a copy, optionally with modifications |
How Cycle AI Finds the Right Campaign #
Cycle AI receives a full list of your active, scheduled, and draft campaigns as part of its store context — each with its ID, name, and status. When you refer to a campaign by name, the AI matches it against that list and resolves to the correct campaign ID.
You can refer to a campaign several ways:
- By name: “Change the Summer Sale to 30%”
- By partial name: “Pause the Pride one”
- By status: “Pause all active campaigns”
- By recency: “Delete last month’s Black Friday draft”
- By list: “Activate the three scheduled Pride campaigns”
If the AI can’t find a match, it responds with a plain text message asking you to clarify:
I couldn’t find a campaign called “Weekend Blaster” — could you clarify? I see a “Weekend Flash” and a “Weekend Sale” in your list.
The Confirmation Card #
When the AI proposes an action, you get a confirmation card in the chat — it’s not the same as a campaign preview. The confirmation card shows:
For Edit #
- Campaign name(s) being edited
- Before / after diff of each changed field
- AI’s reasoning for the change
- Confirm and Cancel buttons
For Pause / Activate #
- Campaign name(s)
- Current status → new status
- AI’s reasoning
- Confirm and Cancel buttons
For Delete #
- Campaign name(s) being deleted
- A warning — delete is permanent and cannot be undone
- AI’s reasoning
- Confirm and Cancel buttons
For Duplicate #
- Source campaign name
- Changes to apply to the copy (if any)
- AI’s reasoning
- Confirm and Cancel buttons
Nothing happens until you click Confirm. Clicking Cancel dismisses the card and leaves everything untouched.
Bulk Actions #
Cycle AI supports acting on multiple campaigns in a single confirmation:
Example prompts #
- “Pause all active campaigns”
- “Delete every expired draft”
- “Activate the three scheduled Pride campaigns”
- “Change the discount on all summer campaigns to 25%”
The confirmation card lists every campaign that will be affected. You can review the full list before confirming. One click applies the action to all of them.
Behind the scenes, each campaign is updated individually through the same service layer the plugin’s action buttons use, so the same security checks, guardrails, and hooks run for every item in the batch.
What Can Be Edited via AI #
The AI can edit fields on an existing campaign using plain language. Common editable fields:
- Campaign name and description
- Discount value (percentage, fixed amount, tier values, threshold amounts)
- Discount type (Pro types — tiered, spend threshold, bundle — require Pro on both sides)
- Start and end dates
- Priority level
- Badge text and appearance
- Product scope (add/remove specific products or categories)
- Recurring pattern
Field validation runs before the confirmation card is built. If a proposed value is out of range or invalid, the AI returns an error message instead of a confirmation.
Feature Gates #
Some edits are restricted based on your plan:
| Action | Free | Pro |
|---|---|---|
| Edit basic fields (name, %, dates, priority) | ✓ | ✓ |
| Change to a Pro discount type (tiered, spend threshold, bundle) | — | ✓ |
| Pause / activate / delete | ✓ | ✓ |
| Duplicate | ✓ | ✓ |
| Duplicate with a change to a Pro discount type | — | ✓ |
Note: Access to Cycle AI itself is Pro-only. The gate table above describes what the AI can do when editing existing campaigns — the AI’s system prompt is also plan-aware, so it steers Free-plan merchants away from Pro discount types in the first place.
Error Bubbles #
If an action can’t be performed, you get an error bubble instead of a confirmation card:
| Scenario | Example message |
|---|---|
| Campaign name not found | “I couldn’t find a campaign called ‘Weekend Blaster’ — could you clarify?” |
| Already in requested state | “‘Summer Sale’ is already paused.” |
| Invalid value | “A discount of 150% isn’t valid — the max is 100%.” |
| Feature gated | “Switching to tiered pricing requires Pro. Upgrade to unlock advanced discount types.” |
A Typical Management Conversation #
You: Which campaigns are running right now?
Cycle AI: You have 3 active campaigns:
- Summer Sale (20% off T-shirts, ends in 5 days)
- Weekend Flash (15% off bestsellers, ends tomorrow)
- Clearance (40% off slow movers, ends in 12 days)
You: Pause Weekend Flash
Cycle AI: [Confirmation card]
Action: Pause
Campaign: Weekend Flash
Current status: Active → Paused
Reasoning: You asked to pause the Weekend Flash campaign.
[Confirm] [Cancel]
You: [clicks Confirm]
Cycle AI: ✓ Weekend Flash is now paused.
You: Bump the Summer Sale discount to 25%
Cycle AI: [Confirmation card]
Action: Edit
Campaign: Summer Sale
Changes:
discount_value: 20% → 25%
Reasoning: Raising the Summer Sale discount from 20% to 25% as requested.
[Confirm] [Cancel]
You: [clicks Confirm]
Cycle AI: ✓ Summer Sale updated — discount now 25%.
Three management actions, one daily quota use (the same conversation).
Under the Hood #
Every action the AI proposes is routed through the same service layer that powers the plugin’s native action buttons:
- Edit → Campaign Manager’s
update() - Pause → Campaign Manager’s
pause() - Activate → Campaign Manager’s
activate()(with guardrail gate) - Delete → Campaign Manager’s
delete() - Duplicate → Campaign Manager’s
duplicate()
This means:
- The same capability checks apply — users need the same permissions they’d need to click the button
- The same validation runs on field values
- The same hooks fire, so external integrations that listen for campaign changes still work
- The same guardrail gates apply on activation
- The Campaign Intelligence cache is invalidated so the next page load shows a fresh verdict
Cycle AI is a front door to your existing campaign controls, not a parallel system that bypasses them.
Management Best Practices #
- Be specific about the target. If you have multiple similar campaigns, name one distinctly or reference it by status (“the active Summer Sale”) to avoid ambiguity.
- Read the confirmation before clicking Confirm. Especially for Delete and bulk actions — the card shows exactly what will happen.
- Use bulk wisely. “Pause all active campaigns” is a broad hammer. Double-check the list on the confirmation card.
- Delete is permanent. There is no undo. If you’re not sure, pause instead.
- Pair with Intelligence. Ask “which campaigns need attention?” to get Intelligence’s read on your portfolio, then use management actions to fix whatever’s flagged.