Python client for Clappia API integration
Project description
Clappia API Tools
Clappia APIs SDK
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
- Submission Client Reference
- App Definition Client Reference
- Workflow Definition Client Reference
- Analytics Client Reference
- Setup, Testing, and Publish Reference
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 keybase_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
- Fork the repository and create your branch.
- Write clear, well-documented code and tests.
- Run
pytestand ensure all tests pass. - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clappia_api_tools-2.0.7.tar.gz.
File metadata
- Download URL: clappia_api_tools-2.0.7.tar.gz
- Upload date:
- Size: 76.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9664fd9d5bd4357a36be77fe5fe57c93e2b1809fc25377390c37ec6bd0d7f328
|
|
| MD5 |
0d832b029924a25f6ef649649905014a
|
|
| BLAKE2b-256 |
51584beb4d8b37be2c531b77f75bd8b5025a77df089b898ed21ce3d658b0ba2a
|
Provenance
The following attestation bundles were made for clappia_api_tools-2.0.7.tar.gz:
Publisher:
publish.yml on clappia-dev/clappia-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clappia_api_tools-2.0.7.tar.gz -
Subject digest:
9664fd9d5bd4357a36be77fe5fe57c93e2b1809fc25377390c37ec6bd0d7f328 - Sigstore transparency entry: 536679394
- Sigstore integration time:
-
Permalink:
clappia-dev/clappia-tools@c8fa238c0b47baf4d28a54adf551a51e5e0dee28 -
Branch / Tag:
refs/heads/release - Owner: https://github.com/clappia-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c8fa238c0b47baf4d28a54adf551a51e5e0dee28 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file clappia_api_tools-2.0.7-py3-none-any.whl.
File metadata
- Download URL: clappia_api_tools-2.0.7-py3-none-any.whl
- Upload date:
- Size: 96.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6374c89ba753c873069560d1d2b57870d3ffa79b2c95985728c10ec71aeef4c
|
|
| MD5 |
ebed3c868fd769a56a40e31009607841
|
|
| BLAKE2b-256 |
f9c4c6db069680e990324519cd673082070d6f06e25ea70a7a73fa654753198f
|
Provenance
The following attestation bundles were made for clappia_api_tools-2.0.7-py3-none-any.whl:
Publisher:
publish.yml on clappia-dev/clappia-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clappia_api_tools-2.0.7-py3-none-any.whl -
Subject digest:
d6374c89ba753c873069560d1d2b57870d3ffa79b2c95985728c10ec71aeef4c - Sigstore transparency entry: 536679398
- Sigstore integration time:
-
Permalink:
clappia-dev/clappia-tools@c8fa238c0b47baf4d28a54adf551a51e5e0dee28 -
Branch / Tag:
refs/heads/release - Owner: https://github.com/clappia-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c8fa238c0b47baf4d28a54adf551a51e5e0dee28 -
Trigger Event:
workflow_dispatch
-
Statement type: