help

FAQ

Answers to our most-popular questions.

Flex.io Basics

What does Flex.io do?
How does Flex.io work?
How is Flex.io used?
Can you show me a demo?
How do I get started?
How do I get help?

Creating Pipes

How do I create a pipe?
How do I get a list of pipes?
How do I read and write to files in cloud storage?

Using Pipes

How do I run a pipe manually?
How do I run a pipe with an API call?
How do I run a pipe on a schedule?
How do I run a pipe from an email?
How do I run a pipe from a webhook?
How do I pass parameters to a pipe when I run it?
How do I get the output of a pipe after it runs?
How do I monitor a pipe?
How do I get notified if a pipe fails?

Managing Account Info

How do I get an API key?
How do I change my API key?
How do I change my username?
How do I change my password?
How do reset my password?

Additional Resources

Where can I find out more about Flex.io?
Where can I find demos that use Flex.io?
Where can I find pipe examples for common tasks in Flex.io?
Where can I find tutorials for Flex.io?
Where can I find the REST API reference for Flex.io?
Where can I find the Javascript SDK reference for Flex.io?
How much does Flex.io cost?
Where can I contact you?

What does Flex.io do?

Flex.io is a cloud services for creating, running, managing, and monitoring data feeds.

With Flex.io, you can:

How does Flex.io work?

Flex.io is a cloud services for creating, running, managing, and monitoring data feeds. These data feeds can be used to read, write, and manipulate content from resources, including cloud storage, databases, SFTP, Email, and APIs. The data feeds that perform these operations are called pipes and the resources that are accessed by these data feeds are called connections.

Pipes define data feeds using tasks that run sequentially when the pipe is run. Some of these tasks, such as list, create, read, write, delete, and request are used to read and write to the resources defined by the connections. Other tasks, such as convert and execute are used to convert the content from one format to another or process the content with custom code, including languages such as python.

When a pipe is run, a process is created with a copy of the pipe tasks, and the tasks execute sequentially. Input from the caller is passed to the first task, which operates on the input and returns an output; then the output of that task is passed to the next task and so on, until the tasks are finished and the process returns a final output.

How is Flex.io used?

Pipes are created and invoked using the Flex.io REST API or the Flex.io Javascript SDK, which is built on top of the REST API.

Pipes are created by calling the /pipes API endpoint. Once created, pipes are run by calling the /pipes/{id}/run API endpoint, by scheduling them to run at certain times, or by triggering them from an incoming email or a webhook.

Can you show me a demo?

Take a look at our Demo App Examples on GitHub to see some demos built using our data feeds.

Here’s a simple example of a Flex.io pipe that reads a CSV on Github and returns a pivot table of the contents. Press the Run button to see it work.

In this example, a Flex.io pipe is defined and invoked in a function on this page using the Javascript SDK and the code you see above.

When run() is called on a pipe, the tasks defined in the pipe are sent to Flex.io, and the tasks are executed sequentially. The request task issues an HTTP request to the specified URL, and the CSV is read and passed onto the next step. The python step takes this CSV from the output of the request step, summarizes it using Python’s Pandas pivot function, and then passes the final pipe output to the run() callback function in the response.text variable.

Flex.io then returns the results to the calling function, and the results are displayed on this page.

How do I get started?

Check out our Getting Started Guide to get going!

How do I get help?

Click on the message icon in the lower-right of this page or the application and type away. Or email us at support@flex.io. We’d love to help you!

How do I create a pipe?

To create a pipe using the REST API, create an HTTP POST request to the pipes API endpoint as follows, where {token} is your API key, {pipe-name} is the name of the pipe you would like to create, and {pipe-alias} is the identifier you would like to use to reference the pipe:

When creating a pipe, you’ll usually specify a task to run as well, which you’d define by setting the pipe task parameter; for example, here’s how you would add a request task to the pipe:

How do I get a list of pipes?

To get a list of pipes using the REST API, make an HTTP GET request to the pipes API endpoint as follows, where {token} is your API key:

How do I read and write to files in cloud storage?

To read and write from cloud storage, you’ll need to create a connection to the storage and authenticate it inside the Flex.io web application.

Flex.io Cloud Storage

To create a connection to your cloud storage, do the following:

  1. Sign in to Flex.io.
  2. In the menu on the left, select the Connections tab.
  3. To create a new connection, select the New Connection button in the upper-right.
  4. In the dialog that appears, select your cloud storage service.
  5. Enter your credentials and authenticate with the provider and/or test your connection.
  6. For ease of referencing in your code, add an alias such as my-cloud-storage.
  7. Click the Create Connection button to add the storage service to your account.

Once you’ve created the connection, you can create a pipe to read from files in the storage as follows, where {token} is your API key, {pipe_alias} is the alias of the pipe to run when accessing the storage, {storage-alias} is the alias of the connection, and {path} is the path in the storage to the file you’d like to read from:

Using this connection, you can create a pipe to write to files in the as follows, where {token} is your API key, {pipe_alias} is the alias of the pipe to run when accessing the storage, {storage-alias} is the alias of the connection, and {path} is the path in the storage to the file you’d like to read from:

Now that you’ve created the API endpoint for reading and writing to the file, you can invoke the API endpoint by running the pipe.

How do I run a pipe manually?

  1. Sign in to Flex.io.
  2. Select Pipes from the menu to see a list of your pipes.
  3. Click on a pipe in the pipe list to open the pipe you’d like to run.
  4. Click the Run button in the pipe configuration.

How do I run a pipe with an API call?

Running a pipe from the REST API:

To run a pipe with the REST API, create either an HTTP GET request or an HTTP POST request to the pipe run API endpoint.

In the case of an HTTP GET request, use the following where {id} is the eid or alias for your pipe, token is your API key, and any parameters you want to pass to the pipe are specified as part of the URL as key and value pairs as usual:

In the case of an HTTP POST request, use the following where {id} is the eid or alias for your pipe, token is your API key, and any parameters you want to pass to the pipe are specified as a JSON payload in the data payload of the request:

Running a pipe from the Javascript SDK:

To run a pipe from the Javascript SDK, call the run() function on the pipe object.

See the Javascript SDK info on run for more info.

How do I run a pipe on a schedule?

  1. Sign in to Flex.io.
  2. Select Pipes from the menu to see a list of your pipes.
  3. Click on a pipe in the pipe list to open the pipe you’d like to schedule.
  4. Open the schedule dialog by clicking on “Options…” next to the “Scheduled” item in the pipe properties.
  5. Set the schedule for when you would like the pipe to run and click “Save Changes”.
  6. Activate the schedule by turning on the button next to the “Scheduled” item and clicking the pipe “Save” button.

How do I run a pipe from an email?

You can run a pipe by emailing the pipe at `{username}|{alias}@pipes.flex.iowhereusernameis your username andaliasis the alias of the pipe. For example, if your username istest-userand your pipe alias isprocess-email`, you can run the pipe by sending an email to “test-user|process-email@pipes.flex.io“.

To give a pipe an alias, do the following:

  1. Sign in to Flex.io.
  2. Select Pipes from the menu to see a list of your pipes.
  3. Click on a pipe in the pipe list to open the pipe you’d like to give an alias.
  4. In the pipe properties, assign the pipe an alias by entering a valid alias in the “API Endpoint” text box and pressing the “Save” button.

How do I run a pipe from a webhook?

To run a pipe from a webhook, add an HTTP GET or POST request to the webhook using the pipe run API endpoint

If you’re using an HTTP GET request in your webhook, configure the endpoint as follows, where {id} is the eid or alias for your pipe and token is your API key:

If you’re using an HTTP POST request in your webhook, configure the endpoint as follows, where {id} is the eid or alias for your pipe and token is your API key and set in the POST header Authorization: Bearer {token}:

Parameters or information sent in the webhook is passed to the pipe when it runs, and the parameters can be used to take the appropriate action.

How do I pass parameters to a pipe when I run it?

When pipes are run from the REST API endpoint, parameters can be passed to the pipe either through QUERY parameters in the URL in a GET request or in the data payload of a POST request.

In the following GET request, the key/value pair in the query string is passed to the pipe:

In the following POST request, the data payload is passed to the pipe:

How do I get the output of a pipe after it runs?

When pipes are run calling the pipe run API endpoint, the API request blocks until the pipe process is finished, and the results are returned in the response.

How do I monitor a pipe?

When pipes are run calling the pipe run API endpoint, the API request blocks until the pipe process is finished, and the results are returned in the response. If the process succeeds, the HTTP response code is set to 200; if the process fails, the HTTP response code is set to indicate an error and response body contains information about the error.

When pipes are run by scheduling, they can be monitored by checking the associated process logs for the pipe.

How do I get notified if a pipe fails?

When a pipe runs, it triggers a pipe process, which contains information about the process, including whether it succeeds or fails. Currently, the pipe process needs to be monitored to check for errors; however, we plan to add in notifications for failures shortly.

How do I get an API key?

  1. Sign up or sign in if you already have an account.
  2. Copy the API key from your Dashboard.
  3. You can also get and manage your API key from the Account Settings API tab.

How do I change my API key?

  1. Go to the Account Settings API tab.
  2. To create a new API key, click the “Create API Key” button.
  3. To delete an API key, hover over an API key and click the “X” on the right of the API key to delete.

How do I change my username?

  1. Go to the Account Settings Profile tab.
  2. Enter your new username.
  3. Save the changes.

How do I change my password?

  1. Go to the Account Settings Password tab.
  2. Confirm your current password.
  3. Enter your new password.
  4. Save the changes.

How do I reset my password?

  1. Go to the Forgot Password page.
  2. Enter your email address.
  3. Click the “Send Reset Instructions” button.

Where can I find out more about Flex.io?

Please ask us! Click on the message icon in the lower-right of this page or the application and type away. Or email us at support@flex.io.

Where can I find demos that use Flex.io?

Take a look at our Demo App Examples on GitHub to see some demos built using our data feeds.

Where can I find pipe examples for common tasks in Flex.io?

Take a look at our examples. Also, take a look at our Github Examples to find a some examples that use data feeds with various front-end components.

Where can I find tutorials for Flex.io?

Here’s our Tutorials that will show you how to build pipes for specific situations.

Where can I find the REST API reference for Flex.io?

Here’s the REST API Reference.

Where can I find the Javascript SDK reference for Flex.io?

Here’s the Javascript SDK Reference.

How much does Flex.io cost?

Here’s our current pricing.

Where can I contact you?

Talk to us:

hello@flex.io
support@flex.io

Visit us:

Flex.io
1 North State Street
Suite 1500
Chicago, IL 60602