airbyte-agent-chargebee 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- airbyte_agent_chargebee-0.1.0/.gitignore +34 -0
- airbyte_agent_chargebee-0.1.0/AUTH.md +123 -0
- airbyte_agent_chargebee-0.1.0/CHANGELOG.md +6 -0
- airbyte_agent_chargebee-0.1.0/PKG-INFO +162 -0
- airbyte_agent_chargebee-0.1.0/README.md +129 -0
- airbyte_agent_chargebee-0.1.0/REFERENCE.md +3626 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/__init__.py +321 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/__init__.py +1 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/__init__.py +83 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/auth_strategies.py +1171 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/auth_template.py +135 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/cloud_utils/__init__.py +5 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/cloud_utils/client.py +454 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/connector_model_loader.py +1047 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/constants.py +78 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/exceptions.py +23 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/executor/__init__.py +31 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/executor/hosted_executor.py +242 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/executor/local_executor.py +1822 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/executor/models.py +202 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/extensions.py +693 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/http/__init__.py +37 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/http/adapters/__init__.py +9 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/http/adapters/httpx_adapter.py +260 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/http/config.py +98 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/http/exceptions.py +119 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/http/protocols.py +114 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/http/response.py +104 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/http_client.py +711 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/introspection.py +493 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/logging/__init__.py +11 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/logging/logger.py +273 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/logging/types.py +93 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/observability/__init__.py +11 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/observability/config.py +179 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/observability/models.py +19 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/observability/redactor.py +81 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/observability/session.py +103 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/performance/__init__.py +6 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/performance/instrumentation.py +57 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/performance/metrics.py +93 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/schema/__init__.py +71 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/schema/base.py +256 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/schema/components.py +244 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/schema/connector.py +120 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/schema/extensions.py +281 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/schema/operations.py +151 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/schema/security.py +305 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/secrets.py +182 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/telemetry/__init__.py +10 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/telemetry/config.py +32 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/telemetry/events.py +59 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/telemetry/tracker.py +155 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/types.py +340 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/utils.py +127 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/validation/__init__.py +38 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/validation/cache.py +169 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/validation/manifest.py +115 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/validation/models.py +17 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/validation/overview.py +1005 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/validation/readiness.py +1047 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/_vendored/connector_sdk/validation/replication.py +1549 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/connector.py +2670 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/connector_model.py +3664 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/models.py +2045 -0
- airbyte_agent_chargebee-0.1.0/airbyte_agent_chargebee/types.py +6359 -0
- airbyte_agent_chargebee-0.1.0/pyproject.toml +50 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.egg-info/
|
|
6
|
+
dist/
|
|
7
|
+
build/
|
|
8
|
+
.eggs/
|
|
9
|
+
|
|
10
|
+
# Testing
|
|
11
|
+
.pytest_cache/
|
|
12
|
+
.coverage
|
|
13
|
+
htmlcov/
|
|
14
|
+
|
|
15
|
+
# Virtual environments
|
|
16
|
+
.venv/
|
|
17
|
+
venv/
|
|
18
|
+
|
|
19
|
+
# IDE
|
|
20
|
+
.idea/
|
|
21
|
+
.vscode/
|
|
22
|
+
*.swp
|
|
23
|
+
|
|
24
|
+
# OS
|
|
25
|
+
.DS_Store
|
|
26
|
+
Thumbs.db
|
|
27
|
+
|
|
28
|
+
.env
|
|
29
|
+
configured_connectors.yaml
|
|
30
|
+
|
|
31
|
+
# Claude Code development symlink
|
|
32
|
+
# Contributors: Create this symlink locally for skill testing
|
|
33
|
+
# mkdir -p .claude/skills && ln -s ../../skills/airbyte-agent-connectors .claude/skills/airbyte-agent-connectors
|
|
34
|
+
.claude/skills/airbyte-agent-connectors
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Chargebee authentication
|
|
2
|
+
|
|
3
|
+
This page documents the authentication and configuration options for the Chargebee agent connector.
|
|
4
|
+
|
|
5
|
+
## Authentication
|
|
6
|
+
|
|
7
|
+
### Open source execution
|
|
8
|
+
|
|
9
|
+
In open source mode, you provide API credentials directly to the connector.
|
|
10
|
+
|
|
11
|
+
#### OAuth
|
|
12
|
+
This authentication method isn't available for this connector.
|
|
13
|
+
|
|
14
|
+
#### Token
|
|
15
|
+
|
|
16
|
+
`credentials` fields you need:
|
|
17
|
+
|
|
18
|
+
| Field Name | Type | Required | Description |
|
|
19
|
+
|------------|------|----------|-------------|
|
|
20
|
+
| `api_key` | `str` | Yes | Your Chargebee API key (used as the HTTP Basic username) |
|
|
21
|
+
|
|
22
|
+
Example request:
|
|
23
|
+
|
|
24
|
+
```python
|
|
25
|
+
from airbyte_agent_chargebee import ChargebeeConnector
|
|
26
|
+
from airbyte_agent_chargebee.models import ChargebeeAuthConfig
|
|
27
|
+
|
|
28
|
+
connector = ChargebeeConnector(
|
|
29
|
+
auth_config=ChargebeeAuthConfig(
|
|
30
|
+
api_key="<Your Chargebee API key (used as the HTTP Basic username)>"
|
|
31
|
+
)
|
|
32
|
+
)
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Hosted execution
|
|
36
|
+
|
|
37
|
+
In hosted mode, you first create a connector via the Airbyte API (providing your OAuth or Token credentials), then execute operations using either the Python SDK or API. If you need a step-by-step guide, see the [hosted execution tutorial](https://docs.airbyte.com/ai-agents/quickstarts/tutorial-hosted).
|
|
38
|
+
|
|
39
|
+
#### OAuth
|
|
40
|
+
This authentication method isn't available for this connector.
|
|
41
|
+
|
|
42
|
+
#### Bring your own OAuth flow
|
|
43
|
+
This authentication method isn't available for this connector.
|
|
44
|
+
|
|
45
|
+
#### Token
|
|
46
|
+
Create a connector with Token credentials.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
`credentials` fields you need:
|
|
50
|
+
|
|
51
|
+
| Field Name | Type | Required | Description |
|
|
52
|
+
|------------|------|----------|-------------|
|
|
53
|
+
| `api_key` | `str` | Yes | Your Chargebee API key (used as the HTTP Basic username) |
|
|
54
|
+
|
|
55
|
+
`replication_config` fields you need:
|
|
56
|
+
|
|
57
|
+
| Field Name | Type | Required | Description |
|
|
58
|
+
|------------|------|----------|-------------|
|
|
59
|
+
| `start_date` | `str (date-time)` | Yes | UTC date and time in the format YYYY-MM-DDTHH:mm:ssZ. Data before this date is excluded. |
|
|
60
|
+
|
|
61
|
+
Example request:
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
curl -X POST "https://api.airbyte.ai/api/v1/integrations/connectors" \
|
|
66
|
+
-H "Authorization: Bearer <YOUR_BEARER_TOKEN>" \
|
|
67
|
+
-H "Content-Type: application/json" \
|
|
68
|
+
-d '{
|
|
69
|
+
"customer_name": "<CUSTOMER_NAME>",
|
|
70
|
+
"connector_type": "Chargebee",
|
|
71
|
+
"name": "My Chargebee Connector",
|
|
72
|
+
"credentials": {
|
|
73
|
+
"api_key": "<Your Chargebee API key (used as the HTTP Basic username)>"
|
|
74
|
+
},
|
|
75
|
+
"replication_config": {
|
|
76
|
+
"start_date": "<UTC date and time in the format YYYY-MM-DDTHH:mm:ssZ. Data before this date is excluded.>"
|
|
77
|
+
}
|
|
78
|
+
}'
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
#### Execution
|
|
82
|
+
|
|
83
|
+
After creating the connector, execute operations using either the Python SDK or API.
|
|
84
|
+
If your Airbyte client can access multiple organizations, include `organization_id` in `AirbyteAuthConfig` and `X-Organization-Id` in raw API calls.
|
|
85
|
+
|
|
86
|
+
**Python SDK**
|
|
87
|
+
|
|
88
|
+
```python
|
|
89
|
+
from airbyte_agent_chargebee import ChargebeeConnector, AirbyteAuthConfig
|
|
90
|
+
|
|
91
|
+
connector = ChargebeeConnector(
|
|
92
|
+
auth_config=AirbyteAuthConfig(
|
|
93
|
+
customer_name="<your_customer_name>",
|
|
94
|
+
organization_id="<your_organization_id>", # Optional for multi-org clients
|
|
95
|
+
airbyte_client_id="<your-client-id>",
|
|
96
|
+
airbyte_client_secret="<your-client-secret>"
|
|
97
|
+
)
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
101
|
+
@ChargebeeConnector.tool_utils
|
|
102
|
+
async def chargebee_execute(entity: str, action: str, params: dict | None = None):
|
|
103
|
+
return await connector.execute(entity, action, params or {})
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**API**
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
curl -X POST 'https://api.airbyte.ai/api/v1/integrations/connectors/<connector_id>/execute' \
|
|
110
|
+
-H 'Authorization: Bearer <YOUR_BEARER_TOKEN>' \
|
|
111
|
+
-H 'X-Organization-Id: <YOUR_ORGANIZATION_ID>' \
|
|
112
|
+
-H 'Content-Type: application/json' \
|
|
113
|
+
-d '{"entity": "<entity>", "action": "<action>", "params": {}}'
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
## Configuration
|
|
118
|
+
|
|
119
|
+
The Chargebee connector requires the following configuration variables. These variables are used to construct the base API URL. Pass them via the `config` parameter when initializing the connector.
|
|
120
|
+
|
|
121
|
+
| Variable | Type | Required | Default | Description |
|
|
122
|
+
|----------|------|----------|---------|-------------|
|
|
123
|
+
| `site` | `string` | Yes | your-site | Your Chargebee site name (subdomain) |
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: airbyte-agent-chargebee
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Airbyte Chargebee Connector for AI platforms
|
|
5
|
+
Project-URL: Homepage, https://github.com/airbytehq/airbyte-agent-connectors
|
|
6
|
+
Project-URL: Documentation, https://docs.airbyte.com/ai-agents/
|
|
7
|
+
Project-URL: Repository, https://github.com/airbytehq/airbyte-agent-connectors
|
|
8
|
+
Project-URL: Issues, https://github.com/airbytehq/airbyte-agent-connectors/issues
|
|
9
|
+
Author-email: Airbyte <contact@airbyte.io>
|
|
10
|
+
License: Elastic-2.0
|
|
11
|
+
Keywords: agent,ai,airbyte,api,chargebee,connector,data-integration,llm,mcp
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: Other/Proprietary License
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
19
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
20
|
+
Classifier: Typing :: Typed
|
|
21
|
+
Requires-Python: >=3.13
|
|
22
|
+
Requires-Dist: httpx>=0.24.0
|
|
23
|
+
Requires-Dist: jinja2>=3.0.0
|
|
24
|
+
Requires-Dist: jsonpath-ng>=1.6.1
|
|
25
|
+
Requires-Dist: jsonref>=1.1.0
|
|
26
|
+
Requires-Dist: opentelemetry-api>=1.37.0
|
|
27
|
+
Requires-Dist: opentelemetry-sdk>=1.37.0
|
|
28
|
+
Requires-Dist: pydantic>=2.0.0
|
|
29
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
30
|
+
Requires-Dist: pyyaml>=6.0
|
|
31
|
+
Requires-Dist: segment-analytics-python>=2.2.0
|
|
32
|
+
Description-Content-Type: text/markdown
|
|
33
|
+
|
|
34
|
+
# Chargebee
|
|
35
|
+
|
|
36
|
+
The Chargebee agent connector is a Python package that equips AI agents to interact with Chargebee through strongly typed, well-documented tools. It's ready to use directly in your Python app, in an agent framework, or exposed through an MCP.
|
|
37
|
+
|
|
38
|
+
Connector for the Chargebee billing and subscription management API. Supports reading subscriptions, customers, invoices, credit notes, coupons, transactions, events, orders, items, item prices, and payment sources. Chargebee is a recurring billing platform that helps SaaS and subscription businesses manage the full subscription lifecycle.
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## Example questions
|
|
42
|
+
|
|
43
|
+
The Chargebee connector is optimized to handle prompts like these.
|
|
44
|
+
|
|
45
|
+
- List all active subscriptions
|
|
46
|
+
- Show me details for a specific customer
|
|
47
|
+
- List recent invoices
|
|
48
|
+
- Show me details for a specific subscription
|
|
49
|
+
- List all coupons
|
|
50
|
+
- List recent transactions
|
|
51
|
+
- List recent events
|
|
52
|
+
- Show me customers with the highest monthly recurring revenue
|
|
53
|
+
- Which subscriptions are set to cancel in the next 30 days?
|
|
54
|
+
- List all overdue invoices and their amounts
|
|
55
|
+
- Analyze subscription churn trends over the past quarter
|
|
56
|
+
- What are the most popular items by number of subscriptions?
|
|
57
|
+
- Show me total revenue breakdown by currency
|
|
58
|
+
- Identify customers with expiring payment sources
|
|
59
|
+
- Compare subscription plan distribution across item prices
|
|
60
|
+
- List all credit notes issued in the past month
|
|
61
|
+
- What is the average subscription lifetime for each plan?
|
|
62
|
+
|
|
63
|
+
## Unsupported questions
|
|
64
|
+
|
|
65
|
+
The Chargebee connector isn't currently able to handle prompts like these.
|
|
66
|
+
|
|
67
|
+
- Create a new subscription in Chargebee
|
|
68
|
+
- Update a customer's billing address
|
|
69
|
+
- Cancel a subscription
|
|
70
|
+
- Apply a coupon to a subscription
|
|
71
|
+
- Issue a refund for an invoice
|
|
72
|
+
|
|
73
|
+
## Installation
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
uv pip install airbyte-agent-chargebee
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Usage
|
|
80
|
+
|
|
81
|
+
Connectors can run in open source or hosted mode.
|
|
82
|
+
|
|
83
|
+
### Open source
|
|
84
|
+
|
|
85
|
+
In open source mode, you provide API credentials directly to the connector.
|
|
86
|
+
|
|
87
|
+
```python
|
|
88
|
+
from airbyte_agent_chargebee import ChargebeeConnector
|
|
89
|
+
from airbyte_agent_chargebee.models import ChargebeeAuthConfig
|
|
90
|
+
|
|
91
|
+
connector = ChargebeeConnector(
|
|
92
|
+
auth_config=ChargebeeAuthConfig(
|
|
93
|
+
api_key="<Your Chargebee API key (used as the HTTP Basic username)>"
|
|
94
|
+
)
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
98
|
+
@ChargebeeConnector.tool_utils
|
|
99
|
+
async def chargebee_execute(entity: str, action: str, params: dict | None = None):
|
|
100
|
+
return await connector.execute(entity, action, params or {})
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Hosted
|
|
104
|
+
|
|
105
|
+
In hosted mode, API credentials are stored securely in Airbyte Cloud. You provide your Airbyte credentials instead.
|
|
106
|
+
If your Airbyte client can access multiple organizations, also set `organization_id`.
|
|
107
|
+
|
|
108
|
+
This example assumes you've already authenticated your connector with Airbyte. See [Authentication](AUTH.md) to learn more about authenticating. If you need a step-by-step guide, see the [hosted execution tutorial](https://docs.airbyte.com/ai-agents/quickstarts/tutorial-hosted).
|
|
109
|
+
|
|
110
|
+
```python
|
|
111
|
+
from airbyte_agent_chargebee import ChargebeeConnector, AirbyteAuthConfig
|
|
112
|
+
|
|
113
|
+
connector = ChargebeeConnector(
|
|
114
|
+
auth_config=AirbyteAuthConfig(
|
|
115
|
+
customer_name="<your_customer_name>",
|
|
116
|
+
organization_id="<your_organization_id>", # Optional for multi-org clients
|
|
117
|
+
airbyte_client_id="<your-client-id>",
|
|
118
|
+
airbyte_client_secret="<your-client-secret>"
|
|
119
|
+
)
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
123
|
+
@ChargebeeConnector.tool_utils
|
|
124
|
+
async def chargebee_execute(entity: str, action: str, params: dict | None = None):
|
|
125
|
+
return await connector.execute(entity, action, params or {})
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Full documentation
|
|
129
|
+
|
|
130
|
+
### Entities and actions
|
|
131
|
+
|
|
132
|
+
This connector supports the following entities and actions. For more details, see this connector's [full reference documentation](REFERENCE.md).
|
|
133
|
+
|
|
134
|
+
| Entity | Actions |
|
|
135
|
+
|--------|---------|
|
|
136
|
+
| Customer | [List](./REFERENCE.md#customer-list), [Get](./REFERENCE.md#customer-get), [Search](./REFERENCE.md#customer-search) |
|
|
137
|
+
| Subscription | [List](./REFERENCE.md#subscription-list), [Get](./REFERENCE.md#subscription-get), [Search](./REFERENCE.md#subscription-search) |
|
|
138
|
+
| Invoice | [List](./REFERENCE.md#invoice-list), [Get](./REFERENCE.md#invoice-get), [Search](./REFERENCE.md#invoice-search) |
|
|
139
|
+
| Credit Note | [List](./REFERENCE.md#credit-note-list), [Get](./REFERENCE.md#credit-note-get), [Search](./REFERENCE.md#credit-note-search) |
|
|
140
|
+
| Coupon | [List](./REFERENCE.md#coupon-list), [Get](./REFERENCE.md#coupon-get), [Search](./REFERENCE.md#coupon-search) |
|
|
141
|
+
| Transaction | [List](./REFERENCE.md#transaction-list), [Get](./REFERENCE.md#transaction-get), [Search](./REFERENCE.md#transaction-search) |
|
|
142
|
+
| Event | [List](./REFERENCE.md#event-list), [Get](./REFERENCE.md#event-get), [Search](./REFERENCE.md#event-search) |
|
|
143
|
+
| Order | [List](./REFERENCE.md#order-list), [Get](./REFERENCE.md#order-get), [Search](./REFERENCE.md#order-search) |
|
|
144
|
+
| Item | [List](./REFERENCE.md#item-list), [Get](./REFERENCE.md#item-get), [Search](./REFERENCE.md#item-search) |
|
|
145
|
+
| Item Price | [List](./REFERENCE.md#item-price-list), [Get](./REFERENCE.md#item-price-get), [Search](./REFERENCE.md#item-price-search) |
|
|
146
|
+
| Payment Source | [List](./REFERENCE.md#payment-source-list), [Get](./REFERENCE.md#payment-source-get), [Search](./REFERENCE.md#payment-source-search) |
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
### Authentication
|
|
150
|
+
|
|
151
|
+
For all authentication options, see the connector's [authentication documentation](AUTH.md).
|
|
152
|
+
|
|
153
|
+
### Chargebee API docs
|
|
154
|
+
|
|
155
|
+
See the official [Chargebee API reference](https://apidocs.chargebee.com/docs/api).
|
|
156
|
+
|
|
157
|
+
## Version information
|
|
158
|
+
|
|
159
|
+
- **Package version:** 0.1.0
|
|
160
|
+
- **Connector version:** 1.0.1
|
|
161
|
+
- **Generated with Connector SDK commit SHA:** b3431b73e8fc55d38ab8e68a9f96fef6278c7440
|
|
162
|
+
- **Changelog:** [View changelog](https://github.com/airbytehq/airbyte-agent-connectors/blob/main/connectors/chargebee/CHANGELOG.md)
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Chargebee
|
|
2
|
+
|
|
3
|
+
The Chargebee agent connector is a Python package that equips AI agents to interact with Chargebee through strongly typed, well-documented tools. It's ready to use directly in your Python app, in an agent framework, or exposed through an MCP.
|
|
4
|
+
|
|
5
|
+
Connector for the Chargebee billing and subscription management API. Supports reading subscriptions, customers, invoices, credit notes, coupons, transactions, events, orders, items, item prices, and payment sources. Chargebee is a recurring billing platform that helps SaaS and subscription businesses manage the full subscription lifecycle.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Example questions
|
|
9
|
+
|
|
10
|
+
The Chargebee connector is optimized to handle prompts like these.
|
|
11
|
+
|
|
12
|
+
- List all active subscriptions
|
|
13
|
+
- Show me details for a specific customer
|
|
14
|
+
- List recent invoices
|
|
15
|
+
- Show me details for a specific subscription
|
|
16
|
+
- List all coupons
|
|
17
|
+
- List recent transactions
|
|
18
|
+
- List recent events
|
|
19
|
+
- Show me customers with the highest monthly recurring revenue
|
|
20
|
+
- Which subscriptions are set to cancel in the next 30 days?
|
|
21
|
+
- List all overdue invoices and their amounts
|
|
22
|
+
- Analyze subscription churn trends over the past quarter
|
|
23
|
+
- What are the most popular items by number of subscriptions?
|
|
24
|
+
- Show me total revenue breakdown by currency
|
|
25
|
+
- Identify customers with expiring payment sources
|
|
26
|
+
- Compare subscription plan distribution across item prices
|
|
27
|
+
- List all credit notes issued in the past month
|
|
28
|
+
- What is the average subscription lifetime for each plan?
|
|
29
|
+
|
|
30
|
+
## Unsupported questions
|
|
31
|
+
|
|
32
|
+
The Chargebee connector isn't currently able to handle prompts like these.
|
|
33
|
+
|
|
34
|
+
- Create a new subscription in Chargebee
|
|
35
|
+
- Update a customer's billing address
|
|
36
|
+
- Cancel a subscription
|
|
37
|
+
- Apply a coupon to a subscription
|
|
38
|
+
- Issue a refund for an invoice
|
|
39
|
+
|
|
40
|
+
## Installation
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
uv pip install airbyte-agent-chargebee
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Usage
|
|
47
|
+
|
|
48
|
+
Connectors can run in open source or hosted mode.
|
|
49
|
+
|
|
50
|
+
### Open source
|
|
51
|
+
|
|
52
|
+
In open source mode, you provide API credentials directly to the connector.
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
from airbyte_agent_chargebee import ChargebeeConnector
|
|
56
|
+
from airbyte_agent_chargebee.models import ChargebeeAuthConfig
|
|
57
|
+
|
|
58
|
+
connector = ChargebeeConnector(
|
|
59
|
+
auth_config=ChargebeeAuthConfig(
|
|
60
|
+
api_key="<Your Chargebee API key (used as the HTTP Basic username)>"
|
|
61
|
+
)
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
65
|
+
@ChargebeeConnector.tool_utils
|
|
66
|
+
async def chargebee_execute(entity: str, action: str, params: dict | None = None):
|
|
67
|
+
return await connector.execute(entity, action, params or {})
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Hosted
|
|
71
|
+
|
|
72
|
+
In hosted mode, API credentials are stored securely in Airbyte Cloud. You provide your Airbyte credentials instead.
|
|
73
|
+
If your Airbyte client can access multiple organizations, also set `organization_id`.
|
|
74
|
+
|
|
75
|
+
This example assumes you've already authenticated your connector with Airbyte. See [Authentication](AUTH.md) to learn more about authenticating. If you need a step-by-step guide, see the [hosted execution tutorial](https://docs.airbyte.com/ai-agents/quickstarts/tutorial-hosted).
|
|
76
|
+
|
|
77
|
+
```python
|
|
78
|
+
from airbyte_agent_chargebee import ChargebeeConnector, AirbyteAuthConfig
|
|
79
|
+
|
|
80
|
+
connector = ChargebeeConnector(
|
|
81
|
+
auth_config=AirbyteAuthConfig(
|
|
82
|
+
customer_name="<your_customer_name>",
|
|
83
|
+
organization_id="<your_organization_id>", # Optional for multi-org clients
|
|
84
|
+
airbyte_client_id="<your-client-id>",
|
|
85
|
+
airbyte_client_secret="<your-client-secret>"
|
|
86
|
+
)
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
90
|
+
@ChargebeeConnector.tool_utils
|
|
91
|
+
async def chargebee_execute(entity: str, action: str, params: dict | None = None):
|
|
92
|
+
return await connector.execute(entity, action, params or {})
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Full documentation
|
|
96
|
+
|
|
97
|
+
### Entities and actions
|
|
98
|
+
|
|
99
|
+
This connector supports the following entities and actions. For more details, see this connector's [full reference documentation](REFERENCE.md).
|
|
100
|
+
|
|
101
|
+
| Entity | Actions |
|
|
102
|
+
|--------|---------|
|
|
103
|
+
| Customer | [List](./REFERENCE.md#customer-list), [Get](./REFERENCE.md#customer-get), [Search](./REFERENCE.md#customer-search) |
|
|
104
|
+
| Subscription | [List](./REFERENCE.md#subscription-list), [Get](./REFERENCE.md#subscription-get), [Search](./REFERENCE.md#subscription-search) |
|
|
105
|
+
| Invoice | [List](./REFERENCE.md#invoice-list), [Get](./REFERENCE.md#invoice-get), [Search](./REFERENCE.md#invoice-search) |
|
|
106
|
+
| Credit Note | [List](./REFERENCE.md#credit-note-list), [Get](./REFERENCE.md#credit-note-get), [Search](./REFERENCE.md#credit-note-search) |
|
|
107
|
+
| Coupon | [List](./REFERENCE.md#coupon-list), [Get](./REFERENCE.md#coupon-get), [Search](./REFERENCE.md#coupon-search) |
|
|
108
|
+
| Transaction | [List](./REFERENCE.md#transaction-list), [Get](./REFERENCE.md#transaction-get), [Search](./REFERENCE.md#transaction-search) |
|
|
109
|
+
| Event | [List](./REFERENCE.md#event-list), [Get](./REFERENCE.md#event-get), [Search](./REFERENCE.md#event-search) |
|
|
110
|
+
| Order | [List](./REFERENCE.md#order-list), [Get](./REFERENCE.md#order-get), [Search](./REFERENCE.md#order-search) |
|
|
111
|
+
| Item | [List](./REFERENCE.md#item-list), [Get](./REFERENCE.md#item-get), [Search](./REFERENCE.md#item-search) |
|
|
112
|
+
| Item Price | [List](./REFERENCE.md#item-price-list), [Get](./REFERENCE.md#item-price-get), [Search](./REFERENCE.md#item-price-search) |
|
|
113
|
+
| Payment Source | [List](./REFERENCE.md#payment-source-list), [Get](./REFERENCE.md#payment-source-get), [Search](./REFERENCE.md#payment-source-search) |
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
### Authentication
|
|
117
|
+
|
|
118
|
+
For all authentication options, see the connector's [authentication documentation](AUTH.md).
|
|
119
|
+
|
|
120
|
+
### Chargebee API docs
|
|
121
|
+
|
|
122
|
+
See the official [Chargebee API reference](https://apidocs.chargebee.com/docs/api).
|
|
123
|
+
|
|
124
|
+
## Version information
|
|
125
|
+
|
|
126
|
+
- **Package version:** 0.1.0
|
|
127
|
+
- **Connector version:** 1.0.1
|
|
128
|
+
- **Generated with Connector SDK commit SHA:** b3431b73e8fc55d38ab8e68a9f96fef6278c7440
|
|
129
|
+
- **Changelog:** [View changelog](https://github.com/airbytehq/airbyte-agent-connectors/blob/main/connectors/chargebee/CHANGELOG.md)
|