Linear ACTION
Get Current User
Retrieve rich context about the authenticated Linear user, including core profile fields, recent timestamps, direct team memberships, and high-level organization settings. Use this when your workflow or agent needs to understand who is currently authenticated, which teams they belong to, or what workspace policies might influence subsequent Linear actions. Use the optional
fields prop to return only the top-level sections you need (reduces context for large workspaces). Example: call with no parameters → returns {user: {id: "usr_01", name: "Jane Doe", email: "jane@acme.com"}, organization: {id: "org_01", name: "Acme Inc"}, teams: {nodes: [{id: "9d1c3f7e-2b48-4c6a-9f1e-5a7b8c9d0e1f", name: "Engineering", key: "ENG"}], pageInfo: {endCursor: "...", hasNextPage: false}}, teamMemberships: {nodes: [{id: "tm_01"}], pageInfo: {endCursor: "...", hasNextPage: false}}}. See the documentation.- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Linear account once, then configure and run Get Current User 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: "linear-get-current-user",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
linear: { authProvisionId: "apn_xxxxxxx" },
fields: ["Fields"],
},
})
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": "linear-get-current-user",
"configured_props": {
"linear": { "authProvisionId": "apn_xxxxxxx" },
"fields": ["Fields"]
}
}'// 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": "linear",
},
},
},
)
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: "linear-get-current-user",
arguments: {
fields: ["Fields"],
},
})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 |
|---|---|---|
fields Fields | string[] | Optional list of top-level sections to include in the response — one or more of user, organization, teams, teamMemberships. When omitted, all four are returned. Pass a subset to reduce response size, e.g. ["user", "teams"]. 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
- linear-get-current-user
- Version
- 0.1.0
- App
- Linear
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗