From hootsuite-pack
Retrieves Hootsuite social media analytics for messages, profiles, and organizations; shortens URLs via Ow.ly API. Tracks engagement, clicks, and post performance.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hootsuite-pack:hootsuite-core-workflow-bThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Retrieve social media analytics and use Ow.ly URL shortening via the Hootsuite API. Track post performance, engagement metrics, and click-through rates.
Retrieve social media analytics and use Ow.ly URL shortening via the Hootsuite API. Track post performance, engagement metrics, and click-through rates.
hootsuite-install-auth setupimport 'dotenv/config';
const TOKEN = process.env.HOOTSUITE_ACCESS_TOKEN!;
const BASE = 'https://platform.hootsuite.com/v1';
async function getOrganization() {
const response = await fetch(`${BASE}/me/organizations`, {
headers: { 'Authorization': `Bearer ${TOKEN}` },
});
const { data } = await response.json();
return data[0]; // Primary organization
}
async function shortenUrl(fullUrl: string) {
const response = await fetch(`${BASE}/shorteners/owly`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ url: fullUrl }),
});
const { data } = await response.json();
console.log(`${fullUrl} → ${data.shortUrl}`);
return data;
}
// Shorten multiple URLs
async function shortenBatch(urls: string[]) {
return Promise.all(urls.map(url => shortenUrl(url)));
}
async function getMessageAnalytics(messageId: string) {
const response = await fetch(`${BASE}/messages/${messageId}`, {
headers: { 'Authorization': `Bearer ${TOKEN}` },
});
const { data } = await response.json();
console.log(`Message: ${data.text?.substring(0, 50)}...`);
console.log(`State: ${data.state}`);
console.log(`Sent: ${data.sentAt}`);
return data;
}
// List sent messages and their performance
async function getSentMessages(profileId: string) {
const response = await fetch(
`${BASE}/messages?socialProfileIds=${profileId}&state=SENT&limit=20`,
{ headers: { 'Authorization': `Bearer ${TOKEN}` } },
);
const { data } = await response.json();
for (const msg of data) {
console.log(`[${msg.sentAt}] ${msg.text?.substring(0, 60)}`);
}
return data;
}
async function getProfileDetails(profileId: string) {
const response = await fetch(`${BASE}/socialProfiles/${profileId}`, {
headers: { 'Authorization': `Bearer ${TOKEN}` },
});
const { data } = await response.json();
console.log(`Profile: @${data.socialNetworkUsername}`);
console.log(`Network: ${data.type}`);
console.log(`ID: ${data.id}`);
return data;
}
| Error | Cause | Solution |
|---|---|---|
404 on message | Message deleted or wrong ID | Verify message ID |
| No analytics data | Post too recent | Wait for engagement data (24-48h) |
| Ow.ly rate limited | Too many shortening requests | Batch and throttle |
For common errors, see hootsuite-common-errors.
npx claudepluginhub fleet-to-force/claude-code-plugins-plus --plugin hootsuite-pack7plugins reuse this skill
First indexed Jul 10, 2026
Showing the 6 earliest of 7 plugins
Retrieves Hootsuite social media analytics for messages, profiles, and organizations; shortens URLs via Ow.ly API. Tracks engagement, clicks, and post performance.
Creates, schedules, and manages social media posts across Instagram, TikTok, YouTube, X, LinkedIn, Facebook, Pinterest, Threads, and Bluesky via the Post Bridge API.
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.