Pipory
Node reference

Respond.io

Respond.io node reference - all 35 operations, the credential it needs, and a worked example.

Respond.io API v2 (Messaging). 35 operations: contacts (get, create, upsert, update, delete, list/search, merge), tags, lifecycle stages and contact channels; messages (text, attachment, quick replies, WhatsApp template, email, custom payload, get, list); conversations (open, close, assign, unassign); internal comments; and workspace reads and writes for users, custom fields, tags, channels, message templates and closing notes.

Credential: Respond.io per-channel access token - see Credentials.

Permissions

The respond.io API v2 has no scope system and no OAuth flow. A workspace access token (Settings > Integrations > Developer API, up to 10 per workspace) can call every endpoint below within the workspace it was created in - so the grant question is which WORKSPACE the token belongs to, not which boxes are ticked on it. The one gate that does exist is a plan gate on the whole credential rather than a per-operation one: the Developer API is available on respond.io's Business plan and above.

Operations (35)

Contacts

OperationWhat it does
getContactGet contact
createContactCreate contact
upsertContactCreate or update contact (upsert)
updateContactUpdate contact
deleteContactDelete contact
listContactsList / search contacts
mergeContactsMerge two contacts

Contact tags, lifecycle & channels

OperationWhat it does
addTagsAdd tags to contact
removeTagsRemove tags from contact
updateLifecycleSet or clear lifecycle stage
listContactChannelsList a contact's channels

Messages

OperationWhat it does
sendMessageSend text message
sendAttachmentSend attachment (image, video, audio, file)
sendQuickReplySend quick replies
sendWhatsAppTemplateSend WhatsApp template
sendEmailSend email message
sendCustomPayloadSend custom channel payload
getMessageGet message
listMessagesList a contact's messages

Conversations

OperationWhat it does
openConversationOpen conversation
closeConversationClose conversation
assignConversationAssign conversation
unassignConversationUnassign conversation

Comments

OperationWhat it does
createCommentAdd internal comment

Workspace: users

OperationWhat it does
listSpaceUsersList workspace users
getSpaceUserGet workspace user

Workspace: custom fields

OperationWhat it does
listCustomFieldsList custom fields
getCustomFieldGet custom field
createCustomFieldCreate custom field

Workspace: tags

OperationWhat it does
createTagCreate workspace tag
updateTagUpdate workspace tag
deleteTagDelete workspace tag

Workspace: channels & closing notes

OperationWhat it does
listSpaceChannelsList workspace channels
listChannelTemplatesList a channel's message templates
listClosingNotesList closing-note categories

Example

Upsert a contact — the operation whose name finally matches what it does

Until the operation wave upsertContact posted to the strict CREATE path, so for a contact that already existed it returned an error and never updated. It now calls POST /contact/create_or_update/{identifier}. No working configuration changed behaviour: for a new contact both paths did the same thing, and for an existing one the old call simply failed. Strict create is still available as createContact.

Set Operation to upsertContact, then fill in:

FieldValueNotes
idFieldemailid, email or phone — respond.io addresses contacts by a typed identifier, not a bare id
idValue{{ myTrigger.email }}The identifier value
firstName{{ myTrigger.firstName }}
lastName{{ myTrigger.lastName }}
customFields{"plan": "{{ myTrigger.plan }}"}Must already exist in the workspace

Sets {{contact.id}} and {{contact.contact}}. The API needs respond.io's Business plan or above — a 403 here is the plan, not a permission.