Marketing automation workflows
Workflows hit API rate limits at scale, custom code is capped at 20 seconds and 128MB, and the branching UI hides the logic users need to debug.
What people actually say
✕One Operations Hub user reported 4,000 custom-code actions failed due to rate limiting when 5,000 contacts were enrolled simultaneously, with no built-in throttle to stagger enrollment.
Source: HubSpot Community, API rate limiting in workflows ↗✕Custom code actions in workflows must finish in 20 seconds and use at most 128MB of memory, and limiting how many contacts can enter a workflow per day isn't possible out of the box.
Source: HubSpot Community, custom code limits ↗✕Users describe getting 'sensory overload' opening complicated branching workflows, with critical step content now hidden until you click each action.
Source: HubSpot Community, workflows interface complaints ↗✕If/then branches force a contact down only the first matching path; sending the same contact down multiple parallel branches requires duplicating entire workflows.
Source: HubSpot Ideas, multi-branch enrollment ↗
Automation runs on durable queues (BullMQ, Inngest or Vercel Workflows) where every step is a typed function with no 20-second wall — you can call an LLM, hit five APIs, and retry with backoff. Branches are real code you can read in a PR, dry-runs replay against production data, and throttles are a one-line config so a 50k re-enrollment doesn't melt your integrations.