All skills
twitterreddityoutubetiktokinstagramforums Brand & Social Listening

Omnichannel Brand Sentiment Pulse

Track one brand keyword across the social networks you choose and roll it into a single share-of-positive scoreboard

Run this skill with your agent
1. Connect the MCP server
https://apidirect.io/mcp?token=YOUR_API_KEY
2. Then ask your agent — name the skill so it runs this exact playbook
Use the omnichannel-brand-sentiment-pulse skill: Build me an omnichannel sentiment pulse for {brand} and scope the TikTok read to {region}
Naming the skill (omnichannel-brand-sentiment-pulse) makes your agent run this exact playbook instead of improvising its own searches. In clients that support MCP prompts (Claude Desktop, Claude Code, Cursor) it also appears as a prompt named omnichannel-brand-sentiment-pulse, and any agent can call get_skill(skill_id="omnichannel-brand-sentiment-pulse") directly.

What it does

Each network has a different mood; running the same query with get_sentiment across up to six social surfaces — X, Reddit, YouTube, TikTok, Instagram and niche forums — and normalizing the polarity splits turns scattered chatter into one comparable reputation score you can scope to just the channels that matter.

Who it's for: Brand and comms leads who need one number for how a brand is perceived

Inputs

Input Required Description Example
brand Yes Brand or product name to monitor Notion
platforms No Comma-separated list of platforms to run — options: twitter, reddit, youtube, tiktok, instagram, forums. Omit to run all of them; name specific platforms to limit the run. twitter, reddit, instagram
region No 2-letter country code to scope TikTok results and niche-forum results us

How your agent runs it

  1. 1
    search_twitter(query={brand}, pages=10, sort_by=most_recent, get_sentiment=true)

    Only run if {platforms} is unset or includes twitter: Tally positive/negative/neutral polarity and the dominant emotion for the X channel.

  2. 2
    search_reddit(query={brand}, page=5, sort_by=top, get_sentiment=true)

    Only run if {platforms} is unset or includes reddit: Capture the Reddit polarity split and pull the most-upvoted complaint threads.

  3. 3
    search_youtube(query={brand}, pages=3, upload_date=this_month, get_sentiment=true)

    Only run if {platforms} is unset or includes youtube: Score this month's video coverage sentiment and note the loudest creators.

  4. 4
    search_tiktok(query={brand}, pages=3, publish_time=30, sort_by=most_liked, get_sentiment=true)

    Only run if {platforms} is unset or includes tiktok: Gauge short-video buzz and the dominant emotion on the most-liked recent clips, scoped to {region} when provided.

  5. 5
    search_instagram(query={brand}, pages=3, get_sentiment=true)

    Only run if {platforms} is unset or includes instagram: Score caption and post sentiment and the dominant emotion on recent brand posts to capture the visual/creator channel.

  6. 6
    search_forums(query={brand}, time=month, get_sentiment=true)

    Only run if {platforms} is unset or includes forums: Add niche-community sentiment (scoped to {region} when provided), then normalize whichever channels were run into one weighted share-of-positive scoreboard.

Delivers: A single-page scoreboard showing share-of-positive, dominant emotion, and top quotes for the brand on each selected network, plus a blended cross-channel sentiment score.

Tools used

The full playbook

This is exactly what the MCP returns to your agent (via the omnichannel-brand-sentiment-pulse prompt or get_skill tool), with your inputs filled in.

SKILL: Omnichannel Brand Sentiment Pulse
Each network has a different mood; running the same query with get_sentiment across up to six social surfaces — X, Reddit, YouTube, TikTok, Instagram and niche forums — and normalizing the polarity splits turns scattered chatter into one comparable reputation score you can scope to just the channels that matter.

You are running this skill on API Direct via its MCP tools. Execute the steps below yourself by calling the named tools in order — values in <angle brackets> come from a previous step. Then deliver the result described at the end.

INPUTS:
  - brand (required): <brand — ASK THE USER>
      Brand or product name to monitor
  - platforms (optional): (optional — e.g. twitter, reddit, instagram)
      Comma-separated list of platforms to run — options: twitter, reddit, youtube, tiktok, instagram, forums. Omit to run all of them; name specific platforms to limit the run.
  - region (optional): (optional — e.g. us)
      2-letter country code to scope TikTok results and niche-forum results

PLATFORM SELECTION: some steps are gated with "Only run if {platforms} includes X". If the user supplied a `platforms` value, run only the steps whose platform is listed. If the user did NOT supply `platforms`, run ALL steps — every platform the skill supports.

STEPS:
  1. Tool `search_twitter` — search_twitter(query={brand}, pages=10, sort_by=most_recent, get_sentiment=true)
     Only run if {platforms} is unset or includes twitter: Tally positive/negative/neutral polarity and the dominant emotion for the X channel.
  2. Tool `search_reddit` — search_reddit(query={brand}, page=5, sort_by=top, get_sentiment=true)
     Only run if {platforms} is unset or includes reddit: Capture the Reddit polarity split and pull the most-upvoted complaint threads.
  3. Tool `search_youtube` — search_youtube(query={brand}, pages=3, upload_date=this_month, get_sentiment=true)
     Only run if {platforms} is unset or includes youtube: Score this month's video coverage sentiment and note the loudest creators.
  4. Tool `search_tiktok` — search_tiktok(query={brand}, pages=3, publish_time=30, sort_by=most_liked, get_sentiment=true)
     Only run if {platforms} is unset or includes tiktok: Gauge short-video buzz and the dominant emotion on the most-liked recent clips, scoped to {region} when provided.
  5. Tool `search_instagram` — search_instagram(query={brand}, pages=3, get_sentiment=true)
     Only run if {platforms} is unset or includes instagram: Score caption and post sentiment and the dominant emotion on recent brand posts to capture the visual/creator channel.
  6. Tool `search_forums` — search_forums(query={brand}, time=month, get_sentiment=true)
     Only run if {platforms} is unset or includes forums: Add niche-community sentiment (scoped to {region} when provided), then normalize whichever channels were run into one weighted share-of-positive scoreboard.

DELIVER: A single-page scoreboard showing share-of-positive, dominant emotion, and top quotes for the brand on each selected network, plus a blended cross-channel sentiment score.

Note: each underlying tool call is billed at its normal endpoint price; get_sentiment adds a small per-page surcharge. Page through results as needed but stop once you have enough to deliver the outcome.