> ## Documentation Index
> Fetch the complete documentation index at: https://docs.topsort.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tomi Agent

> Topsort's AI agent for retail media ad operations

export const LastUpdated = ({date, lang = "en"}) => {
  const translations = {
    en: "Last updated:",
    es: "Última actualización:",
    pt: "Última atualização:",
    fr: "Dernière mise à jour:",
    de: "Zuletzt aktualisiert:"
  };
  const label = translations[lang] || translations.en;
  return <>
<style>{`
.last-updated-component {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 16px;
border-radius: 8px;
margin-top: 12px;
margin-bottom: 16px;
font-size: 14px;
background-color: rgba(0, 0, 0, 0.05);
border: 1px solid rgba(0, 0, 0, 0.12);
color: rgba(0, 0, 0, 0.75);
line-height: 1;
}

        .last-updated-component svg {
          flex-shrink: 0;
          vertical-align: middle;
        }

        .last-updated-component span {
          display: inline-flex !important;
          align-items: center !important;
          line-height: 1 !important;
        }

        [data-theme="dark"] .last-updated-component {
          background-color: #3a3a3a;
          border: 2px solid #888888;
          color: #ffffff;
        }

        [data-theme="dark"] .last-updated-component svg {
          stroke: #ffffff;
        }
      `}</style>
      <div className="last-updated-component">
        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
          <circle cx="12" cy="12" r="10" />
          <polyline points="12 6 12 12 16 14" />
        </svg>
        <span>
          <strong style={{
    fontWeight: 600
  }}>{label}</strong> 
          <time dateTime={date}>{date}</time>
        </span>
      </div>
    </>;
};

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  **Tomi** is Topsort's AI agent for retail media ad operations. It lets retail admins
  **analyze and manage ad campaigns using natural language**.
</div>

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Tomi is available in the sidebar of the **Marketplace Admin view** and
  supports any language.
</div>

## The Problem Tomi Solves

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  As retail media programs grow, ad ops teams are expected to support more
  advertisers, more campaigns, and more reporting requests without proportional
  headcount growth.
</div>

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Teams often spend hours pulling reports, comparing performance across time
  periods, checking pacing, diagnosing ROAS changes, identifying underperforming
  products or keywords, and preparing vendor-facing explanations. Tomi helps turn
  that manual investigation work into a conversational workflow.
</div>

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Tomi can also reduce campaign management overhead by helping users create,
  update, pause, and resume campaigns through natural language.
</div>

## What Tomi Does

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Tomi turns retail media operations into a conversational workflow. Ask questions
  in plain language to investigate performance changes, flag anomalies, and surface
  optimization opportunities across your marketplace data. When write actions are
  enabled, Tomi can also draft campaign changes.
</div>

<CardGroup cols={2}>
  <Card title="Analytics" icon="chart-bar">
    Identify best-performing products, understand category trends, and analyze
    purchase behavior.
  </Card>

  <Card title="Campaign Management" icon="bullhorn">
    Create, view, update, pause, and resume Sponsored Listings campaigns through
    natural language.
  </Card>

  <Card title="Insights" icon="sparkles">
    View AI-generated insights that highlight anomalous trends in key marketplace
    metrics and debug with Tomi. [Learn more](/en/knowledge-base/ad-platform/reporting-and-analytics/insights-tab#insights-tab)
  </Card>

  <Card title="Audience Targeting" icon="users">
    Target loyal or high-value customer segments, exclude recent purchasers, or
    boost specific audiences.
  </Card>
</CardGroup>

## Key Benefits

<Steps>
  <Step title="Find issues faster">
    Tomi helps identify which vendors, campaigns, SKUs, keywords, categories, or
    placements are driving performance changes, so teams can focus on the areas
    that need attention first.
  </Step>

  <Step title="Reduce manual reporting work">
    Teams can investigate performance, summarize trends, and prepare vendor
    updates without repeatedly pulling, joining, and reformatting reports.
  </Step>

  <Step title="Turn analysis into action">
    Tomi can suggest next steps such as reviewing pacing, reallocating budget,
    pausing inefficient spend, checking tracking issues, or preparing a
    seller-facing explanation.
  </Step>

  <Step title="Manage more campaigns with less overhead">
    Teams can create, update, and optimize campaigns across more vendors through
    a single conversational interface, without rebuilding from scratch each time.
  </Step>

  <Step title="Stay in control">
    For any write operations, users review and approve before anything goes live.
    Nothing launches without human sign-off.
  </Step>
</Steps>

## Getting Started

### Prerequisites

* Marketplace Admin access
* At least one active vendor with products in the catalog
* Tomi enabled for your marketplace (contact your Topsort account team if you
  don't see it in your sidebar)

### Accessing Tomi

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Tomi is available directly within the **Marketplace Admin view**. Look for
  the Tomi entry in the sidebar to open the chat interface. No separate login or
  configuration is required.
</div>

## Use Cases

### Analytics

#### Diagnose underperforming campaigns

<Steps>
  <Step title="Find campaigns with poor performance">
    Prompt: *"Find the campaigns where performance looks bad at the campaign level for vendor X, then drill down into SKU and keyword to identify the likely cause."*

    Tomi surfaces results across campaigns, SKUs, and keywords.
  </Step>

  <Step title="Drill into additional dimensions">
    Prompt: *"Also dig into category and placement level data to see if that's where the issue is."*

    Tomi shows additional results, revealing where the underlying issue is.
  </Step>
</Steps>

#### Investigate what changed for a seller

<Steps>
  <Step title="Identify the change">
    Prompt: *"What materially changed for seller X over the last 7 days that explains the change in sales or ROAS?"*

    Tomi compares recent performance against prior periods and highlights the most important changes across many metrics.
  </Step>

  <Step title="Drill into the likely drivers">
    Prompt: *"Which campaigns, SKUs, categories, or keywords contributed most to the change?"*

    Tomi breaks down the results to show where the change is concentrated.
  </Step>

  <Step title="Summarize the recommended action">
    Prompt: *"Summarize the likely cause and what the ad ops team should do next."*

    Tomi turns the analysis into a clear root cause hypothesis and a list of recommended actions, such as reviewing pacing, reallocating budget, pausing inefficient spend, checking tracking issues, or preparing a seller-facing explanation.
  </Step>
</Steps>

### Creating Campaigns

#### Create a campaign from top-performing SKUs in a category

<Steps>
  <Step title="Ask Tomi for top SKUs">
    Prompt: *"What are the top 10 performing SKUs in the gear category?"*

    Tomi will return a list of products ranked by performance.
  </Step>

  <Step title="Request campaign creation">
    Prompt: *"Create a campaign for these products with a \$10k budget running
    for the next two weeks."*
  </Step>

  <Step title="Select ad placement">
    Tomi will ask where the ads should appear: specific keywords, product
    categories, competitor product pages, or everywhere (always-on).
  </Step>

  <Step title="Review and approve">
    Tomi presents the proposed campaign configuration. Review and confirm to
    launch.
  </Step>
</Steps>

<Note>
  If the selected SKUs span multiple vendors, Tomi will suggest creating a
  separate campaign per vendor and confirm before proceeding.
</Note>

#### Create a campaign with forecast validation

<Steps>
  <Step title="Request a forecast">
    Prompt: *"Forecast performance for a campaign promoting our top home
    appliance SKUs for \[vendor name] with a \$10k budget over the next 30
    days."*

    Tomi will return projected metrics including estimated ROAS, impressions,
    and spend.
  </Step>

  <Step title="Conditionally create the campaign">
    Prompt: *"Create the campaign if projected ROAS is above 4."*

    If the forecast meets the threshold, Tomi will proceed to campaign creation.
    If not, it will report back with the projected performance and wait for
    further instruction.
  </Step>
</Steps>

### Managing Existing Campaigns

#### Pause underperforming campaigns

<Steps>
  <Step title="Identify underperformers">
    Prompt: *"What are my four most underperforming campaigns?"*

    Tomi will rank campaigns by performance and return the weakest ones.
  </Step>

  <Step title="Pause them">
    Prompt: *"Pause those campaigns."*

    Tomi will confirm before making any changes.
  </Step>
</Steps>

***

<LastUpdated date="2026-06-19" />
