Intro
The Domo Federated Agent is a solution that allows you to connect your on-premise data to Domo through Snowflake. The agent makes a socket connection to Domo and then proxies requests to your database which allows you to visualize your snowflake data in Domo in real-time, any time, anywhere. With the Snowflake Federated Agent, your data always stays in your database and is never stored in Domo.How to get the Federated Agent
For more information on the Snowflake Federated Agent pricing and access, contact your Customer Success Manager (CSM).Prerequisites
- Admin access to your database and the ability to write a new table to your database.
- Database access credentials
- Admin level access in Domo
- Database connection URL
- (Optional) Manage Access Tokens
Agent Configuration
To properly configure your Domo Federated Agent,
- Navigate to the conf directory in the unzipped file Domo provided.
-
Open the agent configuration file titled agentConfig.yml
Note: The configuration files are all.yml files are case and character sensitive.
-
Fill in your Domo domain.

-
Uncomment the
adapterType: snowflakeandconfigurationFileName: snowflakeAdapterConfig.ymllines.
- Create an Access Token in Domo. See Manage Access Tokens for detailed instructions on creating an Access Token.
-
Uncomment the developerToken line and enter the Access Token.

Adapter Configuration
- In the conf directory of the unzipped file Domo provided, open the snowflakeAdapterConfig.yml file.
- Enter the required information on the uncommented lines.
tableName: line must be copied.

Password Encryption
In order to run the Snowflake Federated Agent, you will need to set a password. Optionally, your password can be used to encrypt your database passwords and Domo Access Token. If you choose not to encrypt, you still need to generate a password and store it in one of two ways.Set the password as an Environment Variable
Variable:DOMO_FD_ENCRYPTION_PW
E.g. DOMO_FD_ENCRYPTION_PW=<your encryption password>
Pass it as a command line property
Note: -p or —encryptionPassword may be used.
-p=<yourPassword> property at the end of the java -jar line. Using this method, the password will be stored in the command history.
E.g. java -jar libs/federated-agent.jar -p=testpw

Standard Calendar Table Configuration
In order for date grain queries to work in Domo, the domo.standardcalendar must be loaded into your database. To configure the Standard Calendar table,- Navigate to the standardCalendar folder of the unzipped file provided by Domo.
-
Select the snowflake folder. There are create table statements listed under each database type in the format
<databaseName>Standardcalendar.sql.Note: For each database used, a standard calendar table using the schema below will need to be created. -
Once the table is created, load the data using either the standardcalendar_data.csv or standardcalendar_data.txt file found in the standardCalendar file.
Note: Fields are terminated with the ’,’ character and lines are terminated with the ‘\r\n’ return. There are no quotes surrounding any of the data, and no need to escape any fields. The dates are in the format “yyyy-MM-dd”.
- Optionally, there is a standard_calendar_data.sql file where the data is formatted as insert statements.
domo.standardcalendar Schema
| Field Name | Data Type |
|---|---|
| Domo_Key | Date |
| Date | Date |
| DayOfWeek | String |
| DayNumberInWeek | Integer |
| DayNumberInMonth | Integer |
| DayNumberInQuarter | Integer |
| DayNumberInYear | Integer |
| MonthName | String |
| MonthAbrv | String |
| MonthNumberInYear | Integer |
| Quarter | String |
| Year | Integer |
| CalendarMonth | String |
| CalendarQuarter | String |
| WeekStart | Date |
| QuarterStart | Date |
| DaySinceEpoch | Integer |
| WeekSinceEpoch | Integer |
| MonthSinceEpoch | Integer |
| QuarterSinceEpoch | Integer |
| YearSinceEpoch | Integer |
| MonthStart | Date |
| YearStart | Date |
| QuarterNumberInYear | Integer |
Fiscal Calendar Configuration
If a fiscal calendar needs to be set up for Federated Data, please send an email to labs@domo.com including the following items:- Domo domain
Running the Agent
Once all components above are properly configured, it is time to run the agent. To run the Agent,-
Using the appropriate startAgent file for your machine from your bin folder found in the Domo provided file.
- For Windows, use the.bat file.
- For Mac or Linux, use the.sh file.
-
Make sure a DataSet was created in Domo for your tables by navigating to the Data Center in Domo.
- Filter to the DataSet type of Data Anywhere to see any federated queried DataSets.
FAQ
Can I still use PDP and create Beastmodes on federated DataSets?
Can I still use PDP and create Beastmodes on federated DataSets?
Yes, you can still use PDP and create Beastmodes just like on a standard DataSet.
Can I use my federated DataSets in Domo DataFlows?
Can I use my federated DataSets in Domo DataFlows?
No, federated DataSets are not supported as inputs in Magic ETL, MySQL DataFlows, or Fusion.
Can I set Alerts on cards powered from a federated DataSet?
Can I set Alerts on cards powered from a federated DataSet?
No, Alerts are not currently supported on cards powered by a federated DataSet.