Sunshine Conversations ACTION
Join Conversation
Join a conversation. See the documentation
- Action
- Writes data
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Sunshine Conversations account once, then configure and run Join Conversation 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: "sunshine_conversations-join-conversation",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
sunshine_conversations: { authProvisionId: "apn_xxxxxxx" },
userId: "User ID",
conversationId: "Conversation ID",
},
})
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": "sunshine_conversations-join-conversation",
"configured_props": {
"sunshine_conversations": { "authProvisionId": "apn_xxxxxxx" },
"userId": "User ID",
"conversationId": "Conversation ID"
}
}'// 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": "sunshine_conversations",
},
},
},
)
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: "sunshine_conversations-join-conversation",
arguments: {
userId: "User ID",
conversationId: "Conversation ID",
},
})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 |
|---|---|---|
userId User ID | string | The ID of the user received from your Conversations Webhook to filter conversations. Required |
conversationId Conversation ID | string | The ID of the conversation to get messages for. Required Dynamic |
newUserId New User ID | string | The ID of the user to join the conversation Required |
subscribeSDKClient Subscribe SDK Client | boolean | When passed as true, the SDK client of the concerned participant will be subscribed to the conversation. The user will start receiving push notifications for this conversation right away, without having to view the conversation on the SDK beforehand. An SDK client will be created for users that don’t already have one. This field is required if the conversation is of type sdkGroup Required |
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
- sunshine_conversations-join-conversation
- Version
- 0.0.3
- App
- Sunshine Conversations
- Authentication
- API key
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗