Each subscription type has a contact property hs_email_optout_<id> (the type's id): a HubSpot-defined, read-only single checkbox labelled "Opted out of email: <name>". The global hs_email_optout sits beside them, and workflow filters can use both.
Measured
More facts from this area
- "Manage communication subscriptions" is workflow action
0-43347357(v8). Its fields are plain strings:targetContact,channel(EMAIL),optState(OPT_OUTorOPT_IN),subscriptionId,legalBasisandlegalBasisExplanation.Measured GET /communication-preferences/v4/statuses/{email}?channel=EMAILreturnsOBJECT_NOT_FOUNDfor a contact that has no subscription record yet (treat it as never set); after a change it returns one row per type withSUBSCRIBED,UNSUBSCRIBEDorNOT_SPECIFIED.Measured- A per-type status change is
POST /communication-preferences/v4/statuses/{email}with{channel: "EMAIL", subscriptionId, statusState: "UNSUBSCRIBED" | "SUBSCRIBED", legalBasis, legalBasisExplanation}.Measured - Subscription types can't be created or deleted through the API: a
POST /communication-preferences/v4/definitionsanswers 405. They are created one at a time in Settings > Marketing > Email > Subscription Types; reading them works.Documented and measured - In the "Manage communication subscriptions" workflow action the subscription type is a fixed choice, not a token, so a workflow that must act on different types per record needs one branch and one action per type.Measured
Spriggit uses these facts when it plans changes. See something out of date? Email [email protected]