Overview
Add Hootsuite to any ModuleX agent or workflow. Social media management platform for scheduling posts and managing profiles via the Hootsuite REST API (platform.hootsuite.com/v1).
Categories : Social Media · Marketing · Auth : OAuth2 · Actions : 4
Authentication
OAuth2 Authentication
Connect using Hootsuite OAuth (recommended)
Required Credentials
Field Description Required Format Client ID Hootsuite OAuth App Client ID Yes -Client Secret Hootsuite OAuth App Client Secret Yes -
OAuth Configuration
Authorization URL : https://platform.hootsuite.com/oauth2/auth
Token URL : https://platform.hootsuite.com/oauth2/token
Scopes : offline
Available Actions
create_media_upload_job — Creates a new media upload job on Hootsuite by uploading a file from a public URL
get_media_upload_status — Gets the status of a media upload job on Hootsuite
list_social_profiles — Retrieves a list of social profiles for the authenticated Hootsuite account
Response {
"$defs" : {
"SocialProfile" : {
"additionalProperties" : false ,
"description" : "A Hootsuite social profile." ,
"properties" : {
"id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Id"
},
"type" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Type"
},
"social_network_username" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Social Network Username"
},
"social_network_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Social Network Id"
}
},
"title" : "SocialProfile" ,
"type" : "object"
}
},
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"profiles" : {
"items" : {
"$ref" : "#/$defs/SocialProfile"
},
"title" : "Profiles" ,
"type" : "array"
}
},
"required" : [
"success"
],
"title" : "ListSocialProfilesOutput" ,
"type" : "object"
}
schedule_message — Schedules a message to be published on one or more social profiles
Parameters The message text to publish
Array of social profile ID strings to post to (use list_social_profiles to discover IDs)
ISO-8601 UTC time to send the message (must end with ‘Z’). If omitted, sends immediately.
Array of ow.ly media URLs to attach to the message
Array of media IDs from create_media_upload_job to attach
Array of Hootsuite message tags to apply (case sensitive)
Array of webhook URLs to call when message state changes
Targeting object for Facebook Page and LinkedIn Company posts. See Hootsuite API docs for structure.
Privacy settings object with optional facebook.visibility and linkedIn.visibility arrays
Latitude in decimal degrees (-90 to 90)
Longitude in decimal degrees (-180 to 180)
Whether to send email notification when the message is published
Response {
"$defs" : {
"ScheduledMessage" : {
"additionalProperties" : false ,
"description" : "A scheduled message returned by the Hootsuite API." ,
"properties" : {
"id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Id"
},
"state" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "State"
},
"text" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Text"
},
"scheduled_send_time" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Scheduled Send Time"
}
},
"title" : "ScheduledMessage" ,
"type" : "object"
}
},
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"messages" : {
"items" : {
"$ref" : "#/$defs/ScheduledMessage"
},
"title" : "Messages" ,
"type" : "array"
}
},
"required" : [
"success"
],
"title" : "ScheduleMessageOutput" ,
"type" : "object"
}
Limits & Quotas
Hootsuite API rate limits vary by plan tier; consult your account’s developer dashboard for current limits.
Free/Professional plans have lower API access thresholds than Enterprise plans.
Error model: non-2xx responses and timeouts are caught and returned as success=False + error rather than raising.
Links