Skip to main content

Domo

Domo SDK allows you to automate your Domo instance significantly reducing your written code

Credential configuration

To configure this credential you need the clientId and the clientSecret of your Domo instance. You can see how to obtain them here.

You also need to specify the scopes and the hostname of the API you are connecting.

Here you have an example of a filled credential configuration form in YepCode:

Domo snippets available in editor

note

The title is the triggering text for YepCode to autocomplete the script

Integration

New integration from credential
const domoClient = yepcode.integration.domo("credential-slug");
New integration from plain authentication data
const { DomoClient } = require("domo-sdk");

const domoClient = new DomoClient("clientId", "clientSecret", [scopes], "host");

Create a dataset

Create a dataset
const dataset = {
name: 'datasetName',
description: 'datasetDescription',
rows: 0,
schema: {
columns: [
{ type: 'columnType', name: 'columnName' }
]
}
};

let datasetId;
console.log('Creating dataset...');
await domoClient.datasets
.create(dataset)
.then((response) => {
console.log('Dataset Created', response.id);
datasetId = response.id;

const data = [
['dataset data']
];

const csv = data.map((row) => row.join(',')).join('\n');
console.log('Importing data...');
return domoClient.datasets.importData(datasetId, csv);
})
.then(() => {
console.log('Data Imported: ', datasetId);
})
.catch(console.warn);

Delete a dataset

Delete a dataset
await domoClient.datasets
.delete(datasetId)
.then(() => {
console.log(`Dataset deleted: datasetId`);
})
.catch(console.error);

Get a dataset

Get a dataset
await domoClient.datasets.get("datasetId")
.then((response)=>{
console.log(response)
})