airbyte-agent-orb 0.1.6__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_orb-0.1.6/.gitignore +29 -0
- airbyte_agent_orb-0.1.6/AUTH.md +99 -0
- airbyte_agent_orb-0.1.6/CHANGELOG.md +36 -0
- airbyte_agent_orb-0.1.6/PKG-INFO +153 -0
- airbyte_agent_orb-0.1.6/README.md +120 -0
- airbyte_agent_orb-0.1.6/REFERENCE.md +918 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/__init__.py +139 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/__init__.py +1 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/__init__.py +82 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/auth_strategies.py +1171 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/auth_template.py +135 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/cloud_utils/__init__.py +5 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/cloud_utils/client.py +338 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/connector_model_loader.py +1121 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/constants.py +78 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/exceptions.py +23 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/executor/__init__.py +31 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/executor/hosted_executor.py +230 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/executor/local_executor.py +1848 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/executor/models.py +202 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/extensions.py +693 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/http/__init__.py +37 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/http/adapters/__init__.py +9 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/http/adapters/httpx_adapter.py +260 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/http/config.py +98 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/http/exceptions.py +119 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/http/protocols.py +114 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/http/response.py +104 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/http_client.py +693 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/introspection.py +481 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/logging/__init__.py +11 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/logging/logger.py +273 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/logging/types.py +93 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/observability/__init__.py +11 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/observability/config.py +179 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/observability/models.py +19 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/observability/redactor.py +81 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/observability/session.py +103 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/performance/__init__.py +6 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/performance/instrumentation.py +57 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/performance/metrics.py +93 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/schema/__init__.py +75 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/schema/base.py +212 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/schema/components.py +244 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/schema/connector.py +120 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/schema/extensions.py +301 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/schema/operations.py +156 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/schema/security.py +241 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/secrets.py +182 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/telemetry/__init__.py +10 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/telemetry/config.py +32 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/telemetry/events.py +59 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/telemetry/tracker.py +155 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/types.py +274 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/utils.py +127 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/validation.py +997 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/_vendored/connector_sdk/validation_replication.py +970 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/connector.py +1179 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/connector_model.py +2163 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/models.py +532 -0
- airbyte_agent_orb-0.1.6/airbyte_agent_orb/types.py +1090 -0
- airbyte_agent_orb-0.1.6/pyproject.toml +50 -0
|
@@ -0,0 +1,29 @@
|
|
|
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
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Orb authentication and configuration
|
|
2
|
+
|
|
3
|
+
This page documents the authentication and configuration options for the Orb 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 Orb API key |
|
|
21
|
+
|
|
22
|
+
Example request:
|
|
23
|
+
|
|
24
|
+
```python
|
|
25
|
+
from airbyte_agent_orb import OrbConnector
|
|
26
|
+
from airbyte_agent_orb.models import OrbAuthConfig
|
|
27
|
+
|
|
28
|
+
connector = OrbConnector(
|
|
29
|
+
auth_config=OrbAuthConfig(
|
|
30
|
+
api_key="<Your Orb API key>"
|
|
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
|
+
#### Token
|
|
43
|
+
Create a connector with Token credentials.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
`credentials` fields you need:
|
|
47
|
+
|
|
48
|
+
| Field Name | Type | Required | Description |
|
|
49
|
+
|------------|------|----------|-------------|
|
|
50
|
+
| `api_key` | `str` | Yes | Your Orb API key |
|
|
51
|
+
|
|
52
|
+
Example request:
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
curl -X POST "https://api.airbyte.ai/v1/integrations/connectors" \
|
|
57
|
+
-H "Authorization: Bearer <SCOPED_TOKEN>" \
|
|
58
|
+
-H "Content-Type: application/json" \
|
|
59
|
+
-d '{
|
|
60
|
+
"external_user_id": "<EXTERNAL_USER_ID>",
|
|
61
|
+
"connector_type": "Orb",
|
|
62
|
+
"name": "My Orb Connector",
|
|
63
|
+
"credentials": {
|
|
64
|
+
"api_key": "<Your Orb API key>"
|
|
65
|
+
}
|
|
66
|
+
}'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
#### Execution
|
|
70
|
+
|
|
71
|
+
After creating the connector, execute operations using either the Python SDK or API.
|
|
72
|
+
|
|
73
|
+
**Python SDK**
|
|
74
|
+
|
|
75
|
+
```python
|
|
76
|
+
from airbyte_agent_orb import OrbConnector
|
|
77
|
+
|
|
78
|
+
connector = OrbConnector(
|
|
79
|
+
external_user_id="<your_external_user_id>",
|
|
80
|
+
airbyte_client_id="<your-client-id>",
|
|
81
|
+
airbyte_client_secret="<your-client-secret>"
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
85
|
+
@OrbConnector.tool_utils
|
|
86
|
+
async def orb_execute(entity: str, action: str, params: dict | None = None):
|
|
87
|
+
return await connector.execute(entity, action, params or {})
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**API**
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
curl -X POST 'https://api.airbyte.ai/api/v1/connectors/sources/<connector_id>/execute' \
|
|
94
|
+
-H 'Authorization: Bearer <SCOPED_TOKEN>' \
|
|
95
|
+
-H 'Content-Type: application/json' \
|
|
96
|
+
-d '{"entity": "<entity>", "action": "<action>", "params": {}}'
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Orb changelog
|
|
2
|
+
|
|
3
|
+
## [0.1.6] - 2026-02-02
|
|
4
|
+
- Updated connector definition (YAML version 0.1.1)
|
|
5
|
+
- Source commit: 9d9866b0
|
|
6
|
+
- SDK version: 0.1.0
|
|
7
|
+
|
|
8
|
+
## [0.1.5] - 2026-01-30
|
|
9
|
+
- Updated connector definition (YAML version 0.1.1)
|
|
10
|
+
- Source commit: b184da3e
|
|
11
|
+
- SDK version: 0.1.0
|
|
12
|
+
|
|
13
|
+
## [0.1.4] - 2026-01-30
|
|
14
|
+
- Updated connector definition (YAML version 0.1.1)
|
|
15
|
+
- Source commit: 5b20f488
|
|
16
|
+
- SDK version: 0.1.0
|
|
17
|
+
|
|
18
|
+
## [0.1.3] - 2026-01-30
|
|
19
|
+
- Updated connector definition (YAML version 0.1.1)
|
|
20
|
+
- Source commit: a3729d85
|
|
21
|
+
- SDK version: 0.1.0
|
|
22
|
+
|
|
23
|
+
## [0.1.2] - 2026-01-29
|
|
24
|
+
- Updated connector definition (YAML version 0.1.1)
|
|
25
|
+
- Source commit: 43200eed
|
|
26
|
+
- SDK version: 0.1.0
|
|
27
|
+
|
|
28
|
+
## [0.1.1] - 2026-01-29
|
|
29
|
+
- Updated connector definition (YAML version 0.1.1)
|
|
30
|
+
- Source commit: c718c683
|
|
31
|
+
- SDK version: 0.1.0
|
|
32
|
+
|
|
33
|
+
## [0.1.0] - 2026-01-29
|
|
34
|
+
- Updated connector definition (YAML version 0.1.1)
|
|
35
|
+
- Source commit: 68ca482c
|
|
36
|
+
- SDK version: 0.1.0
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: airbyte-agent-orb
|
|
3
|
+
Version: 0.1.6
|
|
4
|
+
Summary: Airbyte Orb 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,connector,data-integration,llm,mcp,orb
|
|
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
|
+
# Orb agent connector
|
|
35
|
+
|
|
36
|
+
Orb is a usage-based billing platform that enables businesses to implement flexible pricing models,
|
|
37
|
+
track customer usage, and manage subscriptions. This connector provides access to customers,
|
|
38
|
+
subscriptions, plans, and invoices for billing analytics and customer management.
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## Example questions
|
|
42
|
+
|
|
43
|
+
The Orb connector is optimized to handle prompts like these.
|
|
44
|
+
|
|
45
|
+
- Show me all my customers in Orb
|
|
46
|
+
- List all active subscriptions
|
|
47
|
+
- What plans are available?
|
|
48
|
+
- Show me recent invoices
|
|
49
|
+
- Get details for customer \{customer_id\}
|
|
50
|
+
- What is the status of subscription \{subscription_id\}?
|
|
51
|
+
- List all invoices for a specific customer
|
|
52
|
+
- Show me the pricing details for plan \{plan_id\}
|
|
53
|
+
- List all subscriptions for customer XYZ
|
|
54
|
+
- Show all active subscriptions for a specific customer
|
|
55
|
+
- What subscriptions does customer \{external_customer_id\} have?
|
|
56
|
+
- Confirm the Stripe ID linked to this customer
|
|
57
|
+
- What is the payment provider ID for customer \{customer_id\}?
|
|
58
|
+
- Pull all invoices from the last month
|
|
59
|
+
- Show invoices created after \{date\}
|
|
60
|
+
- List all paid invoices for customer \{customer_id\}
|
|
61
|
+
- What invoices are in draft status?
|
|
62
|
+
- Show all issued invoices for subscription \{subscription_id\}
|
|
63
|
+
|
|
64
|
+
## Unsupported questions
|
|
65
|
+
|
|
66
|
+
The Orb connector isn't currently able to handle prompts like these.
|
|
67
|
+
|
|
68
|
+
- Create a new customer in Orb
|
|
69
|
+
- Update subscription details
|
|
70
|
+
- Delete a customer record
|
|
71
|
+
- Send an invoice to a customer
|
|
72
|
+
- Filter subscriptions by plan name (must filter client-side after listing)
|
|
73
|
+
- Pull customers billed for specific products (must examine invoice line_items client-side)
|
|
74
|
+
|
|
75
|
+
## Installation
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
uv pip install airbyte-agent-orb
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Usage
|
|
82
|
+
|
|
83
|
+
Connectors can run in open source or hosted mode.
|
|
84
|
+
|
|
85
|
+
### Open source
|
|
86
|
+
|
|
87
|
+
In open source mode, you provide API credentials directly to the connector.
|
|
88
|
+
|
|
89
|
+
```python
|
|
90
|
+
from airbyte_agent_orb import OrbConnector
|
|
91
|
+
from airbyte_agent_orb.models import OrbAuthConfig
|
|
92
|
+
|
|
93
|
+
connector = OrbConnector(
|
|
94
|
+
auth_config=OrbAuthConfig(
|
|
95
|
+
api_key="<Your Orb API key>"
|
|
96
|
+
)
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
100
|
+
@OrbConnector.tool_utils
|
|
101
|
+
async def orb_execute(entity: str, action: str, params: dict | None = None):
|
|
102
|
+
return await connector.execute(entity, action, params or {})
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Hosted
|
|
106
|
+
|
|
107
|
+
In hosted mode, API credentials are stored securely in Airbyte Cloud. You provide your Airbyte credentials instead.
|
|
108
|
+
|
|
109
|
+
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).
|
|
110
|
+
|
|
111
|
+
```python
|
|
112
|
+
from airbyte_agent_orb import OrbConnector
|
|
113
|
+
|
|
114
|
+
connector = OrbConnector(
|
|
115
|
+
external_user_id="<your_external_user_id>",
|
|
116
|
+
airbyte_client_id="<your-client-id>",
|
|
117
|
+
airbyte_client_secret="<your-client-secret>"
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
121
|
+
@OrbConnector.tool_utils
|
|
122
|
+
async def orb_execute(entity: str, action: str, params: dict | None = None):
|
|
123
|
+
return await connector.execute(entity, action, params or {})
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Full documentation
|
|
127
|
+
|
|
128
|
+
### Entities and actions
|
|
129
|
+
|
|
130
|
+
This connector supports the following entities and actions. For more details, see this connector's [full reference documentation](REFERENCE.md).
|
|
131
|
+
|
|
132
|
+
| Entity | Actions |
|
|
133
|
+
|--------|---------|
|
|
134
|
+
| Customers | [List](./REFERENCE.md#customers-list), [Get](./REFERENCE.md#customers-get) |
|
|
135
|
+
| Subscriptions | [List](./REFERENCE.md#subscriptions-list), [Get](./REFERENCE.md#subscriptions-get) |
|
|
136
|
+
| Plans | [List](./REFERENCE.md#plans-list), [Get](./REFERENCE.md#plans-get) |
|
|
137
|
+
| Invoices | [List](./REFERENCE.md#invoices-list), [Get](./REFERENCE.md#invoices-get) |
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
### Authentication and configuration
|
|
141
|
+
|
|
142
|
+
For all authentication and configuration options, see the connector's [authentication documentation](AUTH.md).
|
|
143
|
+
|
|
144
|
+
### Orb API docs
|
|
145
|
+
|
|
146
|
+
See the official [Orb API reference](https://docs.withorb.com/api-reference).
|
|
147
|
+
|
|
148
|
+
## Version information
|
|
149
|
+
|
|
150
|
+
- **Package version:** 0.1.6
|
|
151
|
+
- **Connector version:** 0.1.1
|
|
152
|
+
- **Generated with Connector SDK commit SHA:** 9d9866b0aae8c3494d04d34e193b9bd860bfc1c6
|
|
153
|
+
- **Changelog:** [View changelog](https://github.com/airbytehq/airbyte-agent-connectors/blob/main/connectors/orb/CHANGELOG.md)
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# Orb agent connector
|
|
2
|
+
|
|
3
|
+
Orb is a usage-based billing platform that enables businesses to implement flexible pricing models,
|
|
4
|
+
track customer usage, and manage subscriptions. This connector provides access to customers,
|
|
5
|
+
subscriptions, plans, and invoices for billing analytics and customer management.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Example questions
|
|
9
|
+
|
|
10
|
+
The Orb connector is optimized to handle prompts like these.
|
|
11
|
+
|
|
12
|
+
- Show me all my customers in Orb
|
|
13
|
+
- List all active subscriptions
|
|
14
|
+
- What plans are available?
|
|
15
|
+
- Show me recent invoices
|
|
16
|
+
- Get details for customer \{customer_id\}
|
|
17
|
+
- What is the status of subscription \{subscription_id\}?
|
|
18
|
+
- List all invoices for a specific customer
|
|
19
|
+
- Show me the pricing details for plan \{plan_id\}
|
|
20
|
+
- List all subscriptions for customer XYZ
|
|
21
|
+
- Show all active subscriptions for a specific customer
|
|
22
|
+
- What subscriptions does customer \{external_customer_id\} have?
|
|
23
|
+
- Confirm the Stripe ID linked to this customer
|
|
24
|
+
- What is the payment provider ID for customer \{customer_id\}?
|
|
25
|
+
- Pull all invoices from the last month
|
|
26
|
+
- Show invoices created after \{date\}
|
|
27
|
+
- List all paid invoices for customer \{customer_id\}
|
|
28
|
+
- What invoices are in draft status?
|
|
29
|
+
- Show all issued invoices for subscription \{subscription_id\}
|
|
30
|
+
|
|
31
|
+
## Unsupported questions
|
|
32
|
+
|
|
33
|
+
The Orb connector isn't currently able to handle prompts like these.
|
|
34
|
+
|
|
35
|
+
- Create a new customer in Orb
|
|
36
|
+
- Update subscription details
|
|
37
|
+
- Delete a customer record
|
|
38
|
+
- Send an invoice to a customer
|
|
39
|
+
- Filter subscriptions by plan name (must filter client-side after listing)
|
|
40
|
+
- Pull customers billed for specific products (must examine invoice line_items client-side)
|
|
41
|
+
|
|
42
|
+
## Installation
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
uv pip install airbyte-agent-orb
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Usage
|
|
49
|
+
|
|
50
|
+
Connectors can run in open source or hosted mode.
|
|
51
|
+
|
|
52
|
+
### Open source
|
|
53
|
+
|
|
54
|
+
In open source mode, you provide API credentials directly to the connector.
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
from airbyte_agent_orb import OrbConnector
|
|
58
|
+
from airbyte_agent_orb.models import OrbAuthConfig
|
|
59
|
+
|
|
60
|
+
connector = OrbConnector(
|
|
61
|
+
auth_config=OrbAuthConfig(
|
|
62
|
+
api_key="<Your Orb API key>"
|
|
63
|
+
)
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
67
|
+
@OrbConnector.tool_utils
|
|
68
|
+
async def orb_execute(entity: str, action: str, params: dict | None = None):
|
|
69
|
+
return await connector.execute(entity, action, params or {})
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Hosted
|
|
73
|
+
|
|
74
|
+
In hosted mode, API credentials are stored securely in Airbyte Cloud. You provide your Airbyte credentials instead.
|
|
75
|
+
|
|
76
|
+
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).
|
|
77
|
+
|
|
78
|
+
```python
|
|
79
|
+
from airbyte_agent_orb import OrbConnector
|
|
80
|
+
|
|
81
|
+
connector = OrbConnector(
|
|
82
|
+
external_user_id="<your_external_user_id>",
|
|
83
|
+
airbyte_client_id="<your-client-id>",
|
|
84
|
+
airbyte_client_secret="<your-client-secret>"
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
88
|
+
@OrbConnector.tool_utils
|
|
89
|
+
async def orb_execute(entity: str, action: str, params: dict | None = None):
|
|
90
|
+
return await connector.execute(entity, action, params or {})
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Full documentation
|
|
94
|
+
|
|
95
|
+
### Entities and actions
|
|
96
|
+
|
|
97
|
+
This connector supports the following entities and actions. For more details, see this connector's [full reference documentation](REFERENCE.md).
|
|
98
|
+
|
|
99
|
+
| Entity | Actions |
|
|
100
|
+
|--------|---------|
|
|
101
|
+
| Customers | [List](./REFERENCE.md#customers-list), [Get](./REFERENCE.md#customers-get) |
|
|
102
|
+
| Subscriptions | [List](./REFERENCE.md#subscriptions-list), [Get](./REFERENCE.md#subscriptions-get) |
|
|
103
|
+
| Plans | [List](./REFERENCE.md#plans-list), [Get](./REFERENCE.md#plans-get) |
|
|
104
|
+
| Invoices | [List](./REFERENCE.md#invoices-list), [Get](./REFERENCE.md#invoices-get) |
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
### Authentication and configuration
|
|
108
|
+
|
|
109
|
+
For all authentication and configuration options, see the connector's [authentication documentation](AUTH.md).
|
|
110
|
+
|
|
111
|
+
### Orb API docs
|
|
112
|
+
|
|
113
|
+
See the official [Orb API reference](https://docs.withorb.com/api-reference).
|
|
114
|
+
|
|
115
|
+
## Version information
|
|
116
|
+
|
|
117
|
+
- **Package version:** 0.1.6
|
|
118
|
+
- **Connector version:** 0.1.1
|
|
119
|
+
- **Generated with Connector SDK commit SHA:** 9d9866b0aae8c3494d04d34e193b9bd860bfc1c6
|
|
120
|
+
- **Changelog:** [View changelog](https://github.com/airbytehq/airbyte-agent-connectors/blob/main/connectors/orb/CHANGELOG.md)
|