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.py → main).

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 with a different name raises a configuration error until the SDK is shut down, so you can't use it to switch labels. 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, a second init() can't do that either - see Secondary Clients instead.

On this page

Ask Neatlogs AI

Answers from the docs

How can I help?

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