Pipory
Node reference

ManyChat

ManyChat node reference - all 32 operations, the credential it needs, and a worked example.

ManyChat Public API (Messaging). 32 operations: subscribers (get by id or user ref, find by email/phone, name or custom field, create, update), subscriber tags (add and remove by id or name), subscriber custom fields (set by id, by name, or many at once), sending (content, content to a user ref, a whole flow), page tags and custom-field definitions, bot fields, and page reads (info, flows, growth tools, one-time notification topics).

Credential: ManyChat API token - see Credentials.

Permissions

The Public API has no scope system: its OpenAPI spec declares a single Bearer HTTP security scheme with no scopes attached, and one page API key grants full access to that page's whole Public API. The key is minted per chatbot page under Settings → API and looks like <pageId>:<hash>, so the blast radius is the page, not an operation. Two things a refusal usually means instead of a missing permission: API access is a paid (Pro) plan feature, and the key belongs to one page — using it against another page's subscriber IDs fails. Note the separate Profile-level key ManyChat issues for its account-wide Profile API is a different credential and is not what this node uses.

Operations (32)

Subscribers

OperationWhat it does
getSubscriberGet subscriber
getSubscriberByUserRefGet subscriber by user ref
findSubscriberBySystemFieldFind subscriber by email or phone
findSubscribersByNameFind subscribers by name
findSubscribersByCustomFieldFind subscribers by custom field
createSubscriberCreate subscriber
updateSubscriberUpdate subscriber

Subscriber tags

OperationWhat it does
addTagAdd tag to subscriber (by ID)
addTagByNameAdd tag to subscriber (by name)
removeTagRemove tag from subscriber (by ID)
removeTagByNameRemove tag from subscriber (by name)

Subscriber custom fields

OperationWhat it does
setCustomFieldSet custom field (by ID)
setCustomFieldByNameSet custom field (by name)
setCustomFieldsSet many custom fields

Sending

OperationWhat it does
sendContentSend content to subscriber
sendContentByUserRefSend content to a user ref
sendFlowSend a flow to subscriber

Tags

OperationWhat it does
getTagsList tags
createTagCreate tag
deleteTagDelete tag (by ID)
deleteTagByNameDelete tag (by name)

Custom fields

OperationWhat it does
getCustomFieldsList custom fields
createCustomFieldCreate custom field

Bot fields

OperationWhat it does
getBotFieldsList bot fields
createBotFieldCreate bot field
setBotFieldSet bot field (by ID)
setBotFieldByNameSet bot field (by name)
setBotFieldsSet many bot fields

Page

OperationWhat it does
getPageInfoGet page info
getFlowsList flows
getGrowthToolsList growth tools
getOtnTopicsList one-time notification topics

Example

Set a custom field by name instead of by numeric id

ManyChat's own API addresses custom fields by numeric id, which a workflow author does not have and which changes between accounts. setCustomFieldByName takes the name shown in the ManyChat UI, so a workflow survives being rebuilt against a different page.

Set Operation to setCustomFieldByName, then fill in:

FieldValueNotes
subscriberId{{ myTrigger.subscriberId }}ManyChat has NO list-subscribers endpoint — a subscriber is reachable only by id, user_ref, exact name, email/phone or a custom field value
fieldNamesignup_planThe field name as shown in ManyChat
fieldValue{{ myTrigger.plan }}

Sets {{field.status}}. A refusal here is a bad key or an account without a paid (Pro) plan — ManyChat has no scope system, so it is never a missing permission.