Skip to main content
Hootsuite logo

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

FieldDescriptionRequiredFormat
Client IDHootsuite OAuth App Client IDYes-
Client SecretHootsuite OAuth App Client SecretYes-

OAuth Configuration

  • Authorization URL: https://platform.hootsuite.com/oauth2/auth
  • Token URL: https://platform.hootsuite.com/oauth2/token
  • Scopes: offline

Available Actions

Parameters

size_bytes
integer
required
The size of the file in bytes
mime_type
string
required
The MIME type of the file (e.g. image/png, image/jpeg, video/mp4)
file_url
string
required
A publicly-accessible URL to the file to upload

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "file_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "File Id"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateMediaUploadJobOutput",
  "type": "object"
}

Parameters

file_id
string
required
The ID of the media file to check status for

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Id"
    },
    "state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "State"
    },
    "download_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Download Url"
    },
    "thumbnail_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Thumbnail Url"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetMediaUploadStatusOutput",
  "type": "object"
}

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"
}

Parameters

text
string
required
The message text to publish
social_profile_ids
array
required
Array of social profile ID strings to post to (use list_social_profiles to discover IDs)
scheduled_send_time
string
ISO-8601 UTC time to send the message (must end with ‘Z’). If omitted, sends immediately.
media_urls
array
Array of ow.ly media URLs to attach to the message
media
array
Array of media IDs from create_media_upload_job to attach
tags
array
Array of Hootsuite message tags to apply (case sensitive)
webhook_urls
array
Array of webhook URLs to call when message state changes
targeting
object
Targeting object for Facebook Page and LinkedIn Company posts. See Hootsuite API docs for structure.
privacy
object
Privacy settings object with optional facebook.visibility and linkedIn.visibility arrays
latitude
number
Latitude in decimal degrees (-90 to 90)
longitude
number
Longitude in decimal degrees (-180 to 180)
email_notification
boolean
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.

LinkedIn

Product Hunt

Ahrefs