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

# Track Signals

## Overview

A Signal Agent keeps your sheet in sync with the real world so you're the first to know when something changes. It is a scheduled agent that watches each row for event changes and automatically updates your research when it happens. Use Signal Agents any time you need data that stays consistently up to date.

## How Signals Work

Instead of manually re-running research, a Signal Agent proactively searches to answer *when should this row reconsider its standing answer*.

A Signal Agent consists of two parts:

* The `Signal Criteria` defines the trigger. What real world events to watch for. You provide a description in plain language to describe the event, not the data. "A key executive at this company departs or changes roles" works; "leadership" doesn't.
* The `Columns to Update` define the cascade. These are the pre-built columns in your sheet that should be updated when the event happens. It re-runs cell agents you already built for the rows where the `Signal Criteria` has been triggered by new activity. A single Signal Agent can update several columns at once.

The Signal Agent hands what it found to the cells. They already know *why* they were triggered and check the new evidence against what's there. Every update stays grounded in the event that caused it, and the row carries why it changed.

## Example: Tech Stack Re-evaluation Signal Agent

Say you have a sheet for monitoring software companies. Through Chat, you ask to re-evaluate whether you should keep the vendor if a notable event occurs. The Signal Agent translates your intent into `Signal Criteria` to watch for *"pricing/licensing changes, M\&A activity, major outages, security breaches, etc."* and sets `Columns to Update` to four columns already in the sheet: Verdict, Rationale, Recommended Action, and Alternative Vendors.

The Signal Agent evaluates that condition row by row. For any single row, the logic is:

`Signal Criteria` is true for this row → flag the row → re-run the row's cells in the `Columns to Update`

That applies two filters in sequence, and both are worth watching.

**Which rows.** `Signal Criteria` decides. Notion has an outage. The condition is now true for the Notion row and no other, so that is the only row flagged. Zendesk, Confluence, and the rest stayed untouched because there were no notable events.

**Which cells.** `Columns to Update` decides. Inside the flagged Notion row, only the reasoning columns re-run. Vendor, Category, and Annual Spend hold because an outage doesn't change what Notion is or what you pay, only whether you should keep paying. The re-run is scoped to the cells the event can actually move.

## Setting up a Signal Agent

**Start in Chat.** Chat is often the easiest way to set up a Signal Agent. Describe what you want in plain language. It can be as broad as *"set up Signal Agents for this sheet"* or as specific as *"keep Key Contact updated whenever an executive at these companies changes roles."* Chat writes the `Signal Criteria` and picks the `Columns to Update` for you. It automatically turns your intent into the setup.

**Drop into the Signals panel to adjust or build by hand.** Whatever Chat creates is visible and editable in the Signals panel, in the toolbar above your sheet. Go there when you want to see what a Signal Agent is watching, change its `Signal Criteria` or `Columns to Update`, or set one up manually:

<Steps>
  <Step title="Open the Signals panel">
    Open the **Signals** panel and click **New Signal**.
  </Step>

  <Step title="Describe the event">
    In `Signal Criteria`, describe the event to watch for. Keep it as the
    condition, not the instruction to set up a Signal Agent. A good prompt
    requires specificity, so you want to say "A key executive at this company
    departs" instead of "leadership."
  </Step>

  <Step title="Select the columns">
    Under `Columns to Update`, select the columns the event should recompute.
    Include only what the event can actually change (Key Contact for a
    departure); leave out what won't move (Year Founded, Website).
  </Step>

  <Step title="Create">
    Click **Create.** The Signal Agent runs on its own in the background and
    will send you an email when there are new updates.
  </Step>
</Steps>

You can run several Signal Agents on one sheet at once, each responsible for a different event.

## Common Signals

One event usually affects more than one column, so a single Signal Agent can update several columns at once.

### A person changes jobs

* `Signal Criteria`: "*changes to job title or role"*
* `Columns to Update`: Company Name, Location, Job Title

### An executive departs

* `Signal Criteria`: *"a key executive at this company leaves or changes roles"*
* `Columns to Update`: Key Decision Makers, Recent News

### A company is acquired

* `Signal Criteria`: *"this company is acquired or announces an acquisition"*
* `Columns to Update`: Company Size, Revenue, Buying Urgency, Thesis Fit

## FAQs

<AccordionGroup>
  <Accordion title="Does running Signal Agents cost a lot of credits?">
    Signal Agents actually help you cost optimize your credit usage. A Signal Agent spends credits on two things: (1) watching for its event and (2) recomputing a cell when that event actually fires. It doesn't re-run your columns on a loop. Because one Signal Agent can drive many columns, you pay to watch a single event once and then only for the specific cells that change. The more columns a Signal Agent covers, the more it saves against that alternative.
  </Accordion>

  <Accordion title="Will I see the news that triggered the update?">
    You can see in the cell reasoning and sources but not necessarily in a column. You can click into any refreshed cell to see the sources the agent found, the reasoning steps, and snippets from the sources that support the update. When Signal Agents fire, you also get a notification summarizing what changed and why, which surfaces the triggering event without needing to click into the sheet.
  </Accordion>

  <Accordion title="Do I need a separate Signal Agent for each column?">
    No. One Signal Agent watches one event and updates every column that event touches. An executive departure can refresh the contact name, the title, and a last-verified date under a single Signal Agent. Add another Signal Agent when you're watching another *event*, not another column.
  </Accordion>

  <Accordion title="How is a Signal Agent different from a Scheduled Job?">
    A Signal Agent reacts to change or trigger in the world; a Scheduled Job runs on a clock. Use a Signal Agent when the answer only moves when a specific event happens — if the before and after are the same, there was nothing you needed to know. Use a Scheduled Job when you want a freshness guarantee regardless of change: like the market opening every morning, you need today's number even if it's identical to yesterday's.

    | Feature       | When to use                                                                  | What inputs it uses                            |
    | ------------- | ---------------------------------------------------------------------------- | ---------------------------------------------- |
    | Signal Agent  | The answer changes only when a specific event happens                        | Events. When there is triggered event updates. |
    | Scheduled Job | The answer drifts continuously and you want a freshness guarantee regardless | Cadence-based. Runs on a clock                 |
    | Column        | The answer never needs to change after first compute                         | Prompt you put in                              |
  </Accordion>
</AccordionGroup>
