Activities#
See how an AI assistant can help with activities in Brandwave, including example prompts and the details it may ask for.
Using your AI assistant
List activities#
Retrieve a paginated list of activities for an organization.
Tool name: list_activities. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.
Example prompt#
List all activities in my organization.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| pageIndex | integer | Required | Zero-based page index for pagination. |
| pageSize | integer | Required | Number of items per page (1-100). |
| organizationId | string (UUID) | Required | Organization identifier. |
| searchTerm | string | — | Free-text search term to filter results (max 200 characters). |
| sortBy | string | — | Column name to sort by. |
| sortDirection | 'asc' | 'desc' | — | Sort direction: ascending or descending. |
| channelType | 'social_media' | 'broadcast' | 'out_of_home' | 'print' | 'events' | 'podcasts' | 'pr_articles' | — | Filter by channel group. |
| channelTypes | Array<'social_media' | 'broadcast' | 'out_of_home' | 'print' | 'events' | 'podcasts' | 'pr_articles'> | — | Filter by one or more channel groups. |
| channel | 'instagram' | 'youtube' | 'tiktok' | 'twitter' | 'linkedin' | 'reddit' | 'radio' | 'television' | 'billboard' | 'bus_shelter' | 'street_furniture' | 'digital_outdoor_screen' | 'transit_ad' | 'newspaper' | 'magazine' | 'flyer' | 'conference' | 'trade_show' | 'expo' | 'networking_event' | 'community_event' | 'festival' | 'other_event' | 'podcast_interview' | 'podcast_guest_segment' | 'podcast_sponsored_segment' | 'other_podcast' | 'online_pr_article' | 'print_pr_article' | 'syndicated_pr_article' | 'other_pr_article' | — | Filter by specific channel. |
| channels | Array<'instagram' | 'youtube' | 'tiktok' | 'twitter' | 'linkedin' | 'reddit' | 'radio' | 'television' | 'billboard' | 'bus_shelter' | 'street_furniture' | 'digital_outdoor_screen' | 'transit_ad' | 'newspaper' | 'magazine' | 'flyer' | 'conference' | 'trade_show' | 'expo' | 'networking_event' | 'community_event' | 'festival' | 'other_event' | 'podcast_interview' | 'podcast_guest_segment' | 'podcast_sponsored_segment' | 'other_podcast' | 'online_pr_article' | 'print_pr_article' | 'syndicated_pr_article' | 'other_pr_article'> | — | Filter by one or more specific channels. |
| creatorId | string (UUID) | — | Filter by creator identifier. |
| mediaProviderId | string (UUID) | — | Filter by media provider identifier. |
| campaignId | string (UUID) | — | Filter by campaign identifier. |
| unlinkedFromCampaign | boolean | — | Exclude campaign-linked activities. |
| unlinkedFromCreatorId | string (UUID) | — | Exclude links to this creator. |
What you'll get back#
Returns { items, totalCount, facets, _meta } with paginated results.
Count activities#
Get the total number of activities matching the given filters.
Tool name: count_activities. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.
Example prompt#
How many activities do I have?Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| organizationId | string (UUID) | Required | Organization identifier. |
| channelType | 'social_media' | 'broadcast' | 'out_of_home' | 'print' | 'events' | 'podcasts' | 'pr_articles' | — | Filter by channel group. |
| channelTypes | Array<'social_media' | 'broadcast' | 'out_of_home' | 'print' | 'events' | 'podcasts' | 'pr_articles'> | — | Filter by one or more channel groups. |
| channel | 'instagram' | 'youtube' | 'tiktok' | 'twitter' | 'linkedin' | 'reddit' | 'radio' | 'television' | 'billboard' | 'bus_shelter' | 'street_furniture' | 'digital_outdoor_screen' | 'transit_ad' | 'newspaper' | 'magazine' | 'flyer' | 'conference' | 'trade_show' | 'expo' | 'networking_event' | 'community_event' | 'festival' | 'other_event' | 'podcast_interview' | 'podcast_guest_segment' | 'podcast_sponsored_segment' | 'other_podcast' | 'online_pr_article' | 'print_pr_article' | 'syndicated_pr_article' | 'other_pr_article' | — | Filter by specific channel. |
| channels | Array<'instagram' | 'youtube' | 'tiktok' | 'twitter' | 'linkedin' | 'reddit' | 'radio' | 'television' | 'billboard' | 'bus_shelter' | 'street_furniture' | 'digital_outdoor_screen' | 'transit_ad' | 'newspaper' | 'magazine' | 'flyer' | 'conference' | 'trade_show' | 'expo' | 'networking_event' | 'community_event' | 'festival' | 'other_event' | 'podcast_interview' | 'podcast_guest_segment' | 'podcast_sponsored_segment' | 'other_podcast' | 'online_pr_article' | 'print_pr_article' | 'syndicated_pr_article' | 'other_pr_article'> | — | Filter by one or more specific channels. |
| creatorId | string (UUID) | — | Filter by creator identifier. |
| mediaProviderId | string (UUID) | — | Filter by media provider identifier. |
| campaignId | string (UUID) | — | Filter by campaign identifier. |
What you'll get back#
Returns { count, _meta }.
Get activity stats#
Aggregate statistics for activities matching the given filters.
Tool name: get_activity_stats. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.
Example prompt#
Give me a summary of my activity performance.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| organizationId | string (UUID) | Required | Organization identifier. |
| channelType | 'social_media' | 'broadcast' | 'out_of_home' | 'print' | 'events' | 'podcasts' | 'pr_articles' | — | Filter by channel group. |
| channelTypes | Array<'social_media' | 'broadcast' | 'out_of_home' | 'print' | 'events' | 'podcasts' | 'pr_articles'> | — | Filter by one or more channel groups. |
| channel | 'instagram' | 'youtube' | 'tiktok' | 'twitter' | 'linkedin' | 'reddit' | 'radio' | 'television' | 'billboard' | 'bus_shelter' | 'street_furniture' | 'digital_outdoor_screen' | 'transit_ad' | 'newspaper' | 'magazine' | 'flyer' | 'conference' | 'trade_show' | 'expo' | 'networking_event' | 'community_event' | 'festival' | 'other_event' | 'podcast_interview' | 'podcast_guest_segment' | 'podcast_sponsored_segment' | 'other_podcast' | 'online_pr_article' | 'print_pr_article' | 'syndicated_pr_article' | 'other_pr_article' | — | Filter by specific channel. |
| channels | Array<'instagram' | 'youtube' | 'tiktok' | 'twitter' | 'linkedin' | 'reddit' | 'radio' | 'television' | 'billboard' | 'bus_shelter' | 'street_furniture' | 'digital_outdoor_screen' | 'transit_ad' | 'newspaper' | 'magazine' | 'flyer' | 'conference' | 'trade_show' | 'expo' | 'networking_event' | 'community_event' | 'festival' | 'other_event' | 'podcast_interview' | 'podcast_guest_segment' | 'podcast_sponsored_segment' | 'other_podcast' | 'online_pr_article' | 'print_pr_article' | 'syndicated_pr_article' | 'other_pr_article'> | — | Filter by one or more specific channels. |
| creatorId | string (UUID) | — | Filter by creator identifier. |
| mediaProviderId | string (UUID) | — | Filter by media provider identifier. |
| campaignId | string (UUID) | — | Filter by campaign identifier. |
| searchTerm | string | — | Free-text search term to filter results (max 200 characters). |
What you'll get back#
Returns { data, _meta } with the result.
Create activity#
Create social or provider-delivered activity with channel-specific delivery details, metrics, an optional creator or media provider, and an initial cost.
Tool name: create_activity. Protocol hints: readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false.
Example prompt#
Create a new activity.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| organizationId | string (UUID) | Required | Organization identifier. |
| channelType | 'social_media' | 'broadcast' | 'out_of_home' | 'print' | 'events' | 'podcasts' | 'pr_articles' | — | Top-level channel group for this activity. |
| channel | 'instagram' | 'youtube' | 'tiktok' | 'twitter' | 'linkedin' | 'reddit' | 'radio' | 'television' | 'billboard' | 'bus_shelter' | 'street_furniture' | 'digital_outdoor_screen' | 'transit_ad' | 'newspaper' | 'magazine' | 'flyer' | 'conference' | 'trade_show' | 'expo' | 'networking_event' | 'community_event' | 'festival' | 'other_event' | 'podcast_interview' | 'podcast_guest_segment' | 'podcast_sponsored_segment' | 'other_podcast' | 'online_pr_article' | 'print_pr_article' | 'syndicated_pr_article' | 'other_pr_article' | Required | Specific activity channel or subtype. |
| activity | 'instagram_story' | 'instagram_post' | 'instagram_reel' | 'youtube_video' | 'youtube_short' | 'tiktok_video' | 'twitter_post' | 'linkedin_post' | 'reddit_post' | null | — | |
| name | string | Required | Activity name or title (max 500 characters). |
| startAt | string (ISO 8601) | null | null | — | |
| endAt | string (ISO 8601) | null | null | — | |
| creatorId | string (UUID) | — | Creator to auto-link to this activity. |
| mediaProviderId | string (UUID) | null | — | Media provider for a provider-delivered activity. |
| impressions | integer | null | — | Delivered or estimated impression count. |
| deliverySource | 'platform_reported' | 'provider_reported' | 'user_entered' | 'benchmark_estimated' | 'modeled' | null | — | Provenance of the delivered activity metrics. |
| deliverySourceMetadata | object | null | — | Structured provenance metadata for delivered activity metrics. |
| initialCost | object | — | Optional initial cost line item to create with the activity. |
| broadcastDetails | object | — | Broadcast placement and delivery details. |
| outOfHomeDetails | object | — | Out-of-home placement and delivery details. |
| printDetails | object | — | Print placement and delivery details. |
| eventDetails | object | — | Event participation and delivery details. |
| podcastDetails | object | — | Podcast placement and delivery details. |
| prArticleDetails | object | — | PR article placement and delivery details. |
What you'll get back#
Returns { data, _meta } with the result.
Update activity#
Update an activity's channel, content link, metrics, media provider, or channel-specific delivery details.
Tool name: update_activity. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false.
Example prompt#
Update the activity.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| id | string (UUID) | Required | Activity identifier to update. |
| channelType | 'social_media' | 'broadcast' | 'out_of_home' | 'print' | 'events' | 'podcasts' | 'pr_articles' | — | Top-level channel group for this activity. |
| channel | 'instagram' | 'youtube' | 'tiktok' | 'twitter' | 'linkedin' | 'reddit' | 'radio' | 'television' | 'billboard' | 'bus_shelter' | 'street_furniture' | 'digital_outdoor_screen' | 'transit_ad' | 'newspaper' | 'magazine' | 'flyer' | 'conference' | 'trade_show' | 'expo' | 'networking_event' | 'community_event' | 'festival' | 'other_event' | 'podcast_interview' | 'podcast_guest_segment' | 'podcast_sponsored_segment' | 'other_podcast' | 'online_pr_article' | 'print_pr_article' | 'syndicated_pr_article' | 'other_pr_article' | — | Updated channel. |
| activity | 'instagram_story' | 'instagram_post' | 'instagram_reel' | 'youtube_video' | 'youtube_short' | 'tiktok_video' | 'twitter_post' | 'linkedin_post' | 'reddit_post' | null | — | Updated content type. |
| name | string | — | Updated activity name (max 500 characters). |
| startAt | string (ISO 8601) | null | null | — | Updated start date. |
| endAt | string (ISO 8601) | null | null | — | Updated end date. |
| mediaProviderId | string (UUID) | null | — | Updated provider for a provider-delivered activity. |
| impressions | integer | null | — | Updated delivered or estimated impression count. |
| deliverySource | 'platform_reported' | 'provider_reported' | 'user_entered' | 'benchmark_estimated' | 'modeled' | null | — | Updated provenance of the delivered activity metrics. |
| broadcastDetails | object | — | Updated broadcast delivery details. |
| outOfHomeDetails | object | — | Updated out-of-home delivery details. |
| printDetails | object | — | Updated print delivery details. |
| eventDetails | object | — | Updated event delivery details. |
| podcastDetails | object | — | Updated podcast delivery details. |
| prArticleDetails | object | — | Updated PR article delivery details. |
| contentHref | string (URL) | null | — | URL to the original content (max 2,048 characters). |
| viewsCount | integer | null | — | Manual view count override (non-negative integer). |
| likeCount | integer | null | — | Manual like count override (non-negative integer). |
| replyCount | integer | null | — | Manual reply count override (non-negative integer). |
What you'll get back#
Returns { data, _meta } with the result.
Content link changes reset metrics
Delete activity#
Permanently delete an activity and its associated records.
Tool name: delete_activity. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false.
Example prompt#
Delete this activity.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| id | string (UUID) | Required | Activity identifier to delete. |
What you'll get back#
Returns { data, _meta } with the result.
This changes data
Connect activity content link#
Connect a social media post URL to an activity for automatic metric tracking.
Tool name: connect_activity_content_link. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=false.
Example prompt#
Link this content URL to the activity.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| activityId | string (UUID) | Required | Activity identifier to connect the content link to. |
| platform | 'instagram' | 'youtube' | 'tiktok' | 'twitter' | 'linkedin' | 'reddit' | Required | Social media platform for this content. |
| contentUrl | string | Required | URL to the social media content (max 2,048 characters). |
What you'll get back#
Returns { data, _meta } with the result.
Metric refresh
Disconnect activity content link#
Disconnect a content link from an activity, stopping automatic metric tracking.
Tool name: disconnect_activity_content_link. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=false.
Example prompt#
Remove the content link from this activity.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| activityId | string (UUID) | Required | Activity identifier to disconnect the content link from. |
What you'll get back#
Returns { data, _meta } with the result.
List activity creators#
List creators linked to an activity with pagination.
Tool name: list_activity_creators. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.
Example prompt#
List all activity creators in my organization.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| pageIndex | integer | Required | Zero-based page index for pagination. |
| pageSize | integer | Required | Number of items per page (1-100). |
| organizationId | string (UUID) | Required | Organization identifier. |
| activityId | string (UUID) | Required | Activity identifier to list creators for. |
What you'll get back#
Returns { items, totalCount, facets, _meta } with paginated results.
Count activity creators#
Count the number of creators linked to an activity.
Tool name: count_activity_creators. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.
Example prompt#
How many activity creators do I have?Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| organizationId | string (UUID) | Required | Organization identifier. |
| activityId | string (UUID) | Required | Activity identifier to count creators for. |
What you'll get back#
Returns { count, _meta }.
Link activity creator#
Associate a creator with an activity.
Tool name: link_activity_creator. Protocol hints: readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false.
Example prompt#
Add this creator to the activity.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| activityId | string (UUID) | Required | Activity identifier to link. |
| creatorId | string (UUID) | Required | Creator identifier to link. |
What you'll get back#
Returns { data, _meta } with the result.
Unlink activity creator#
Remove a creator association from an activity.
Tool name: unlink_activity_creator. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false.
Example prompt#
Remove this creator from the activity.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| activityId | string (UUID) | Required | Activity identifier to unlink from. |
| creatorId | string (UUID) | Required | Creator identifier to unlink. |
What you'll get back#
Returns { data, _meta } with the result.
Cascading deletion
Create activity cost#
Add a cost line item with net amount, currency, category, creator attribution, tax breakdown, and booking reference.
Tool name: create_activity_cost. Protocol hints: readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false.
Example prompt#
Create a new activity cost.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| activityId | string (UUID) | Required | Activity identifier to add the cost to. |
| amount | number | Required | Cost amount (must be greater than zero, max 100M). |
| categoryId | string (UUID) | Required | Reusable cost category identifier. |
| currency | string | Required | ISO 4217 currency code, e.g. "USD", "NZD" (exactly 3 characters). |
| description | string | null | — | Optional description of this cost line item (max 1,000 characters). |
| creatorId | string (UUID) | null | — | Creator this cost is attributed to. |
| grossAmount | number | null | — | Gross booked cost before discounts and tax adjustments. |
| discountAmount | number | null | — | Discount applied to the gross booked cost. |
| taxAmount | number | null | — | Tax amount recorded for the cost. |
| bookingReference | string | null | — | Provider booking or insertion-order reference. |
What you'll get back#
Returns { data, _meta } with the result.
Auto-linking
Update activity cost#
Update a cost line item's net, gross, discount, and tax amounts, category, creator attribution, description, or booking reference.
Tool name: update_activity_cost. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false.
Example prompt#
Update the activity cost.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| id | string (UUID) | Required | Cost record identifier to update. |
| amount | number | — | Updated cost amount (must be greater than zero, max 100M). |
| categoryId | string (UUID) | — | Updated reusable cost category identifier. |
| description | string | null | — | Updated description (max 1,000 characters). |
| creatorId | string (UUID) | null | — | Updated creator attribution. |
| grossAmount | number | null | — | Gross booked cost before discounts and tax adjustments. |
| discountAmount | number | null | — | Discount applied to the gross booked cost. |
| taxAmount | number | null | — | Tax amount recorded for the cost. |
| bookingReference | string | null | — | Provider booking or insertion-order reference. |
What you'll get back#
Returns { data, _meta } with the result.
Delete activity cost#
Remove a cost line item from an activity.
Tool name: delete_activity_cost. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false.
Example prompt#
Delete this activity cost.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| id | string (UUID) | Required | Cost record identifier to delete. |
What you'll get back#
Returns { data, _meta } with the result.
Get metric confidence#
Assess the statistical confidence of an activity's metrics.
Tool name: get_metric_confidence. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.
Example prompt#
How reliable are the metrics for this activity?Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| organizationId | string (UUID) | Required | Organization identifier. |
| startDate | string | null | — | Start date for confidence calculation window. |
| endDate | string | null | — | End date for confidence calculation window. |
What you'll get back#
Returns { data, _meta } with the result.
List sparklines#
Fetch sparkline chart data for one or more activities.
Tool name: list_sparklines. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.
Example prompt#
Show me performance trends for my activities.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| activityIds | Array<string (UUID)> | Required | Array of activity identifiers to fetch sparkline data for. |
What you'll get back#
Returns { items, totalCount, facets, _meta } with paginated results.
Get activity#
Retrieve a single activity by ID with full details.
Tool name: get_activity. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.
Example prompt#
Show me the details for this activity.Details to provide#
| Name | Type | Required | Description |
|---|---|---|---|
| id | string (UUID) | Required | Activity identifier. |
What you'll get back#
Returns { data, _meta } with the result.