IMPLEMENTATION
Call this tool
Connect a user's Gong account once, then configure and run Add New Call 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: "gong-add-new-call",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
gong: { authProvisionId: "apn_xxxxxxx" },
clientUniqueId: "Client Unique ID",
actualStart: "Actual Start",
},
})
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": "gong-add-new-call",
"configured_props": {
"gong": { "authProvisionId": "apn_xxxxxxx" },
"clientUniqueId": "Client Unique ID",
"actualStart": "Actual Start"
}
}'// 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": "gong",
},
},
},
)
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: "gong-add-new-call",
arguments: {
clientUniqueId: "Client Unique ID",
actualStart: "Actual Start",
},
})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 |
|---|---|---|
clientUniqueId Client Unique ID | string | A call's unique identifier in the PBX or the recording system. Gong uses this identifier to prevent repeated attempts to upload the same recording. Required |
actualStart Actual Start | string | The actual date and time when the call started in the ISO-8601 format (e.g., 2018-02-18T02:30:00-07:00 or 2018-02-18T08:00:00Z, where Z stands for UTC). Required |
direction Direction | string | Whether the call is inbound (someone called the company), outbound (a rep dialed someone outside the company), or a conference call. Required |
primaryUser Primary User | string | The Gong internal user ID of the team member who hosted the call. Required Dynamic |
parties Parties | string[] | A list of the call's participants. A party must be provided for the Primary User. Each party can have a JSON stucture like this example: { "phoneNumber": "123123", "emailAddress": "email@example.com", "name": "Name", "mediaChannelId": "1" } Required |
title Title | string | The title of the call. This title is available in the Gong system for indexing and search. Optional |
purpose Purpose | string | The purpose of the call. This optional field is a free text of up to 255 characters. Optional |
scheduledStart Scheduled Start | string | The date and time the call was scheduled to begin in the ISO-8601 format (e.g., 2018-02-18T02:30:00-07:00 or 2018-02-18T08:00:00Z, where Z stands for UTC); Optional |
scheduledEnd Scheduled End | string | The date and time the call was scheduled to end in the ISO-8601 format (e.g., 2018-02-18T02:30:00-07:00 or 2018-02-18T08:00:00Z, where Z stands for UTC); Optional |
duration Duration | integer | The actual call duration in seconds. Optional |
disposition Disposition | string | The disposition of the call. The disposition is free text of up to 255 characters. Optional |
meetingUrl Meeting URL | string | The URL of the conference call by which users join the meeting Optional |
callProviderCode Call Provider Code | string | The code identifies the provider conferencing or telephony system. For example: zoom, clearslide, gotomeeting, ringcentral, outreach, insidesales, etc. These values are predefined by Gong, please contact help@gong.io to find the proper value for your system. Optional |
downloadMediaUrl Download Media URL | string | The URL from which Gong can download the media file. The URL must be unique, the audio or video file must be a maximum of 1.5GB. If you provide this URL, you should not perform the Add call media step. Optional |
workspaceId Workspace ID | string | Optional workspace identifier. If specified, the call will be placed into this workspace, otherwise, the default algorithm for workspace placement will be applied. Optional Dynamic |
languageCode Language Code | string | The language code the call should be transcribed to. This field is optional as Gong automatically detects the language spoken in the call and transcribes it accordingly. Set this field only if you are sure of the language the call is in. 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
- gong-add-new-call
- Version
- 0.0.6
- App
- Gong
- Authentication
- OAuth
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗