Build a custom report
Turn requested rows, metrics, brands, and dates into a comparison table with explicit exclusions.
When to use this workflow
“Make one table of last week’s brand share, broken down by AI platform.”
Before fetching
Write down the requested rows, columns, brands, platforms, dates, topics, and tags. Resolve names to listed IDs; settle ambiguous matches before fetching.
Complete the CLI quickstart and confirm the workspace with orc workspace current --json. Replace example IDs, URLs, dates, and settings. Apply only approved mutations.
1. Resolve the report scope
Read the brand, topic, and tag catalog to identify included and excluded entities.
orc brands list --json
orc topics list --json
orc tags list --json2. Fetch the metric evidence
This example fetches brand visibility and share. Repeat with the same conditions for each requested platform and retain the returned period. Fetch other metrics from their report endpoints; explain any column that cannot be joined at the requested grain.
orc reports visibility get --dimensions brand --metrics visibility_rate,share_of_voice --filters '{"platform":"openai"}' --date-range '{"period":"7d"}' --json3. Assemble the requested table
Have the agent arrange the rows and columns and attach the source responses and filters. Distinguish uncollected, unsupported, and failed values from zero. Do not introduce an unrequested composite score.
Deliverable
Deliver the table, resolved dates, entity IDs, source responses, and excluded columns with reasons. Explain material differences by pointing to table cells.
On fetch failure, retain the error and request scope. Do not count empty data, incomplete pagination, or missing permissions as a completed investigation.
Next steps
If a failure remains, report it and verify the fix, including this workflow and the failed step.