Dataflect-Documentation

Go back

This documentation is for Dataflect version 2.0.2. For older versions of Dataflect documentation contact us at support@dataflect.com.

For additional information, visit dataflect.com.

Table of Contents

  1. About Dataflect
  2. Dataflect License
  3. Dataflect Support
  4. Disclaimer
  5. Installation
  6. Dataflect Roles
    1. Adding Users to Dataflect Roles
  7. Configuring Dataflect Settings
    1. Enforce Allowed Domains?
  8. Configuring Dataflect Credentials
  9. Using Dataflect
    1. Basic Examples
    2. Syntax
    3. Required Arguments
    4. Optional Arguments
  10. Dataflect Query Builder Overview
  11. Using the Query Builder to Create a Custom Search Command
  12. Normalizing Dataflect Results with Props
    1. Field Aliases
    2. Field Extractions
  13. Dataflect Logging Overview
  14. Dataflect Monitoring Dashboard
  15. Dataflect Modifiers
  16. Dataflect Known Issues

About Dataflect

Go to Top

Dataflect is available as a premium Splunk application that allows users to easily integrate with third-party APIs directly from the Splunk ecosystem. If you would like to purchase additional license you can do so by contacting sales@dataflect.com.

Dataflect provides the following high level capabilities:

Dataflect License

Go to Top

To obtain your Dataflect license contact us directly at sales@dataflect.com.

Dataflect Support

Go to Top

Dataflect is a developer supported Splunkbase application. If you encounter issues using the application please contact support@dataflect.com for assistance.

Disclaimer

Go to Top

Dataflect is in no way associated with Splunk, Inc. or any of its affiliates. Dataflect is a third party developed and maintained Splunk Application.

Dataflect Copyright (C) 2025 Dataflect LLC All Rights Reserved.

This software is provided by the copyright holder “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

You may not modify, distribute, sublicense, or sell this program or derivative works based upon it. The user is not allowed to distribute the software and must use it only for personal, non-commercial purposes. Use for any other purpose is expressly forbidden, and may result in severe civil and criminal penalties.


Installation

Go to Top

Dataflect can be installed in Splunk Cloud environments and should be installed directly from Splunkbase via self-service install or with the help of Splunk Support. Dataflect is also supported in Splunk Enterprise (on-premise) environments.


Dataflect Roles

Go to Top

Dataflect uses the standard access control system integrated with the Splunk platform. Dataflect allows for strict Role Based Access Control by restricting functionality and interaction with third party APIs on a per domain basis.

In order to facilitate this, Dataflect leverages the following existing splunk roles:

Role Description
admin/sc_admin Installs and configures the Dataflect app within your Splunk deployment. Users must be assigned this role in order to manage Dataflect settings, configure allowed domains, and manage custom commands and custom alert actions created with Dataflect. Users with this role will have visibility into the Monitoring dashboard. Can execute the dfsearch, dfenrich, and dfengage commands.
power Can execute the dfsearch, dfenrich, and dfengage commands.

Adding users to Dataflect roles

Go to Top

After installation Dataflect must be configured by a Splunk user with the admin or sc_admin role.

Configuring Dataflect Settings

Go to Top

Users with admin or sc_admin roles will have visibility into the Settings page (Configure –> Settings) within the Dataflect application. The settings that can be configured are:

Enforce allowed domains?

Go to Top

The Allowed Domains list allows an administrator to provide granular permissions to interact with an API. Using this list you can configure per domain permissions:

Configure License

Go to Top

Once you have obtained your license from Dataflect, you must enter your license key in the Dataflect Settings page by clicking “Edit” next to License Key and entering your base64 encodced license. Your text should include the header and footer (—–BEGIN LICENSE FILE—– and —– END LICENSE FILE—–). If you experience any issues contact support@dataflect.com.

Your license can only be used on one Splunk Cloud instance.

Configuring Dataflect Credentials

Go to Top

On the Credentials page (Configure –> Credentials) an administrator can create API credentials that can be used to authenticate Datflect Search commands. When creating credentials you may choose from the following supported types:

Credentials are stored securely using Splunk’s native Secrets Storage.

Additional forms of authentication can be configured with a paid Dataflect license, contact sales@dataflect.com for additional information.

Using Dataflect

Go to Top

Dataflect’s core functionality is made accessible primarily via three custom search commands that ship with the application.

**NOTE: the dfsearch command can only be run from the Dataflect app. If you want to extend the capability outside of the app you must create custom search commands using the Query Builder Dashboard, and then set the sharing to Global in the Configure –> Commands Page.

Basic Examples

Go to Top

| dfsearch url="https://uselessfacts.jsph.pl/api/v2/facts/today"

The above example demonstrates basic usage of the dfsearch command, without any additional parameters specified.

Syntax

Go to Top

Simple:

dfsearch url=”<url>”

Complete:

Required syntax is in bold.

| dfsearch
[url=<string>]
[endpoint=<string>]
[parameters=<string>]
[credential=<string>]
[containing_field=<string>]
[timestamp_field=<string>]
[timestmp_strf=<string>]
[limit=<int>]
[data=<string>]
[data_format=<string>]
[headers=<string>]
[rate_limit_calls=<int>]
[rate_limit_period=<int>]
[offset_field=<string>]
[text_line_breaker=<string>]
[text_line_ignore=<string>]
[text_line_headers=<string>]
[ingest=<bool>]
[ingest_index=<string>]
[ingest_sourcetype=<string>]
[include_fields=<string>]
[convert_table_array=<bool>]
[timeout=<int>]

Required arguments

Go to Top

url

Optional arguments

Go to Top

endpoint

parameters

credential

containing_field

timestamp_field

timestamp_strf

limit

data

data_format

headers

rate_limit_calls

rate_limit_period

offset_field

text_line_breaker

text_line_ignore

text_line_headers

ingest

ingest_index

ingest_sourcetype

include_fields

convert_table_array

timeout

**NOTE: the dfenrich command can only be run from the Dataflect app.

Basic Examples

Go to Top

index=foo ip=*
| dfenrich url="https://somerandomsite.notadomain/api/v2/ip/lookup/$ip$"

The above example demonstrates basic usage of the dfenrich command, without any additional parameters specified. The field to match on in events is passed as the $ip$ variable. Only one field can be passed in from the source events.

Syntax

Go to Top

Simple:

dfenrich url=”<url>”

Complete:

Required syntax is in bold.

| dfenrich
[url=<string>]
[endpoint=<string>]
[parameters=<string>]
[credential=<string>]
[containing_field=<string>]
[output_fields=<string>] [data=<string>] [data_format=<string>] [headers=<string>] [method=<string>] [rate_limit_calls=<int>]
[rate_limit_period=<int>]

Required arguments

Go to Top

url

Optional arguments

Go to Top

endpoint

parameters

credential

containing_field

output_fields

data

data_format

headers

method

rate_limit_calls

rate_limit_period

**NOTE: the dfengage command can only be run from the Dataflect app. If you want to extend the capability outside of the app you must create custom alert action using the Action Builder Dashboard, and then set the sharing to Global in the Configure –> Commands Page.

Basic Examples

Go to Top

| dfengage url="https://somerandomsite.notadomain/api/v2/user?username=foo&acition=disable"

The above example demonstrates basic usage of the dfengage command, without any additional parameters specified. The dfengage command must be the first command in a search string.

Syntax

Go to Top

Simple:

dfengage url=”<url>”

Complete:

Required syntax is in bold.

| dfenrich
[url=<string>]
[endpoint=<string>]
[parameters=<string>]
[credential=<string>]
[containing_field=<string>]
[data=<string>] [data_format=<string>] [headers=<string>] [method=<string>]

Required arguments

Go to Top

url

Optional arguments

Go to Top

endpoint

parameters

credential

containing_field

data

data_format

headers

method

Dataflect Query Builder Overview

Go to Top

Dataflect ships with a Query Builder view that makes it easy for users to interact with the dfsearch command. Users can access the Query Builder dashboard by navigating to the Dataflect Application and selecting Query Builder. The same options are available which are discussed in this documentation for the dfsearch command.

Using the Query Builder to Create a Custom Search Command

Go to Top

Once a user has executed a search using the Query Builder, the option to “Create Custom Search Command” appears at the top of the page. Click the link to expand this option.

The expanded section includes the underlying query that has been executed. From here a user can enter an “Custom Search Command Name Name” in the text box under the search and click “Create” to create a custom search command that will execute the underlying search.

Users have the option to enter parameters within the search query using the format $token$. Tokens must be set when the custom search command is executed using the “parameters”.

Update permissions as necessary by navigating to Dataflect –> Configure –> Commands

Dataflect Action Builder Overview

Go to Top

Dataflect ships with a Query Builder view that makes it easy for users to interact with the dfsearch command. Users can access the Query Builder dashboard by navigating to the Dataflect Application and selecting Query Builder. The same options are available which are discussed in this documentation for the dfsearch command.

Using the Action Builder to Create a Custom Alert Action

Go to Top

Once a user has executed a search using the Action Builder, the option to “Create Custom Alert Action” appears at the top of the page. Click the link to expand this option.

The expanded section includes the underlying query that has been executed. From here a user can enter an “Custom Alert Action Name” in the text box under the search and click “Create” to create a custom alert action that will execute the underlying search.

Users have the option to enter parameters within the search query using the format $result.somefield$. Tokens will be passed in from the results passed into the alert action.

Update permissions as necessary by navigating to Dataflect –> Configure –> Actions.

Normalizing Dataflect Results with Props

Dataflect dfsearch results can be normalized using the default Splunk props.conf configurations, with some key caveats.

Field Aliases

Go to Top

To create a field alias, you will navigate in Splunk Web to Settings –> Fields –> Field aliases.

Field Extractions

Go to Top

To create a field extraction, you will navigate in Splunk Web to Settings –> Fields –> Field extractions.

Dataflect Logging Overview

Go to Top

Each of the Dataflect commands are logged to Splunk’s _internal index. These logs can be found by searching:

index=_internal source=*dataflect.log

Dataflect logs the user executing each command, as well as information regarding which APIs they are communicating with, the number of calls they are making, and the volume of data that is being sent out of Splunk (egress) and returned back to Splunk (ingress).

Dataflect Monitoring Dashboard

Go to Top

To simplify monitoring, Dataflect provides a Monitoring Dashboard which provides some key metrics. To access the Monitoring Dashboard, navigate to the Dataflect Application, and select Monitoring from the navigation menu.

From within the dashboard you can filter based on time, command and/or the domain being communicated with.

The following modifiers can be used with any Dataflect custom search command:

Dataflect Modifiers

Go to Top

Dataflect Known Issues

Go to Top