airbyte-agent-airtable 0.1.1__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.
Potentially problematic release.
This version of airbyte-agent-airtable might be problematic. Click here for more details.
- airbyte_agent_airtable-0.1.1/.gitignore +29 -0
- airbyte_agent_airtable-0.1.1/AUTH.md +99 -0
- airbyte_agent_airtable-0.1.1/CHANGELOG.md +11 -0
- airbyte_agent_airtable-0.1.1/PKG-INFO +140 -0
- airbyte_agent_airtable-0.1.1/README.md +107 -0
- airbyte_agent_airtable-0.1.1/REFERENCE.md +364 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/__init__.py +81 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/__init__.py +1 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/__init__.py +82 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/auth_strategies.py +1171 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/auth_template.py +135 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/cloud_utils/__init__.py +5 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/cloud_utils/client.py +213 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/connector_model_loader.py +1120 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/constants.py +78 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/exceptions.py +23 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/executor/__init__.py +31 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/executor/hosted_executor.py +201 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/executor/local_executor.py +1854 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/executor/models.py +202 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/extensions.py +693 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/http/__init__.py +37 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/http/adapters/__init__.py +9 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/http/adapters/httpx_adapter.py +251 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/http/config.py +98 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/http/exceptions.py +119 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/http/protocols.py +114 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/http/response.py +104 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/http_client.py +693 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/introspection.py +481 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/logging/__init__.py +11 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/logging/logger.py +273 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/logging/types.py +93 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/observability/__init__.py +11 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/observability/config.py +179 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/observability/models.py +19 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/observability/redactor.py +81 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/observability/session.py +103 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/performance/__init__.py +6 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/performance/instrumentation.py +57 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/performance/metrics.py +93 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/schema/__init__.py +75 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/schema/base.py +201 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/schema/components.py +244 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/schema/connector.py +120 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/schema/extensions.py +301 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/schema/operations.py +156 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/schema/security.py +236 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/secrets.py +182 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/telemetry/__init__.py +10 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/telemetry/config.py +32 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/telemetry/events.py +59 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/telemetry/tracker.py +155 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/types.py +270 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/utils.py +60 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/_vendored/connector_sdk/validation.py +848 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/connector.py +725 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/connector_model.py +365 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/models.py +219 -0
- airbyte_agent_airtable-0.1.1/airbyte_agent_airtable/types.py +367 -0
- airbyte_agent_airtable-0.1.1/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
|
+
# Airtable authentication and configuration
|
|
2
|
+
|
|
3
|
+
This page documents the authentication and configuration options for the Airtable 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
|
+
| `personal_access_token` | `str` | Yes | Airtable Personal Access Token. See https://airtable.com/developers/web/guides/personal-access-tokens |
|
|
21
|
+
|
|
22
|
+
Example request:
|
|
23
|
+
|
|
24
|
+
```python
|
|
25
|
+
from airbyte_agent_airtable import AirtableConnector
|
|
26
|
+
from airbyte_agent_airtable.models import AirtableAuthConfig
|
|
27
|
+
|
|
28
|
+
connector = AirtableConnector(
|
|
29
|
+
auth_config=AirtableAuthConfig(
|
|
30
|
+
personal_access_token="<Airtable Personal Access Token. See https://airtable.com/developers/web/guides/personal-access-tokens>"
|
|
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
|
+
| `personal_access_token` | `str` | Yes | Airtable Personal Access Token. See https://airtable.com/developers/web/guides/personal-access-tokens |
|
|
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": "Airtable",
|
|
62
|
+
"name": "My Airtable Connector",
|
|
63
|
+
"credentials": {
|
|
64
|
+
"personal_access_token": "<Airtable Personal Access Token. See https://airtable.com/developers/web/guides/personal-access-tokens>"
|
|
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_airtable import AirtableConnector
|
|
77
|
+
|
|
78
|
+
connector = AirtableConnector(
|
|
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
|
+
@AirtableConnector.tool_utils
|
|
86
|
+
async def airtable_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,11 @@
|
|
|
1
|
+
# Airtable changelog
|
|
2
|
+
|
|
3
|
+
## [0.1.1] - 2026-01-30
|
|
4
|
+
- Updated connector definition (YAML version 1.0.1)
|
|
5
|
+
- Source commit: a3729d85
|
|
6
|
+
- SDK version: 0.1.0
|
|
7
|
+
|
|
8
|
+
## [0.1.0] - 2026-01-29
|
|
9
|
+
- Updated connector definition (YAML version 1.0.1)
|
|
10
|
+
- Source commit: 7dbd4946
|
|
11
|
+
- SDK version: 0.1.0
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: airbyte-agent-airtable
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: Airbyte Airtable 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,airtable,api,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
|
+
# Airtable agent connector
|
|
35
|
+
|
|
36
|
+
Airtable is a cloud-based platform that combines the simplicity of a spreadsheet with the
|
|
37
|
+
power of a database. This connector provides access to bases, tables, and records for
|
|
38
|
+
data analysis and workflow automation.
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## Example questions
|
|
42
|
+
|
|
43
|
+
The Airtable connector is optimized to handle prompts like these.
|
|
44
|
+
|
|
45
|
+
- List all my Airtable bases
|
|
46
|
+
- What tables are in base appXXX?
|
|
47
|
+
- Show me the schema for tables in base appXXX
|
|
48
|
+
- List records from table tblXXX in base appXXX
|
|
49
|
+
- Get record recXXX from table tblXXX in base appXXX
|
|
50
|
+
- What fields are in table tblXXX?
|
|
51
|
+
- List records where Status is 'Done' in table tblXXX
|
|
52
|
+
|
|
53
|
+
## Unsupported questions
|
|
54
|
+
|
|
55
|
+
The Airtable connector isn't currently able to handle prompts like these.
|
|
56
|
+
|
|
57
|
+
- Create a new record in Airtable
|
|
58
|
+
- Update a record in Airtable
|
|
59
|
+
- Delete a record from Airtable
|
|
60
|
+
- Create a new table
|
|
61
|
+
- Modify table schema
|
|
62
|
+
|
|
63
|
+
## Installation
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
uv pip install airbyte-agent-airtable
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Usage
|
|
70
|
+
|
|
71
|
+
Connectors can run in open source or hosted mode.
|
|
72
|
+
|
|
73
|
+
### Open source
|
|
74
|
+
|
|
75
|
+
In open source mode, you provide API credentials directly to the connector.
|
|
76
|
+
|
|
77
|
+
```python
|
|
78
|
+
from airbyte_agent_airtable import AirtableConnector
|
|
79
|
+
from airbyte_agent_airtable.models import AirtableAuthConfig
|
|
80
|
+
|
|
81
|
+
connector = AirtableConnector(
|
|
82
|
+
auth_config=AirtableAuthConfig(
|
|
83
|
+
personal_access_token="<Airtable Personal Access Token. See https://airtable.com/developers/web/guides/personal-access-tokens>"
|
|
84
|
+
)
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
88
|
+
@AirtableConnector.tool_utils
|
|
89
|
+
async def airtable_execute(entity: str, action: str, params: dict | None = None):
|
|
90
|
+
return await connector.execute(entity, action, params or {})
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Hosted
|
|
94
|
+
|
|
95
|
+
In hosted mode, API credentials are stored securely in Airbyte Cloud. You provide your Airbyte credentials instead.
|
|
96
|
+
|
|
97
|
+
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).
|
|
98
|
+
|
|
99
|
+
```python
|
|
100
|
+
from airbyte_agent_airtable import AirtableConnector
|
|
101
|
+
|
|
102
|
+
connector = AirtableConnector(
|
|
103
|
+
external_user_id="<your_external_user_id>",
|
|
104
|
+
airbyte_client_id="<your-client-id>",
|
|
105
|
+
airbyte_client_secret="<your-client-secret>"
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
109
|
+
@AirtableConnector.tool_utils
|
|
110
|
+
async def airtable_execute(entity: str, action: str, params: dict | None = None):
|
|
111
|
+
return await connector.execute(entity, action, params or {})
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Full documentation
|
|
115
|
+
|
|
116
|
+
### Entities and actions
|
|
117
|
+
|
|
118
|
+
This connector supports the following entities and actions. For more details, see this connector's [full reference documentation](REFERENCE.md).
|
|
119
|
+
|
|
120
|
+
| Entity | Actions |
|
|
121
|
+
|--------|---------|
|
|
122
|
+
| Bases | [List](./REFERENCE.md#bases-list) |
|
|
123
|
+
| Tables | [List](./REFERENCE.md#tables-list) |
|
|
124
|
+
| Records | [List](./REFERENCE.md#records-list), [Get](./REFERENCE.md#records-get) |
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
### Authentication and configuration
|
|
128
|
+
|
|
129
|
+
For all authentication and configuration options, see the connector's [authentication documentation](AUTH.md).
|
|
130
|
+
|
|
131
|
+
### Airtable API docs
|
|
132
|
+
|
|
133
|
+
See the official [Airtable API reference](https://airtable.com/developers/web/api/introduction).
|
|
134
|
+
|
|
135
|
+
## Version information
|
|
136
|
+
|
|
137
|
+
- **Package version:** 0.1.1
|
|
138
|
+
- **Connector version:** 1.0.1
|
|
139
|
+
- **Generated with Connector SDK commit SHA:** e4eb233f8dd57ad9bc825064625222a988db2cc6
|
|
140
|
+
- **Changelog:** [View changelog](https://github.com/airbytehq/airbyte-agent-connectors/blob/main/connectors/airtable/CHANGELOG.md)
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Airtable agent connector
|
|
2
|
+
|
|
3
|
+
Airtable is a cloud-based platform that combines the simplicity of a spreadsheet with the
|
|
4
|
+
power of a database. This connector provides access to bases, tables, and records for
|
|
5
|
+
data analysis and workflow automation.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Example questions
|
|
9
|
+
|
|
10
|
+
The Airtable connector is optimized to handle prompts like these.
|
|
11
|
+
|
|
12
|
+
- List all my Airtable bases
|
|
13
|
+
- What tables are in base appXXX?
|
|
14
|
+
- Show me the schema for tables in base appXXX
|
|
15
|
+
- List records from table tblXXX in base appXXX
|
|
16
|
+
- Get record recXXX from table tblXXX in base appXXX
|
|
17
|
+
- What fields are in table tblXXX?
|
|
18
|
+
- List records where Status is 'Done' in table tblXXX
|
|
19
|
+
|
|
20
|
+
## Unsupported questions
|
|
21
|
+
|
|
22
|
+
The Airtable connector isn't currently able to handle prompts like these.
|
|
23
|
+
|
|
24
|
+
- Create a new record in Airtable
|
|
25
|
+
- Update a record in Airtable
|
|
26
|
+
- Delete a record from Airtable
|
|
27
|
+
- Create a new table
|
|
28
|
+
- Modify table schema
|
|
29
|
+
|
|
30
|
+
## Installation
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
uv pip install airbyte-agent-airtable
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Usage
|
|
37
|
+
|
|
38
|
+
Connectors can run in open source or hosted mode.
|
|
39
|
+
|
|
40
|
+
### Open source
|
|
41
|
+
|
|
42
|
+
In open source mode, you provide API credentials directly to the connector.
|
|
43
|
+
|
|
44
|
+
```python
|
|
45
|
+
from airbyte_agent_airtable import AirtableConnector
|
|
46
|
+
from airbyte_agent_airtable.models import AirtableAuthConfig
|
|
47
|
+
|
|
48
|
+
connector = AirtableConnector(
|
|
49
|
+
auth_config=AirtableAuthConfig(
|
|
50
|
+
personal_access_token="<Airtable Personal Access Token. See https://airtable.com/developers/web/guides/personal-access-tokens>"
|
|
51
|
+
)
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
55
|
+
@AirtableConnector.tool_utils
|
|
56
|
+
async def airtable_execute(entity: str, action: str, params: dict | None = None):
|
|
57
|
+
return await connector.execute(entity, action, params or {})
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Hosted
|
|
61
|
+
|
|
62
|
+
In hosted mode, API credentials are stored securely in Airbyte Cloud. You provide your Airbyte credentials instead.
|
|
63
|
+
|
|
64
|
+
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).
|
|
65
|
+
|
|
66
|
+
```python
|
|
67
|
+
from airbyte_agent_airtable import AirtableConnector
|
|
68
|
+
|
|
69
|
+
connector = AirtableConnector(
|
|
70
|
+
external_user_id="<your_external_user_id>",
|
|
71
|
+
airbyte_client_id="<your-client-id>",
|
|
72
|
+
airbyte_client_secret="<your-client-secret>"
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
@agent.tool_plain # assumes you're using Pydantic AI
|
|
76
|
+
@AirtableConnector.tool_utils
|
|
77
|
+
async def airtable_execute(entity: str, action: str, params: dict | None = None):
|
|
78
|
+
return await connector.execute(entity, action, params or {})
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Full documentation
|
|
82
|
+
|
|
83
|
+
### Entities and actions
|
|
84
|
+
|
|
85
|
+
This connector supports the following entities and actions. For more details, see this connector's [full reference documentation](REFERENCE.md).
|
|
86
|
+
|
|
87
|
+
| Entity | Actions |
|
|
88
|
+
|--------|---------|
|
|
89
|
+
| Bases | [List](./REFERENCE.md#bases-list) |
|
|
90
|
+
| Tables | [List](./REFERENCE.md#tables-list) |
|
|
91
|
+
| Records | [List](./REFERENCE.md#records-list), [Get](./REFERENCE.md#records-get) |
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
### Authentication and configuration
|
|
95
|
+
|
|
96
|
+
For all authentication and configuration options, see the connector's [authentication documentation](AUTH.md).
|
|
97
|
+
|
|
98
|
+
### Airtable API docs
|
|
99
|
+
|
|
100
|
+
See the official [Airtable API reference](https://airtable.com/developers/web/api/introduction).
|
|
101
|
+
|
|
102
|
+
## Version information
|
|
103
|
+
|
|
104
|
+
- **Package version:** 0.1.1
|
|
105
|
+
- **Connector version:** 1.0.1
|
|
106
|
+
- **Generated with Connector SDK commit SHA:** e4eb233f8dd57ad9bc825064625222a988db2cc6
|
|
107
|
+
- **Changelog:** [View changelog](https://github.com/airbytehq/airbyte-agent-connectors/blob/main/connectors/airtable/CHANGELOG.md)
|