Hootsuite ACTION
Schedule Message
Schedules a message on your Hootsuite account. See the documentation
- Action
- Writes data
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Hootsuite account once, then configure and run Schedule Message 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: "hootsuite-schedule-message",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
hootsuite: { authProvisionId: "apn_xxxxxxx" },
text: "Text",
socialProfileIds: ["Social Profile IDs"],
},
})
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": "hootsuite-schedule-message",
"configured_props": {
"hootsuite": { "authProvisionId": "apn_xxxxxxx" },
"text": "Text",
"socialProfileIds": ["Social Profile IDs"]
}
}'// 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": "hootsuite",
},
},
},
)
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: "hootsuite-schedule-message",
arguments: {
text: "Text",
socialProfileIds: ["Social Profile IDs"],
},
})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 |
|---|---|---|
text Text | string | The message text to publish. Required |
socialProfileIds Social Profile IDs | string[] | The social profiles that the message will be posted to. Required Dynamic |
scheduledSendTime Scheduled Send Time | string | The time the message is scheduled to be sent in UTC time, ISO-8601 format. Missing or different timezones will not be accepted, to ensure there is no ambiguity about scheduled time. Dates must end with 'Z' to be accepted. Optional |
webhookUrls Webhook URLs | string[] | The webhook URL(s) to call to when the message's state changes. Optional |
tags Tags | string[] | The Hootsuite message tags to apply to the message. To set tags the social profile must belong to an organization. Tags are case sensitive. Limited permission members can only use the existing tags for organization and cannot create new ones. See more about message tags at the Hootsuite Help Center. Not supported by Pinterest. Optional |
targetingFacebookPageAgeMin Targeting Facebook Page - Age Min | string | Minimum age to target the message at. Optional |
targetingFacebookPageEducation Targeting Facebook Page - Education | string[] | The education level of the Facebook page to target. Optional |
targetingFacebookPageInterestIn Targeting Facebook Page - Interests | string[] | Interested in preferences to target the message at. Optional |
targetingFacebookPageRelationshipStatus Targeting Facebook Page - Relationship Status | string[] | Relationship status to target the message at. Optional |
targetingFacebookPageCountry Targeting Facebook Page - Country | string[] | Country to target the message at. 2-digit ISO 3166 format code as provided by Facebook. Format: [{"k": "Canada", "v": "CA"}] See the documentation for more information. Optional |
targetingFacebookPageRegions Targeting Facebook Page - Regions | string[] | Region to target the message at. Note that regions can only be specified when there is exactly one country targeted. Limit 200. Format: [{"k": "British Columbia", "v": "2"}] See the documentation for more information. Optional |
targetingFacebookPageCities Targeting Facebook Page - Cities | string[] | City to target the message at. Note that cities can only be specified when there is exactly one country targeted. Limit 250. Format: [{"k": "Burnaby, BC", "v": "292466"}] See the documentation for more information. Optional |
targetingFacebookPageZips Targeting Facebook Page - Zip | string[] | Zip/Postal Code to target the message at. Limit 50,000. Format: [{"k": "K1S", "v": "CA:K1S"}] See the documentation for more information. Optional |
targetingLinkedInCompanySize Targeting LinkedIn Company - Size | string[] | Company size to target the message at. Optional |
targetingLinkedInCompanyGeography Targeting LinkedIn Company - Geography | string[] | Geography to target the message at. Optional |
targetingLinkedInCompanyIndustry Targeting LinkedIn Company - Industry | string[] | Industry to target the message at. Optional |
targetingLinkedInCompanyJobFunction Targeting LinkedIn Company - Job Function | string[] | Job function to target the message at. Optional |
targetingLinkedInCompanySeniority Targeting LinkedIn Company - Seniority | string[] | Seniority to target the message at. Optional |
targetingLinkedInV2CompanyLocations Targeting LinkedIn V2 Company - Locations | string[] | Locations to target the message at, expected format of urn:li:geo:{CODE}. Geo Locations reference, Geo Typeahead Locations reference Optional |
targetingLinkedInV2CompanyStaffCountRange Targeting LinkedIn V2 Company - Staff Count Range | string[] | Staff count to target the message at, expected format of SIZE_{VALUES}. Staff count codes reference Optional |
targetingLinkedInV2CompanySeniorities Targeting LinkedIn V2 Company - Seniorities | string[] | Seniorities to target the message at, expected format of urn:li:seniority:{CODE}. Seniorities codes reference Optional |
targetingLinkedInV2CompanyIndustries Targeting LinkedIn V2 Company - Industries | string[] | Industries to target the message at, expected format of urn:li:industry:{CODE}. Industries codes reference Optional |
targetingLinkedInV2CompanyInterfaceLocations Targeting LinkedIn V2 Company - Interface Locations | string[] | Languages to target the message at, expected format of {"country":"COUNTRY","language":"language"}. Language codes reference Languages can be interpreted as this format: language_COUNTRY, replace in request as necessary. Optional |
privacyFacebookVisibility Privacy Facebook Visibility | string | Facebook visibility rule. Optional |
privacyLinkedInVisibility Privacy LinkedIn Visibility | string | LinkedIn visibility rule. Optional |
latitude Latitude | string | The latitude in decimal degrees. Must be between -90 to 90. Optional |
longitude Longitude | string | The longitude in decimal degrees. Must be between -180 to 180. Optional |
emailNotification Email Notification | boolean | A flag to determine whether email notifications are sent when the message is published. Optional |
mediaUrls Media URLs | string[] | The ow.ly media to attach to the message Optional |
media Media | string[] | The media id(s) returned at Create Media Upload Job action to attach to the message 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
- hootsuite-schedule-message
- Version
- 0.0.4
- App
- Hootsuite
- Authentication
- OAuth
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗