Skip to main content
This walks through building one signal from scratch. It takes a few minutes.

Two ways to work with signals

Signals have two surfaces. They act on the same org-wide signals, so a signal created on one is visible on the other. Start in the app if you just want a signal running. Use MCP when you want an agent to do the work, or when you want to preview against specific artifacts before anything goes live.

Create a signal in the app

Open Signals from the left sidebar. The page has two tabs: Manage Signals and Collected Signals. Manage Signals lists every signal in your org as a card showing its status pill, name, artifact scope (for example, “All artifacts”), and signal key. Use Find signal… to search by name, and the All statuses dropdown to filter by status. Each card has a … overflow menu.
1

Describe what you want to find

Type into the box prompting Describe a signal to monitor…. Write it the same way you’d write it for a colleague: what counts, what doesn’t, and examples of both. That description is the whole configuration — see writing instructions before you write it.Click Generate Signal. You can also click New Signal to start the creation flow.
2

Review what comes back

Open the generated signal and review its name, instructions, examples, and artifact scope. Check that the wording excludes the near-misses you don’t want.
3

Activate it

Use the signal actions to activate it. A signal that isn’t active evaluates nothing. Once active, it evaluates new eligible artifacts as they are ingested. Use the same actions to deactivate it later.

Preview, tune, and backfill in the app

Open a signal to test or refine it before relying on the results.
  • Click Run Preview to evaluate sample context without saving signal observations.
  • Click Tune Signal to review recent extractions or test recent artifacts, one opportunity, or one artifact. Mark examples as a match or non-match, then apply the revised instructions.
  • Click Backfill to evaluate older artifacts. Choose a preset period or a custom date range.
  • Click Delete to remove a signal you no longer need.
Preview results are temporary. Backfill results are saved as signal observations and appear under Collected Signals.

Connect a summary field

Connect a signal to an opportunity field when sellers need one current summary instead of reviewing each signal observation. You need organization admin access.
1

Open the signal

On Manage Signals, open the signal you want to summarize.
2

Choose a field

Under Summary field, click Create summary field or Link existing field.
3

Confirm the connection

Check that the field name appears under Summary field.
Create summary field adds an automatic Team opportunity field named for the signal. Tempo starts generating values for existing opportunities. Link existing field lists eligible Team opportunity fields. A field must be visible, automatic, and managed in Tempo. The field combines recent observations from the signal with other relevant opportunity evidence. Tempo keeps the summary current as new evidence arrives. To change the connection, click Change. Select another field, or select Unlink field. Unlinking removes the connection without deleting the field.

Create a signal over MCP

You do this by talking to Tempo through your AI platform. You need the configure_signals permission. Drafting and saving are two separate steps. Tempo drafts a candidate first — a structured proposal that isn’t stored anywhere. Nothing exists in your org until you explicitly save it.

1. Draft a candidate

Describe what you want to find. Tempo turns your description into a structured set of extraction instructions.
This calls generate_signal, which returns a candidate for you to read. It does not save anything. If you stop here, the signal doesn’t exist.
Ask for positive and negative examples explicitly. They do most of the work — see writing instructions.

2. Choose which artifacts it applies to

A signal only runs against document types you select. Pick the ones where the pattern would realistically appear, and get them right on the candidate before you save it.
The available document types are: gong · transcript · granola · email · document · chat · brain-dump · research · generic

3. Save the candidate as a disabled signal

Saving is what creates the signal in your org. Tempo saves it through manage_signals using the upsert_disabled action, so it lands in a disabled state — it’s stored, it has a signal key, and it evaluates nothing.
Hold on to the signal key. You need it for the next step, and for every later edit.

4. Pick the artifacts to preview against

Preview doesn’t run against “recent artifacts” or your whole history. You choose the artifacts, and you name them by ID — between 1 and 20 of them per preview. So before you preview, go get some IDs. Ask for artifacts on a deal where you’d expect the pattern to show up:
Do the same on a deal where you’d expect the signal to stay quiet:
Deliberately mix in artifacts you expect it to skip. A preview that only contains likely matches tells you nothing about false positives.

5. Preview

Hand Tempo the saved signal and the specific artifact IDs you collected.
Read the misses as carefully as the hits. If it’s catching seller-side speculation rather than buyer statements, or matching generic mentions of “security,” tighten the instructions and preview again.

6. Refine

Refining works the same way as creating: generate a revised candidate, then save it over the existing signal.
Saved edits keep the signal disabled, so you can loop through steps 4 through 6 as many times as you want before anything goes live.

7. Activate

Activate only once a preview looks right.
From here, every new eligible artifact is evaluated as it’s ingested.

8. Backfill your history

Activation only affects artifacts going forward. To catch what’s already there, run a backfill. Backfills must be bounded — by a time window, an artifact cap, or both.

9. Track how it’s doing

Backfills run asynchronously. Listing your signals reports three counts for each one — how many artifacts are eligible, how many have been evaluated, and how many observations came out of them.
Those counts tell you a signal is working. To read what it actually found, go to the app.

Read what a signal found

Observations live on the Collected Signals tab of the Signals page. It’s a table of the observations your signals have recorded, with four columns: Signal, Observation, Context, and Source quote. The source quote is what makes the table worth reading. You see the language each observation was drawn from, so you can judge a match instead of trusting it — which is also how you tell a noisy signal from a precise one. Use Find collected signal… to search the table. Click Filters to narrow observations by the fields available in the table, such as Signal or source context.
Read observations here, not over MCP. No public MCP tool returns the observations for a given signal — list_signals gives you counts, not the matches behind them.
If what you read tells you the signal is wrong or too noisy, you can disable it (stops evaluation, keeps observations) or deprecate it. See lifecycle.