Segment ACTION
Record page views on your website
The page method lets you record page views on your website, along with optional extra information about the page being viewed (note requires userId or anonymousId). See the docs here
- Action
- Writes data
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Segment account once, then configure and run Record page views on your website from your backend or agent.
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: "segment-page",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
segment: { authProvisionId: "apn_xxxxxxx" },
anonymousId: "Anonymous ID",
context: "Context",
},
})
console.log(result)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": "segment-page",
"configured_props": {
"segment": { "authProvisionId": "apn_xxxxxxx" },
"anonymousId": "Anonymous ID",
"context": "Context"
}
}'// 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": "segment",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "segment-page",
arguments: {
anonymousId: "Anonymous ID",
context: "Context",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
anonymousId Anonymous ID | string | A pseudo-unique substitute for a User ID, for cases when you don't have an absolutely unique identifier. A User ID or an Anonymous ID is required. Optional |
context Context | object | Dictionary of extra information that provides useful context about a message, but is not directly related to the API call like ip address or locale Optional |
integrations Integrations | object | Dictionary of destinations to either enable or disable Optional |
label Page Name | string | Name of the page Optional |
properties Page Properties | object | Free-form dictionary of properties of the page, like url and referrer Optional |
timestamp Timestamp | string | Timestamp when the message itself took place, defaulted to the current time by the Segment Tracking API. It is an ISO-8601 date string. For example, 2022-04-08T17:32:11.318Z Optional |
userId User ID | string | Unique identifier for the user in your database., A User ID or an Anonymous ID is required. Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- segment-page
- Version
- 0.2.6
- App
- Segment
- Authentication
- API key
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗