CONNECT APP
Build with Airweave
Artificial Intelligence (AI)
- API key
MCP
Give your agent Airweave tools
Every Airweave action is exposed as an MCP tool on Pipedream's remote server. Point a client at it with your end user's ID and Connect resolves that user's Airweave account for each tool call — you store no tokens.
// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "airweave",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Create Collection:
const result = await mcp.callTool({
name: "airweave-create-collection",
arguments: {
name: "Name",
readableId: "Readable ID",
},
})# access_token: mint a short-lived token with the Connect SDK — see the MCP guide
headers = {
"Authorization": f"Bearer {access_token}",
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", # any stable ID for this user in your system
"x-pd-app-slug": "airweave",
}
async with streamablehttp_client("https://remote.mcp.pipedream.net/v3", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
# e.g. run Create Collection:
result = await session.call_tool("airweave-create-collection", {
"name": "Name",
"readableId": "Readable ID",
})API PROXY
Call the Airweave API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the Airweave API with the connected user's credentials attached. You store no tokens and write no refresh logic.
const resp = await pd.proxy.get({
externalUserId: "{external_user_id}", // any stable ID for this user in your system
accountId: "apn_xxxxxxx",
url: "https://api.example.com/v1/me",
})
// Any allowed Airweave endpoint works here. Pipedream attaches the
// connected account's credentials to the outgoing request.# The path segment is the target URL, URL-safe base64 encoded:
# https://api.example.com/v1/me
curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdjEvbWU?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
-H "Authorization: Bearer {access_token}" \
-H "x-pd-environment: production"SDK
Run Airweave actions from your backend
Connect a user's Airweave account once, then run Create Collection on their behalf from your own code — TypeScript, Python, or plain HTTP.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "airweave-create-collection",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
airweave: { authProvisionId: "apn_xxxxxxx" },
name: "Name",
readableId: "Readable ID",
},
})from pipedream import Pipedream
pd = Pipedream(
client_id="{oauth_client_id}",
client_secret="{oauth_client_secret}",
project_id="{project_id}",
project_environment="production",
)
result = pd.actions.run(
id="airweave-create-collection",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"airweave": {"authProvisionId": "apn_xxxxxxx"},
"name": "Name",
"readableId": "Readable ID",
},
)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "airweave-create-collection",
"configured_props": {
"airweave": { "authProvisionId": "apn_xxxxxxx" },
"name": "Name",
"readableId": "Readable ID"
}
}'TOOLS
Airweave actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Create Collection
actionCreate a new Airweave collection. Collections are logical groups of data sources that provide unified search capabilities. The newly created collection is initially empty until you add source connections to it. See the documentationWritev0.0.2 -
Delete Collection
actionDelete a collection and all associated data. This permanently removes the collection including all synced data and source connections. This action cannot be undone. See the documentationWritev0.0.2 -
Get Collection
actionRetrieve details of a specific collection by its readable ID. See the documentationRead-onlyv0.0.1 -
List Available Sources
actionList all available data source connectors. These are the types of integrations Airweave can connect to (e.g., GitHub, Slack, Google Drive, PostgreSQL, etc.). See the documentationRead-onlyv0.0.1 -
List Collections
actionList all collections in your organization. Collections are logical groups of data sources that provide unified search capabilities. See the documentationRead-onlyv0.0.1 -
Search Collection
actionSearch across all data sources within a collection using semantic and keyword search. See the documentationRead-onlyv0.0.1 -
Trigger Source Connection Sync
actionManually trigger a data sync for a source connection. The sync job runs asynchronously in the background and returns immediately with job details. See the documentationWritev0.0.2
EVENTS
Airweave triggers
Event sources your backend can deploy for users and receive through a webhook.
No Airweave triggers are available yet.
- App slug
- airweave
- Authentication
- API key
- Categories
- Artificial Intelligence (AI)
- Actions
- 7
- Triggers
- 0
- API proxy
- Available