Skip to main content

Domo

Requirements

Warehouse Integration Required

A Warehouse type integration must already be configured to complete the first ingestion of this integration.

For all Domo clients:

  • Domo admin credentials
  • Domo Developer Token
  • Communication around the use of Domo as a warehouse

If Needed, Whitelist Catalog IP

Here are our fixed IPs:

Catalog Managed

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

  • A Client ID - Domo documentation
  • A Domo API token (Client Secret) - Domo documentation
  • The Base URL of your Domo instance (https://XXXX.domo.com/)
  • A Developer Token - Domo developer token documentation
  • The Cloud Id of your external Warehouse (if applicable, remove otherwise)

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 and Direct Sign-On

The Catalog account needs to have direct sign on enabled, if SSO is activated on your Domo instance.

  • apiToken: secret of the Catalog account for the app
  • clientId: id of the Catalog account
  • baseUrl: Domo base URL, your API endpoint, usually your Domo URL homepage
  • developerToken: Token to access the Domo private API
  • cloudId: Id of the external warehouse used within Domo
Dashboard Access

The account used to log into the developer portal to generate the client id and secret needs to have access to all the dashboards you would like to have in Catalog.

You can go in the Admin > Dashboards section in Domo and share the needed dashboards with that user.

For your first sync, it will take up to 48 h and we will let you know when it is complete.

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

Client Managed

Doing a One Shot Extract

For your trial, you can simply give us a one shot view of your BI tools.

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

  • -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

  • -C, --cloud-id: Mandatory if you use an external warehouse (and not Domo as a warehouse)

Scheduling and Push to Catalog

When moving out of trial, you will want to refresh your Domo content in Catalog. Here is how to do it:

The Catalog team will provide you with:

  1. Catalog Identifier (an id for us to match your Domo files with your Catalog instance)
  2. Catalog Token - An API Token

You can then use the castor-upload command:

castor-upload [arguments]

Castor-Upload Arguments

  • -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

To specify the target files, provide one of the following:

  • -f, --file_path: to push a single file

or

  • -d, --directory_path: to push several files at once
Directory Contents

The tool will upload all files included in the given directory.

Make sure it contains only the extracted files before pushing.

Then you will have to schedule the script run and the push to Catalog. Use your preferred scheduler to create this job.

You are done.