hs_list_email_campaigns
List HubSpot marketing email campaigns sorted by most recently updated. Specify the number of campaigns to return and an offset for pagination.
Instructions
List marketing email campaigns ordered by most recently updated.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
Implementation Reference
- src/tools/emails.ts:4-7 (schema)Zod schema for hs_list_email_campaigns: validates optional limit (1-100, default 25) and optional offset (default 0).
export const ListEmailCampaignsSchema = z.object({ limit: z.number().int().min(1).max(100).default(25).optional(), offset: z.number().int().default(0).optional(), }); - src/tools/emails.ts:9-16 (handler)Handler function 'listEmailCampaigns' that calls HubSpot API GET /marketing-emails/v1/emails with limit, offset, orderBy=-updated, and selected properties.
export async function listEmailCampaigns(args: z.infer<typeof ListEmailCampaignsSchema>) { return hubspot("/marketing-emails/v1/emails", "GET", undefined, { limit: args.limit ?? 25, offset: args.offset ?? 0, orderBy: "-updated", property: "id,name,subject,currentState,updatedAt,publishedAt,stats", }); } - src/index.ts:44-49 (registration)Import of ListEmailCampaignsSchema and listEmailCampaigns from src/tools/emails.ts.
// Emails import { ListEmailCampaignsSchema, listEmailCampaigns, GetEmailCampaignStatsSchema, getEmailCampaignStats, ListMarketingEmailsSchema, listMarketingEmails, } from "./tools/emails.js"; - src/index.ts:218-223 (registration)Registration of the tool 'hs_list_email_campaigns' via server.tool() with description, schema, and handler callback.
server.tool( "hs_list_email_campaigns", "List marketing email campaigns ordered by most recently updated.", ListEmailCampaignsSchema.shape, async (args) => { try { return ok(await listEmailCampaigns(args)); } catch (e) { return err(e); } }, );