search_campaigns
Filter and retrieve campaigns from MoEngage by channel, status, delivery type, creator, date range, name, tags, or campaign ID. Paginate through results with page and limit parameters.
Instructions
Search MoEngage campaigns with optional filters and pagination.
All filters combine with AND logic — all provided filters must match. Zero results is not an error: returns {success: true, campaigns: [], has_more: false}.
channels: List of channels to filter by (e.g. ["EMAIL", "PUSH", "SMS"]) delivery_type: List of delivery types (ONE_TIME, PERIODIC, EVENT_TRIGGERED, BUSINESS_EVENT_TRIGGERED, DEVICE_TRIGGERED, LOCATION_TRIGGERED, BROADCAST_LIVE_ACTIVITY) status: List of statuses (ACTIVE, SCHEDULED, PAUSED, SENT, STOPPED, ARCHIVED) created_by: List of creator email addresses created_date_from: ISO date string for range start (required with created_date_to) created_date_to: ISO date string for range end (required with created_date_from) campaign_id: Filter by specific campaign ID (regular filter, not a direct lookup) name: Substring match on campaign name (case-insensitive) tags: List of tags to filter by page: Page number, starting at 1 (default: 1) limit: Results per page, 1–15 (default: 10) include_child_campaigns: Include child campaign executions in results (default: false) include_archive_campaigns: Include archived campaigns in results (default: false)
Date range: created_date_from and created_date_to must both be provided together.
Rate limit: 5/min, 25/hr, 100/day.
Pagination: page (1-indexed) + limit (max 15). has_more is heuristic (count == limit) — may false-positive on exact multiples of limit.
Note: Returns full raw campaign objects from the API — no field curation. Additional fields beyond the basics include: flow_id, flow_name, parent_id, basic_details.name, basic_details.tags, scheduling_details, among others.
Field name differences vs get_campaign_meta: status vs campaign_status, basic_details.name vs campaign_name, parent_id vs parent_campaign_id.
Returns: {success: true, campaigns: [full_campaign_object], page, limit, has_more} {success: false, error, status_code, api_response} on API error.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| channels | No | ||
| delivery_type | No | ||
| status | No | ||
| created_by | No | ||
| created_date_from | No | ||
| created_date_to | No | ||
| campaign_id | No | ||
| name | No | ||
| tags | No | ||
| page | No | ||
| limit | No | ||
| include_child_campaigns | No | ||
| include_archive_campaigns | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||