Connectors / Service / Wufoo

Wufoo

Wufoo

Wufoo is an online form builder that helps create and design online forms and process simple payments.

Overview

Wufoo is a cloud-based form builder that makes it easy to create registration forms, application forms, surveys, contact forms, payment forms, and more.

API INFO: The Base URL used for the wufoo connector is https://{subdomain}.wufoo.com/api/v3. More information can be found on their main API documentation (v3) site.

Authentication

Within the workflow builder, highlight the Wufoo connector.

In the Wufoo connector properties panel to the right of the builder, click on the Authenticate tab and the 'New authentication' button.

This will result in a Tray.io authentication pop-up modal. The first page will ask you to name your authentication and select the type of authentication you wish to create ('Personal' or 'Organisational').

The next page asks you for your 'API Key' and 'Subdomain' credentials.

In order to get the 'API Key', head to the Wufoo dashboard. Click API Information from the 'More' dropdown on any form.

Once you have added these fields to your Tray.io authentication pop-up window, click the 'Create authentication' button.

Go back to your settings authentication field (within the workflow builder properties panel), and select the recently added authentication from the dropdown options now available.

Your connector authentication setup should now be complete.

Available Operations

The examples below show one or two of the available connector operations in use.

Please see the Full Operations Reference at the end of this page for details on all available operations for this connector.

Using the Raw HTTP Request ('Universal Operation')

As of version 2.0, you can effectively create your own operations.

This is a very powerful feature that you can use when there is an endpoint in Wufoo that is not used by any of our operations.

To use this you will first of all need to research the endpoint in the Wufoo API documentation v3, to find the exact format that Wufoo will be expecting the endpoint to be passed in.

Note that you will only need to add the suffix to the endpoint, as the base URL will be automatically set (the base URL is picked up from the value you entered when you created your authentication).

The base URL for Wufoo is: https://{subdomain}.wufoo.com/api/v3

For example, say that the 'List forms' operation did not exist in our Wufoo connector, and you wanted to use this endpoint. You would use the Wufoo API docs to find the relevant endpoint - which in this case is a GET request called: /forms.json.

More details about this endpoint can be found here.

As you can see, there is also the option to include a query parameter, should you wish to do so. So if you know what your method, endpoint and details of your query parameters are, you can get the leads lists information with the following settings:

Method: GET

Endpoint: /forms.json

Query Parameter:

  • Key: includeTodayCount Value: true

Body Type : none : { "none" : null }

Final outcome being: https://{subdomain}.wufoo.com/api/v3/forms.json?includeTodayCount=true

Example Usage

TRAY POTENTIAL: Tray.io is extremely flexible. By design there is no fixed way of working with it - you can pull whatever data you need from other services and work with it using our core and helper connectors. This demo which follows shows only one possible way of working with Tray.io and the wufoo connector. Once you've finished working through this example please see our Introduction to working with data and jsonpaths page and Data Guide for more details.

Below is an example of a way in which you could potentially use the Wufoo connector, to retrieve the details of a lead.

The steps will be as follows:

  1. Setup using a manual trigger and list all the forms.
  2. Loop through the received list of forms.
  3. Retrieve the details of each form.

Your completed workflow should look similar to this:

1 - Setup Trigger & List forms

With your Manual trigger in place, add a Wufoo connector. Set the operation to 'List forms'.

Feel free to re-name your steps as you go along to make things clearer for yourself and other users. The operation names themselves often suffice.

Upon completion, you will have set up the manual trigger and fetched a list of all the forms you have permission to access.

2 - Loop collection

Next, search for the Loop connector within your connector panel, and drag it into your workflow as your next step. Set your operation to 'Loop list'.

The Loop connector allows you to iterate through a list of results. In this example, we will use it to iterate through the data found within the previous Wufoo connector step.

In order to specify the list you want to loop through, start by using the list mapping icon (found next to the list input field, within the properties panel) to generate the connector-snake.

While hovering over the 'List forms' step (with the tail end of the connector-snake), select Forms from the list of output properties displayed. This will auto-populate a jsonpath within your list input field, and update the type selector to jsonpath.

For more clarification on the pathways you have available, open the Debug panel to view your step's Input and Output.

JSONPATHS: For more information on what jsonpaths are and how to use jsonpaths with Tray.io, please see our Intro page and Data Guide for more details.
CONNECTOR-SNAKE: The simplest and easiest way to generate your jsonpaths is to use our feature called the Connector-snake. Please see the main page for more details.

3 - Get form details

The last step is to drag a Wufoo connector inside the Loop Collection step itself. Set the operation to 'Raw HTTP Request'. As you can see from the Wufoo API docs, the 'identifier' field is required in the resource path.

Use the connector snake and hover over the 'Loop Collection' step (with the tail end of the connector-snake) and select the jsonpath for the specified identifier from the list of output properties displayed.

In this case the jsonpath for 'Endpoint' is selected and it should appear similar to $.steps.loop-1.value.Hash. Then update the type selector to string, surround it with curly braces, prepend it with '/forms/' and end it with '.json' for the final format. It should look like: /forms/{$.steps.loop-1.value.Hash}.json.

INTERPOLATION: When you wish to include JSON generated data within another input/ output/ result, use our Interpolation method as described here.

You can always inspect the logs of your workflow by using the 'Debug' tab available on the top of the Tray builder.

If you go through each execution of the 'Get Form Details' step, you will see the results of each loop.

BEST PRACTICES: Whenever you do decide to create your own workflow, please make sure you take a look at our Managing data best practices guide.

All Operations

Latest version:

2.0