Skip to content

Fluxx

Fluxx is a cloud-based grants management platform designed to streamline and automate the entire grantmaking process for foundations, corporations, governments, and other funding organizations.

Bruin supports Fluxx as a source for Ingestr assets, and you can use it to ingest data from Fluxx into your data warehouse.

In order to set up Fluxx connection, you need to add a configuration item in the .bruin.yml file and in asset file. You need instance, client_id, and client_secret. For details on how to obtain these credentials, please refer to your Fluxx administrator.

Follow the steps below to correctly set up Fluxx as a data source and run ingestion.

Step 1: Add a connection to .bruin.yml file

To connect to Fluxx, you need to add a configuration item to the connections section of the .bruin.yml file. This configuration must comply with the following schema:

yaml
connections:
  fluxx:
    - name: "my-fluxx"
      instance: "mycompany.preprod"
      client_id: "your_client_id"
      client_secret: "your_client_secret"
  • instance: Your Fluxx instance subdomain (e.g., mycompany.preprod for https://mycompany.preprod.fluxxlabs.com)
  • client_id: OAuth 2.0 client ID for authentication
  • client_secret: OAuth 2.0 client secret for authentication

Step 2: Create an asset file for data ingestion

To ingest data from Fluxx, you need to create an asset configuration file. This file defines the data flow from the source to the destination. Create a YAML file (e.g., fluxx_ingestion.yml) inside the assets folder and add the following content:

yaml
name: public.fluxx
type: ingestr
connection: postgres

parameters:
  source_connection: my-fluxx
  source_table: 'grant_request'

  destination: postgres
  • name: The name of the asset.
  • type: Specifies the type of the asset. Set this to ingestr to use the ingestr data pipeline.
  • connection: This is the destination connection, which defines where the data should be stored. For example: "postgres" indicates that the ingested data will be stored in a PostgreSQL database.
  • source_connection: The name of the Fluxx connection defined in .bruin.yml.
  • source_table: The name of the data table in Fluxx you want to ingest. For example, "grant_request" would ingest data related to grant requests. You can find the available source tables below.

Available Tables

Fluxx source allows ingesting the following sources into separate tables:

TablePKInc KeyInc StrategyDetails
claimidupdated_atmergeGrant claims and payment requests with approval status, amounts, and dates
claim_expenseidupdated_atmergeClaim expense forms and templates for financial tracking
claim_expense_datumidupdated_atmergeIndividual data entries within claim expense forms with budget category details
claim_expense_rowidupdated_atmergeSpecific line items or rows within claim expense forms
concept_initiativeidupdated_atmergeConcept initiatives linking programs, initiatives, and sub-programs/sub-initiatives
dashboard_themeidupdated_atmergeDashboard theme configurations for UI customization
etl_claim_expense_datumidupdated_atmergeETL data for claim expense items with comprehensive budget tracking details
etl_grantee_budget_tracker_actualidupdated_atmergeETL data for actual grantee budget tracker amounts and expenses
etl_grantee_budget_tracker_period_datumidupdated_atmergeETL data for grantee budget tracker period information with detailed financial tracking
etl_relationshipidupdated_atmergeETL data for entity relationships tracking connections between users, organizations, requests, and other entities
etl_request_budgetidupdated_atmergeETL budget data for request funding sources with comprehensive financial details
etl_request_transaction_budgetidupdated_atmergeETL budget data for request transaction funding sources including payment tracking
exempt_organizationidupdated_atmergeTax-exempt organization data including EIN, classification, and financial information
geo_cityidupdated_atmergeCity geographic data with coordinates and postal codes
geo_countyidupdated_atmergeCounty geographic data with FIPS codes
geo_placeidupdated_atmergeGeographic places with ancestry and location data
geo_regionidupdated_atmergeGeographic regions
geo_stateidupdated_atmergeState geographic data with abbreviations and FIPS codes
grant_requestidupdated_atmergeGrant applications and requests with comprehensive details (300+ fields)
grantee_budget_categoryidupdated_atmergeBudget category definitions used by grantees for expense tracking
grantee_budget_trackeridupdated_atmergeBudget tracking documents for grantee financial management
grantee_budget_tracker_periodidupdated_atmergeTime periods for budget tracking with start and end dates
grantee_budget_tracker_period_datumidupdated_atmergeBudget data entries for specific tracking periods
grantee_budget_tracker_period_datum_actualidupdated_atmergeActual expenses and amounts recorded for budget tracking periods
grantee_budget_tracker_rowidupdated_atmergeIndividual budget line items and categories within budget trackers
integration_logidupdated_atmergeIntegration and system logs for tracking data processing and errors
mac_model_type_dyn_financial_auditidupdated_atmergeDynamic financial audit models with audit tracking, compliance status, and financial variance analysis
mac_model_type_dyn_melidupdated_atmergeDynamic Monitoring, Evaluation & Learning (MEL) models with performance indicators, baseline tracking, and evaluation metrics
mac_model_type_dyn_toolidupdated_atmergeDynamic tool management models for tracking deployment status, usage metrics, and tool effectiveness
machine_categoryidupdated_atmergeMachine category definitions for workflow state management
model_attribute_valueidupdated_atmergeModel attribute values with hierarchical data and dependencies
model_documentidupdated_atmergeDocument metadata including file information, storage details, and document relationships
model_document_sub_typeidupdated_atmergeDocument sub-type definitions and categories
model_document_typeidupdated_atmergeDocument type configurations including DocuSign integration and permissions
model_themeidupdated_atmergeModel themes for categorization and program hierarchy organization
organizationidupdated_atmergeOrganizations (grantees, fiscal sponsors, etc.) with contact information and tax details
population_estimateidupdated_atmergePopulation estimates by geographic area with demographic data
population_estimate_yearidupdated_atmergeYearly population estimates with income and demographic breakdowns
programidupdated_atmergeFunding programs and initiatives
request_reportidupdated_atmergeReports submitted for grants
request_transactionidupdated_atmergeFinancial transactions and payments
request_transaction_funding_sourceidupdated_atmergeFunding source details for specific request transactions
request_useridupdated_atmergeRelationships between requests and users with roles and descriptions
salesforce_authenticationidupdated_atmergeSalesforce authentication configurations with OAuth tokens, connection management, and API usage tracking
sub_initiativeidupdated_atmergeSub-initiatives for detailed planning
sub_programidupdated_atmergeSub-programs under main programs
ui_versionidupdated_atmergeUser interface version information and system configuration
useridupdated_atmergeUser accounts and profiles
user_organizationidupdated_atmergeRelationships between users and organizations with roles, departments, and contact details

Field Selection

Each resource contains numerous fields. You can:

  1. Ingest all fields: Use the resource name directly (e.g., grant_request)
  2. Select specific fields: Use colon syntax (e.g., grant_request:id,name,amount_requested)

The field selection feature is particularly useful for large resources like grant_request which has over 300 fields.

Step 3: Run asset to ingest data

bruin run assets/fluxx_ingestion.yml

As a result of this command, Bruin will ingest data from the given Fluxx table into your Postgres database.

Authentication

Fluxx uses OAuth 2.0 with client credentials flow. To obtain credentials:

  1. Contact your Fluxx administrator to create an API client
  2. You'll receive a client_id and client_secret
  3. Note your Fluxx instance subdomain (the part before .fluxxlabs.com)