CONNECT APP
Build with Elastic Cloud
Infrastructure & Cloud
- API key
MCP
Give your agent Elastic Cloud tools
Every Elastic Cloud 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 Elastic Cloud 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": "elastic_cloud",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Create Deployment:
const result = await mcp.callTool({
name: "elastic_cloud-create-deployment",
arguments: {
name: "Name",
region: "Region",
},
})# 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": "elastic_cloud",
}
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 Deployment:
result = await session.call_tool("elastic_cloud-create-deployment", {
"name": "Name",
"region": "Region",
})API PROXY
Call the Elastic Cloud API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the Elastic Cloud 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 Elastic Cloud 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 Elastic Cloud actions from your backend
Connect a user's Elastic Cloud account once, then run Create Deployment 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: "elastic_cloud-create-deployment",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
elastic_cloud: { authProvisionId: "apn_xxxxxxx" },
name: "Name",
region: "Region",
},
})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="elastic_cloud-create-deployment",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"elastic_cloud": {"authProvisionId": "apn_xxxxxxx"},
"name": "Name",
"region": "Region",
},
)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": "elastic_cloud-create-deployment",
"configured_props": {
"elastic_cloud": { "authProvisionId": "apn_xxxxxxx" },
"name": "Name",
"region": "Region"
}
}'TOOLS
Elastic Cloud actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Create Deployment
actionCreate a new Elastic Cloud deployment. Requires a name, region, and version at minimum. Provide theresourcesJSON object to configure Elasticsearch/Kibana/APM topology; omit it to accept region defaults. See the documentationWritev0.0.2 -
Create Traffic Filter Ruleset
actionCreate a new traffic filter ruleset in Elastic Cloud. The API requires a name, type, region, rules, and include-by-default flag. Note thattypeandregioncannot be changed after the ruleset is created. See the documentationWritev0.0.2 -
Delete Traffic Filter Ruleset
actionPermanently delete a traffic filter ruleset from Elastic Cloud. This is irreversible. Run List Traffic Filter Rulesets first to find the ruleset ID. See the documentationWritev0.0.2 -
Get Deployment
actionRetrieve a single Elastic Cloud deployment by ID. Run List Deployments first to find a valid deployment ID. See the documentationRead-onlyv0.0.2 -
List Deployments
actionList all deployments in your Elastic Cloud organization. Use this first to discover deployment IDs before calling Get Deployment or Update Deployment. See the documentationRead-onlyv0.0.2 -
List Traffic Filter Rulesets
actionList all traffic filter rulesets in your Elastic Cloud organization. Use this first to discover ruleset IDs before calling Update Traffic Filter Ruleset or Delete Traffic Filter Ruleset. See the documentationRead-onlyv0.0.2 -
Update Deployment
actionUpdate an existing Elastic Cloud deployment, including resizing cluster capacity. Cluster resize is performed here by supplying updatedresourcessizing (no separate resize action exists). Run List Deployments first to find the deployment ID. See the documentationWritev0.0.2 -
Update Traffic Filter Ruleset
actionUpdate an existing traffic filter ruleset in Elastic Cloud. The underlying API replaces the whole ruleset, so this action first reads the current ruleset and merges your changes over it — supply only the fields you want to change. The ruleset'stypeandregionare immutable after creation and are carried over automatically. Run List Traffic Filter Rulesets first to find the ruleset ID. See the documentationWritev0.0.2
EVENTS
Elastic Cloud triggers
Event sources your backend can deploy for users and receive through a webhook.
No Elastic Cloud triggers are available yet.
MULTI-APP
Use Elastic Cloud with other popular apps
Most products don't stop at one integration. Pair Elastic Cloud with the other apps your users rely on, and ship use cases that span both.
- App slug
- elastic_cloud
- Authentication
- API key
- Categories
- Infrastructure & Cloud
- Actions
- 8
- Triggers
- 0
- API proxy
- Available