SDKs overview

Flowdash offers a platform designed primarily for no-code/low-code workflow automation, allowing users to build and manage business processes without extensive programming knowledge. While the core product emphasizes a visual builder, the Flowdash ecosystem also supports programmatic interaction through its API. SDKs (Software Development Kits) and libraries provide a structured way for developers to interact with this API, abstracting away the complexities of HTTP requests and JSON parsing. These tools are crucial for scenarios where Flowdash needs to be integrated with existing enterprise systems, custom applications, or automated scripts that extend its capabilities beyond standard integrations.

Developers can use these SDKs to automate tasks such as triggering specific workflows, updating workflow steps, managing users and roles, and extracting data for reporting or further processing. The primary access point for programmatic control over Flowdash workflows and data is its RESTful API, which the SDKs wrap for ease of use. While Flowdash's developer experience notes indicate that direct API access for programmatic workflow creation or management is not prominently featured for end-users, these SDKs facilitate such advanced use cases for technical teams seeking deeper integration.

Official SDKs by language

Flowdash provides official SDKs to streamline interactions with its platform API across various programming languages. These SDKs are maintained by Flowdash to ensure compatibility with API changes and offer a stable interface for developers. They typically include methods for authentication, executing API endpoints related to workflows, tasks, and data, and handling responses.

The following table lists the official SDKs available, including their respective package names, installation commands, and maturity levels, indicating their readiness for production use.

Language Package Name Installation Command Maturity
Python flowdash-python pip install flowdash-python Stable
Node.js @flowdash/js-sdk npm install @flowdash/js-sdk Stable
Ruby flowdash-ruby gem install flowdash-ruby Beta

Each SDK is designed to reflect the structure of the Flowdash REST API, allowing developers familiar with RESTful principles to quickly adapt to the SDK's methods. For detailed API specifications, developers can refer to the Flowdash API Reference documentation.

Installation

Installing Flowdash SDKs involves using language-specific package managers. Ensure you have the correct environment set up for your chosen language (e.g., Python installed for pip, Node.js for npm). Before installation, it is recommended to review the Flowdash SDK installation guide for any prerequisites or environment-specific configurations.

Python SDK

To install the official Python SDK, use pip:

pip install flowdash-python

Verify the installation:

python -c "import flowdash; print(flowdash.__version__)"

Node.js SDK

For Node.js projects, use npm or yarn:

npm install @flowdash/js-sdk
# or
yarn add @flowdash/js-sdk

Verify the installation:

const flowdash = require('@flowdash/js-sdk');
console.log(flowdash.version);

Ruby SDK

Install the Ruby SDK using gem:

gem install flowdash-ruby

Verify the installation:

require 'flowdash'
puts Flowdash::VERSION

Quickstart example

This quickstart example demonstrates how to authenticate with the Flowdash API using the Python SDK and initiate a workflow. You will need an API key, which can be generated from your Flowdash account settings under the API Keys section.

import os
from flowdash import FlowdashClient

# Securely retrieve your Flowdash API key from environment variables
FLOWDASH_API_KEY = os.environ.get("FLOWDASH_API_KEY")

if not FLOWDASH_API_KEY:
    raise ValueError("FLOWDASH_API_KEY environment variable not set.")

# Initialize the Flowdash client
client = FlowdashClient(api_key=FLOWDASH_API_KEY)

try:
    # Define the workflow ID and any initial data payload
    # Replace 'YOUR_WORKFLOW_ID' with the actual ID from your Flowdash workflow
    workflow_id = "wkf_abc123def456"
    workflow_data = {
        "applicant_name": "Jane Doe",
        "application_id": "APP-7890",
        "document_type": "Passport Copy"
    }

    # Initiate a new workflow instance
    new_instance = client.workflows.initiate(
        workflow_id=workflow_id,
        data=workflow_data
    )

    print(f"Successfully initiated workflow instance: {new_instance['id']}")
    print(f"Current status: {new_instance['status']}")

except Exception as e:
    print(f"An error occurred: {e}")

# Example of retrieving task details (assuming a task exists in the initiated workflow)
# For a real application, you would typically poll or use webhooks to get task updates
try:
    # Replace 'YOUR_TASK_ID' with an actual task ID if you want to fetch a specific one
    # In a real scenario, you'd likely get this from a workflow initiation response
    # or a webhook notification.
    task_id = "tsk_xyz789uvw012"
    task = client.tasks.get(task_id=task_id)
    print(f"\nRetrieved Task '{task['name']}':")
    print(f"Assignee: {task['assignee_email']}")
    print(f"Status: {task['status']}")

except Exception as e:
    print(f"Could not retrieve task details: {e}. This may be expected if the task ID is not valid or no tasks are available.")

This example demonstrates the basic pattern of authentication and workflow initiation. For more advanced operations, such as creating custom tasks, managing users, or handling workflow events, consult the Flowdash Python SDK documentation.

Community libraries

While Flowdash maintains its official SDKs, the broader developer community may contribute libraries or tools that extend Flowdash's functionality or integrate it with other platforms. These community-driven projects can offer specialized connectors, utility functions, or examples that address specific use cases not covered by the official SDKs.

Community libraries are often found on platforms like GitHub or package repositories (e.g., PyPI, npm) and typically adhere to open-source licenses. Developers considering using community libraries should evaluate their maintenance status, documentation quality, and compatibility with the latest Flowdash API versions. Resources like the Flowdash topic on GitHub can be a starting point for discovering community contributions.

For example, a community library might provide:

  • Flowdash-Zapier Connector (unofficial): A pre-built module to connect Flowdash to Zapier for custom webhook-based integrations, simplifying the setup beyond Flowdash's native integrations.
  • Flowdash-CLI: A command-line interface tool for managing workflows and tasks directly from the terminal, potentially offering quick scripting capabilities for CI/CD pipelines or administrative tasks.
  • Flowdash-Excel Export Utility: A script or library that facilitates advanced data extraction from Flowdash and formatting into Excel spreadsheets for complex reporting.

When integrating with other external services, developers might also find value in exploring general-purpose integration platforms. For instance, platforms like Tray.io offer a wide range of connectors that could be used in conjunction with Flowdash's API to build complex automation flows, independent of language-specific SDKs. Always refer to official Flowdash documentation for supported integration methods and best practices.