Campaigns Guide
Send targeted marketing messages to your leads with KwenTalk Campaigns.
Quick Start
Campaigns let you send announcements, promotions, and updates directly to your leads' chat conversations. You can write your own message or let AI generate content for you, then send immediately or schedule for later.
For Business Owners
How to Create a Campaign
- Open Campaigns: Click the Megaphone icon in the sidebar
- Click "New Campaign": Opens the campaign creation wizard
- Step 1 - Basic Info:
- Select your chatbot (campaign targets leads from one chatbot)
- Enter a campaign name (e.g., "January Promo")
- Choose campaign type (Announcement, Promo, Follow-up, Seasonal, Custom)
- Optionally add a description
- Step 2 - Message Content:
- Write your message manually, OR
- Use AI Generate to create content (select tone: Professional, Friendly, or Casual)
- Add images (up to 4) by clicking the image button
- Use template variables like
{name}for personalization
- Step 3 - Target & Review:
- Select audience: All Leads or Filtered (by tags, status, or score)
- Preview message with images
- Review recipient count
- Send or Schedule:
- Click Send Now for immediate delivery, or
- Click Schedule and pick a date/time
How to Edit a Campaign
Only draft campaigns can be edited:
- Open the campaign from the list
- Click Edit Campaign button
- Make your changes in the wizard
- Save as draft or send
How to Reset a Campaign
If a campaign was sent, failed, or cancelled, you can reset it to draft:
- Open the campaign detail page
- Click Reset to Draft button
- Edit and resend as needed
Template Variables
Personalize messages with these variables:
| Variable | What it shows |
|---|---|
{name} | Lead's name (or "there" if unknown) |
{chatbot_name} | Your chatbot's name |
{organization_name} | Your business name |
Example:
Hi {name}! Special offer just for you from {chatbot_name}!
Becomes: "Hi Juan! Special offer just for you from Cake Shop!"
Understanding Campaign Status
| Status | Meaning |
|---|---|
| Draft | Not sent yet, can be edited |
| Scheduled | Will send at the scheduled time |
| Sending | Currently being delivered |
| Sent | Successfully delivered |
| Failed | Delivery failed (can reset to draft) |
| Cancelled | Was scheduled but cancelled |
Tips
- Use AI generation to quickly create professional messages
- Preview your message before sending to see how it looks with images
- Filter by tags to send targeted promotions (e.g., only "vip" customers)
- Schedule campaigns for optimal times (e.g., 9 AM on weekdays)
- Check recipient count before sending to avoid surprises
Using AI to Create Campaigns
Via the Web Dashboard
- In Step 2 of campaign creation, find the AI Generate section
- Enter a brief prompt (e.g., "20% discount on all cakes this weekend")
- Select tone: Professional, Friendly, or Casual
- Click Generate
- Review the generated message and 2 alternatives
- Click on any suggestion to use it
Via KwenTalk Assistant
You can also create campaigns by chatting with the KwenTalk Assistant:
You: "Create a promo campaign for my VIP customers about our new summer collection"
AI: I'll create a campaign for your VIP customers. Let me check your lead tags first...
You have 15 leads tagged "vip". Here's the campaign:
"Exclusive for our VIPs! Be the first to shop our new summer collection.
Use code VIP20 for 20% off. Valid this week only!"
Ready to send now or schedule for later?
You: "Schedule for Monday 9am"
AI: Done! Campaign scheduled for Monday, January 27 at 9:00 AM.
FAQ
Common Questions
Q: Who receives campaign messages? A: Only leads from the selected chatbot who match your targeting criteria. Leads without an active chat are skipped.
Q: Can I send images in campaigns? A: Yes! You can attach up to 4 images. They will appear in the chat along with your message.
Q: What happens if a campaign fails? A: You can reset it to draft, fix any issues, and resend. Failed recipients will be retried.
Q: Can I edit a sent campaign? A: No, but you can reset it to draft and create a new version.
Q: Do campaigns affect automated follow-ups? A: No. Campaigns and AI follow-ups are separate. Leads can receive both.
Troubleshooting
Issue: Campaign stuck in "Sending" status Solution: Wait a few minutes. Large campaigns process in batches. If it stays stuck, contact support.
Issue: Some recipients were skipped Solution: Check the campaign detail page. Leads without an active chat conversation are automatically skipped.
Issue: Images not showing in preview Solution: Make sure images finished uploading (green checkmark). Large images may take longer.
For Recipients (Customers)
When you receive a campaign message:
- It appears in your chat conversation with the business
- You'll get a push notification (if you have the app installed)
- You can reply directly in the chat
- The business will see your response and can continue the conversation
Mobile App (Planned)
Status: Not yet implemented. This section documents the planned mobile UI/UX for future development.
Planned Features
The mobile Campaigns feature will allow business owners to create and manage campaigns on-the-go:
Campaign List Screen
- Pattern: Follow Leads page pattern (FlatList with search/filter)
- Elements:
- Search bar to filter campaigns by name
- Filter chips: All, Draft, Scheduled, Sent
- Campaign cards showing: name, status badge, recipient count, date
- FAB (Floating Action Button) to create new campaign
- Pull-to-refresh
Campaign Detail Screen
- Pattern: Follow Booking Details pattern (header + scrollable content)
- Elements:
- Status badge with color coding
- Campaign stats (recipients, delivered, opened)
- Message preview with images
- Action buttons: Edit (draft only), Reset to Draft, Cancel (scheduled only)
- Recipient list with delivery status
Campaign Creation Flow
- Pattern: Multi-step bottom sheet or dedicated screens
- Step 1 - Setup:
- Chatbot selector (dropdown)
- Campaign name input
- Type selector (chip group)
- Step 2 - Content:
- Text input with character count
- AI Generate button → opens AI prompt sheet
- Image picker (grid of 4 slots)
- Template variable quick-insert buttons
- Step 3 - Target:
- Toggle: All Leads / Filtered
- Tag multi-select (if filtered)
- Lead status filter
- Preview recipient count
- Step 4 - Review & Send:
- Full message preview
- Schedule toggle with date/time picker
- Send/Schedule button
AI Generation Sheet
- Text input for prompt
- Tone selector (segmented control): Professional | Friendly | Casual
- Generate button
- Results as tappable cards (3 suggestions)
API Hooks Needed
// apps/mobile/lib/api/hooks.ts
useCampaigns(chatbotId?: string) // List campaigns with filters
useCampaign(campaignId: string) // Single campaign details
useCreateCampaign() // Mutation for creation
useUpdateCampaign() // Mutation for updates
useSendCampaign() // Mutation to send/schedule
useResetCampaign() // Mutation to reset to draft
useGenerateCampaignContent() // AI content generation
File Structure (Planned)
apps/mobile/app/(app)/(tabs)/campaigns/
├── index.tsx # Campaign list
├── [id].tsx # Campaign detail
├── create.tsx # Creation flow (or use bottom sheet)
└── edit/[id].tsx # Edit flow
apps/mobile/components/campaigns/
├── CampaignCard.tsx # List item component
├── CampaignStatusBadge.tsx
├── CampaignForm/
│ ├── SetupStep.tsx
│ ├── ContentStep.tsx
│ ├── TargetStep.tsx
│ └── ReviewStep.tsx
├── AIGenerateSheet.tsx
└── RecipientList.tsx
Implementation Notes
- Use existing Leads filter UI as reference for targeting
- Reuse image picker from chat attachments
- Consider offline draft saving
- Push notification when scheduled campaign is sent