Skip to main content

Domo

Connect Catalog to Domo to sync Pages, Cards, data sets, and relationships between them. This guide describes what Catalog extracts, how Cards appear as tile-style dashboards when you browse and search, credential options for Catalog-managed or client-managed sync, IP allowlisting, and the extractor package.

Requirements

You need a Warehouse-type integration configured before the first ingestion for this integration can complete.

For all Domo clients:

  • Domo admin credentials
  • Domo Developer Token
  • Internal alignment if you use Domo as a warehouse

What Catalog Extracts from Domo

Catalog extracts Domo Pages, Cards, and data sets, along with metadata Domo exposes through its APIs, for example names, descriptions where available, links to the asset in Domo, and ownership or editing context when present.

  • Pages - Domo dashboards and stories appear in Catalog as dashboard assets so you can browse and document the containers your teams use for reporting.
  • Cards - In Domo, Cards are the visualizations you add to Pages, such as KPIs and charts. Catalog syncs Cards alongside Pages and data sets so you can document and govern each visualization, not only the Page that contains it. Each Card is stored as a dashboard asset with dashboard type TILE, the same tile-style type used in other BI integrations, and appears under the /Cards path in the asset tree next to Page-level dashboards.
  • Data sets - Domo data sets are cataloged as data assets so you can relate Domo content back to the data that powers it.
  • Lineage - Catalog records asset-level relationships among Domo data sets, Cards, and Pages. The lineage graph reflects how those Domo objects connect; it is not a substitute for field-level or expression-level detail inside a Card.
  • Search and governance - Card and Page metadata is available in Catalog search, stewardship workflows, and the AI Assistant alongside other dashboard assets. For the fields used in AI Search, see AI Assistant Context.

When you validate warehouse-to-BI lineage and a Card sits in the path, open the Card in Catalog to see how it connects to upstream data sets and related Pages.

If Needed, Allowlist Catalog IPs

Here are our fixed IPs:

Catalog Managed

To get things started with Domo in Catalog, you'll need to be a Domo admin and provide us with:

  • A Client ID - Domo documentation
  • A Domo API token, which Domo calls the Client Secret - Domo documentation
  • The Base URL of your Domo instance as https://XXXX.domo.com/
  • A Developer Token - Domo developer token documentation
  • The Cloud Id of your external Warehouse. Omit this field when it does not apply.

For more information on how to retrieve those values, see the Domo API quickstart.

You can input your credentials directly into your Catalog account under the following format:

{
"apiToken": "*****",
"clientId": "*****",
"baseUrl": "https://XXXX.domo.com/",
"developerToken": "*****",

"cloudId": "my-external-warehouse-cloud-id"
}
SSO, Sign-In, and Dashboard Access

If your Domo instance uses SSO, the Catalog integration account must have direct sign-on enabled. The Domo account that creates the client ID and secret in the developer portal must reach every dashboard you want in Catalog. In Domo, go to Admin > Dashboards and share those dashboards with that account.

  • apiToken: secret for the Catalog Domo integration connection
  • clientId: client ID for the Catalog Domo integration connection
  • baseUrl: Domo base URL and API endpoint, usually your Domo homepage URL
  • developerToken: Token to access the Domo private API
  • cloudId: ID of the external warehouse used within Domo

For your first sync, allow up to 48 hours. The Catalog team notifies you when it completes.

If you are not comfortable giving us access to your credentials, continue to Client Managed.

Client Managed

For your trial, you can supply a one-time extract view of your Domo BI assets. Use the Catalog package workflow below when you manage sync yourself.

Running the Catalog Package

Install the PyPI Package

pip install castor-extractor

For further details, see the castor-extractor PyPI page.

Run the Package

Once the package has been installed, you should be able to run the following command in your terminal:

castor-extract-domo [arguments]

Arguments

The Domo extractor accepts the following flags:

  • -c, --client-id: Domo client ID
  • -a, --api-token: Domo access token
  • -d, --developer-token: Domo developer token
  • -b, --base-url: Domo base URL
  • -o, --output: target folder to store the extracted files

Optional Arguments

Use this flag when you rely on an external warehouse instead of Domo as the warehouse:

  • -C, --cloud-id: Required when you use an external warehouse and not Domo as a warehouse

Scheduling and Push to Catalog

When moving out of trial, you'll want to refresh your Domo content in Catalog. Follow these steps:

The Catalog team will provide you with:

  1. Catalog Identifier, an ID the Catalog team uses to match your Domo files to your Catalog instance
  2. Catalog Token, an API token

You can then use the castor-upload command:

castor-upload [arguments]

Castor-Upload Arguments

castor-upload supports these flags:

  • -k, --token: Token provided by Catalog
  • -s, --source_id: Account ID provided by Catalog
  • -t, --file_type: source type to upload. Currently supported are DBT, VIZ, or WAREHOUSE

Target Files

Choose one upload target:

  • -f, --file_path: Push a single file.
  • -d, --directory_path: Push every file in a folder at once.

When you use --directory_path, castor-upload sends every file in that folder. Limit the folder to extracted Domo files only before you run the command.

Then schedule the extract script and the upload to Catalog using your preferred scheduler.

What's Next?

  • Explore other BI Tools integrations and onboarding options.
  • Read AI Assistant Context for technical detail on which dashboard fields power AI Search.
  • For Domo as a warehouse source, follow Domo Data.