Wufoo · Arazzo Workflow

Wufoo Browse Form Entries

Version 1.0.0

Resolve a form, check its entry count, then page through its entries.

1 workflow 1 source API 1 provider
View Spec View on GitHub FormsForm BuilderSurveysData CollectionWebhooksPaymentsSurveyMonkeyArazzoWorkflows

Provider

wufoo

Workflows

browse-form-entries
Resolve a Wufoo form and retrieve a page of its entries.
Lists forms, gets the single form, counts its entries, and pages through the entries, branching to skip the fetch when the form has no entries.
4 steps inputs: apiKey, formIdentifier, pageSize, pageStart, sort, sortDirection outputs: entries, entryCount
1
listForms
listForms
List all forms to confirm the target form is accessible to the API key.
2
getForm
getForm
Fetch the single target form to read its hash and entry links.
3
countEntries
countFormEntries
Count the form's entries to decide whether there are any to retrieve.
4
listEntries
listFormEntries
Retrieve a sorted, paged set of entries for the form.

Source API Descriptions

Arazzo Workflow Specification

wufoo-browse-form-entries-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Wufoo Browse Form Entries
  summary: Resolve a form, check its entry count, then page through its entries.
  description: >-
    A read pattern for pulling submissions out of a Wufoo form. The workflow
    confirms the target form by listing all forms and fetching the single form,
    counts the entries so the caller can decide whether there is anything to
    retrieve, and then pages through the entries with sorting and paging
    controls. It branches so an empty form short-circuits before the entry
    fetch. Every step spells out its request inline so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: wufooApi
  url: ../openapi/wufoo-rest-v3-openapi.yml
  type: openapi
workflows:
- workflowId: browse-form-entries
  summary: Resolve a Wufoo form and retrieve a page of its entries.
  description: >-
    Lists forms, gets the single form, counts its entries, and pages through
    the entries, branching to skip the fetch when the form has no entries.
  inputs:
    type: object
    required:
    - apiKey
    - formIdentifier
    properties:
      apiKey:
        type: string
        description: Wufoo account API key, used as the HTTP Basic Auth username.
      formIdentifier:
        type: string
        description: Form hash (preferred) or title to read entries from.
      pageStart:
        type: integer
        description: Zero-based index of the first entry to return.
        default: 0
      pageSize:
        type: integer
        description: Number of entries to return per page (max 100).
        default: 25
      sort:
        type: string
        description: Field ID to sort the entries by.
      sortDirection:
        type: string
        description: Sort direction, ASC or DESC.
        default: DESC
  steps:
  - stepId: listForms
    description: List all forms to confirm the target form is accessible to the API key.
    operationId: listForms
    parameters:
    - name: format
      in: path
      value: json
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      forms: $response.body#/Forms
  - stepId: getForm
    description: Fetch the single target form to read its hash and entry links.
    operationId: getForm
    parameters:
    - name: identifier
      in: path
      value: $inputs.formIdentifier
    - name: format
      in: path
      value: json
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      form: $response.body#/Forms/0
      hash: $response.body#/Forms/0/Hash
  - stepId: countEntries
    description: Count the form's entries to decide whether there are any to retrieve.
    operationId: countFormEntries
    parameters:
    - name: identifier
      in: path
      value: $inputs.formIdentifier
    - name: format
      in: path
      value: json
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      entryCount: $response.body#/EntryCount
    onSuccess:
    - name: hasEntries
      type: goto
      stepId: listEntries
      criteria:
      - context: $response.body
        condition: $.EntryCount != '0'
        type: jsonpath
    - name: noEntries
      type: end
      criteria:
      - context: $response.body
        condition: $.EntryCount == '0'
        type: jsonpath
  - stepId: listEntries
    description: Retrieve a sorted, paged set of entries for the form.
    operationId: listFormEntries
    parameters:
    - name: identifier
      in: path
      value: $inputs.formIdentifier
    - name: format
      in: path
      value: json
    - name: pageStart
      in: query
      value: $inputs.pageStart
    - name: pageSize
      in: query
      value: $inputs.pageSize
    - name: sort
      in: query
      value: $inputs.sort
    - name: sortDirection
      in: query
      value: $inputs.sortDirection
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      entries: $response.body#/Entries
  outputs:
    entryCount: $steps.countEntries.outputs.entryCount
    entries: $steps.listEntries.outputs.entries