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 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).
