Workflow Name

How to use workflow_name to organize traces in the Neatlogs dashboard.

workflow_name is the top-level label for your application in the Neatlogs dashboard. All traces produced by a process share the same workflow name, and the dashboard lets you filter, compare, and group traces by it.

Setting a Workflow Name

Pass it to neatlogs.init():

neatlogs.init(
    api_key=os.environ["NEATLOGS_API_KEY"],
    workflow_name="customer-support",
)

If you omit workflow_name, the SDK derives one from the current script filename (e.g., main.pymain).

Naming Guidance

Use a name that reflects the application or feature area, not the environment or version (those belong in tags):

GoodAvoid
"customer-support""customer-support-prod-v2"
"research-agent""research-agent-2024"
"rag-api""my-app"
"email-writer""test"

One Workflow Per Feature Area

Give each distinct agent application or feature its own workflow. The workflow_name on init() is a single, process-wide label — calling init() again to switch it is a no-op. So if one codebase runs several independent features (a copilot, a summarizer, a report generator), you don't set them all here. Instead, open a named WORKFLOW root at each feature's entry point and override the label per-trace.

See Multiple Workflows in One Codebase for the full pattern (with Python / TypeScript / Go examples). If you need a different project (API key), not just a different workflow label in the same project, init() still can't be called twice for that — see Secondary Clients instead (Python only).

On this page

Ask Neatlogs AI

Answers from the docs

How can I help?

Ask anything about instrumenting, tracing, or the Neatlogs dashboard.