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):
| Good | Avoid |
|---|---|
"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.
