Skip to main content

Python client for Clappia API integration

Project description

Clappia API Tools

Clappia APIs SDK

PyPI - Python Version License: MIT


Overview

Clappia API Tools is a Python package that provides a set of clients for seamless integration with the Clappia API. It enables developers to automate workflows, manage submissions, and interact with Clappia apps programmatically. The package is designed for use in automation, data integration, and agent-based systems (e.g., LangChain agents, MCP).


Features

  • Multiple API Clients: Dedicated clients for each Clappia API operation.
  • Submission Management: Create, edit, update owners, and change status of submissions.
  • App Definition Retrieval: Fetch complete app structure and metadata and manage the app structure via fields and sections updates.
  • Workflow Management: Retrieve, create, modify, and manage workflow definitions and steps.
  • Analytics Management: Add, update, and reorder charts and analytics configurations.

Available Clients

  • SubmissionClient: Manage submissions (create, edit, update owners, change status)
  • AppDefinitionClient: Retrieve app definitions and metadata and Manage app structure (fields, sections, creation)
  • WorkflowDefinitionClient: Manage workflow definitions (get, add, update, reorder workflow steps)
  • AnalyticsClient: Manage analytics and charts (add, update, reorder charts)

Documentation


Installation

pip install clappia-api-tools

Or, for development:

git clone https://github.com/clappia-dev/clappia-api-tools.git
cd clappia-api-tools
pip install -e ."[dev]"

Configuration

You must provide your Clappia API credentials and workspace information directly when initializing any client:

  • api_key: Your Clappia API key
  • base_url: The base URL for the Clappia API (e.g., https://api.clappia.com)

Usage

SubmissionClient Example

from clappia_api_tools.client.submission_client import SubmissionClient

client = SubmissionClient(
    api_key="your-api-key",
    base_url="https://api.clappia.com",
)

# Create a submission
result = client.create_submission(
    app_id="MFX093412",
    data={"employee_name": "John Doe", "department": "Engineering"},
)
print(result)

AppDefinitionClient Example

from clappia_api_tools.client.app_definition_client import AppDefinitionClient

client = AppDefinitionClient(
    api_key="your-api-key",
    base_url="https://api.clappia.com",
)

# Get app definition
result = client.get_definition(app_id="MFX093412")
print(result)

WorkflowDefinitionClient Example

from clappia_api_tools.client.workflow_definition_client import WorkflowDefinitionClient

client = WorkflowDefinitionClient(
    api_key="your-api-key",
    base_url="https://api.clappia.com",
)

# Get workflow definition
result = client.get_workflow(
    app_id="MFX093412",
    trigger_type="submissionCreated",
)
print(result)

# Add a workflow step
add_result = client.add_step(
    app_id="MFX093412",
    trigger_type="submissionCreated",
    node_type="Email",
)
print(add_result)

AnalyticsClient Example

from clappia_api_tools.client.analytics_client import AnalyticsClient

client = AnalyticsClient(
    api_key="your-api-key",
    base_url="https://api.clappia.com",
)

# Add a chart
result = client.add_chart(
    app_id="MFX093412",
    chart_type="Bar",
    chart_title="Sales Overview"
)
print(result)

# Update chart configuration
update_data = {
    "chart_title": "Updated Sales Overview",
    "dimensions": ["region"],
    "metrics": ["sales_amount"]
}
update_result = client.update_chart(
    app_id="MFX093412",
    chart_index=0,
    update_data=update_data
)
print(update_result)

Contributing

  1. Fork the repository and create your branch.
  2. Write clear, well-documented code and tests.
  3. Run pytest and ensure all tests pass.
  4. Submit a pull request with a clear description of your changes.

License

This project is licensed under the MIT License. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clappia_api_tools-2.0.13.tar.gz (56.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clappia_api_tools-2.0.13-py3-none-any.whl (67.0 kB view details)

Uploaded Python 3

File details

Details for the file clappia_api_tools-2.0.13.tar.gz.

File metadata

  • Download URL: clappia_api_tools-2.0.13.tar.gz
  • Upload date:
  • Size: 56.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for clappia_api_tools-2.0.13.tar.gz
Algorithm Hash digest
SHA256 095f8cc586fc44c4f33b93fa4a7acb2dcc9c510c4aee41d50e4a43d2da371f0f
MD5 656ef31eaa8b9627f3e406c7d0cf7c6b
BLAKE2b-256 e4d978701865663f97f82ef1547eab22b475582dd9bd9b939c4bee40b94de901

See more details on using hashes here.

Provenance

The following attestation bundles were made for clappia_api_tools-2.0.13.tar.gz:

Publisher: publish.yml on clappia-dev/clappia-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clappia_api_tools-2.0.13-py3-none-any.whl.

File metadata

File hashes

Hashes for clappia_api_tools-2.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 9c0d739e9691e3d5b4a0f95fc4161428b95b12281e2ba80a277f39a188f861a5
MD5 ddf4e9eaf85a6701bb8279b94cdfb46d
BLAKE2b-256 31988ff4360b83404a1c728bc8c0d80c7d73df3645c567d3e7b344b3a1767e13

See more details on using hashes here.

Provenance

The following attestation bundles were made for clappia_api_tools-2.0.13-py3-none-any.whl:

Publisher: publish.yml on clappia-dev/clappia-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page