Skip to main content
A custom column holds data you already have. A smart column holds data you do not: you write a question in plain English, and Fuse answers it for every row in the list. Every endpoint here needs a key with the lists scope. Smart columns bill per row, so read Bounding the spend before running one over a large list.

Two engines

The engine decides how the answer is found, and how much it costs.

standard

Answers from the data already on the row and the model’s own knowledge. Fast and cheap.

deep_research

Researches each row against live sources before answering. Slower, costs more, and can be restricted to chosen providers.

Create one

POST /business/lists/{listId}/smart-columns needs a name, a prompt and a runOn. It answers 202 — the column exists immediately, the answers arrive over the following minutes.
Keep the jobId. It is how you follow the run.

Writing a prompt that answers well

The prompt is free text, and the shape of the answer follows the shape of the question. Ask for what you want back:
  • Say what a good answer looks like. “Answer yes or no and name the role” produces a column you can filter on. “Tell me about their hiring” produces a paragraph.
  • Name the subject. The row is a contact or a company; say which one you mean.
  • Keep it to one question. Two questions in one prompt gives you two half-answers in one cell.

Choosing what it runs on

runOn decides the initial scope, and it is the main lever on cost: Start with first_100, read the answers, fix the prompt, then re-run over everything.

Follow the run

GET /business/lists/{listId}/smart-columns/{jobId}/status reports progress and, importantly, what has been spent so far.
Rows can fail individually — a company with nothing findable, a research provider timing out — and failedRows counts them. The job still completes; those cells stay empty.

Read the answers

The values land on the list rows themselves. GET /business/lists/{listId}/rows returns them alongside every other column, so filtering, sorting and exporting all work on smart column output. For a deep_research column you can also ask how an individual answer was reached:
That is the audit trail for an answer you intend to act on.

Change the question

PATCH /business/lists/{listId}/smart-columns/{columnId} updates the name, prompt, engine or provider restriction.
Editing the prompt is not free. Fuse cancels whatever run is in flight and starts a billed refresh over the column’s rows, because the old answers no longer match the question. The response carries a jobId when that happens — a rename returns jobId: null.

Re-run it

POST /business/lists/{listId}/smart-columns/{columnId}/rerun fills answers in again. mode decides which rows:

Bounding the spend

Smart columns bill per row answered, and deep_research costs more than standard. Three habits keep it predictable:
1

Prototype on first_100

Read the answers before spending on the whole list.
2

Top up with new_only

After an import, re-run only the new rows instead of the whole column.
3

Watch creditsUsed on the job

The status endpoint reports spend while the run is still going, so a runaway prompt is visible before it finishes.
GET /business/credits shows the balance the run draws from. See Credits.

Errors worth handling