Release Candidate — the API is undergoing final validation before general availability, and minor changes may still occur.
Hellomateo API Documentation
Webhooks

Legacy Webhook Events Reference

Learn about the events and payloads sent by legacy Hellomateo webhooks.

Overview

Webhooks in hellomateo allow you to trigger an HTTP callback to a configured URL when specific events happen within your Hellomateo account. Webhooks can be used to build integrations, such as notifications or workflows.

This reference documents webhooks whose api_version is legacy.

We are planning a revamped webhook experience with more fine-grained event types and enhanced security features. If you have specific webhook requirements or use cases, now is a great time to reach out to us—your feedback can help shape the design.

contact.created

A new contact has been created.

Example:

{
  "campaign_messages_this_month": 123,
  "created_at": "<string>",
  "description": "<string>",
  "display_name": "<string>",
  "email": "<string>",
  "facebook": "<string>",
  "full_name": "<string>",
  "google_business_messaging": "<string>",
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "instagram": "<string>",
  "latest_marketing_opt_in_request_sent_at": "<string>",
  "marketing_opt_in": true,
  "number_of_marketing_opt_in_requests": 123,
  "organisation_id": "00000000-0000-0000-0000-000000000000",
  "sms": "<string>",
  "transactional_opt_in": "legitimate_interest",
  "updated_at": "<string>",
  "whatsapp": "<string>"
}

contact_details.updated

The contact details have been updated. This can be data on the contact itself, its custom field or its marketing subscriptions.

Example:

{
  "campaign_messages_this_month": 123,
  "created_at": "<string>",
  "description": "<string>",
  "display_name": "<string>",
  "email": "<string>",
  "facebook": "<string>",
  "full_name": "<string>",
  "google_business_messaging": "<string>",
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "instagram": "<string>",
  "latest_marketing_opt_in_request_sent_at": "<string>",
  "marketing_opt_in": true,
  "number_of_marketing_opt_in_requests": 123,
  "organisation_id": "00000000-0000-0000-0000-000000000000",
  "sms": "<string>",
  "transactional_opt_in": "legitimate_interest",
  "updated_at": "<string>",
  "whatsapp": "<string>",
  "my_channel": "accepted",
  "my_custom_field": "value"
}

contact.deleted

A contact has been deleted.

Example:

{
  "campaign_messages_this_month": 123,
  "created_at": "<string>",
  "description": "<string>",
  "display_name": "<string>",
  "email": "<string>",
  "facebook": "<string>",
  "full_name": "<string>",
  "google_business_messaging": "<string>",
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "instagram": "<string>",
  "latest_marketing_opt_in_request_sent_at": "<string>",
  "marketing_opt_in": true,
  "number_of_marketing_opt_in_requests": 123,
  "organisation_id": "00000000-0000-0000-0000-000000000000",
  "sms": "<string>",
  "transactional_opt_in": "legitimate_interest",
  "updated_at": "<string>",
  "whatsapp": "<string>"
}

conversation.inbound

An inbound message has been received.

Example:

{
  "id": "00000000-0000-0000-0000-000000000000",
  "type": "inbound",
  "source": {
    ... the channel that received the message ...
  },
  "target": {
    ... the message that was received, including the recipients ...
  },
  "inbox_id": "00000000-0000-0000-0000-000000000000",
  "metadata": null,
  "created_at": "2024-07-02T15:47:46+00:00",
  "updated_at": "2024-07-02T15:47:51.613711+00:00",
  "source_type": "channel",
  "target_type": "message",
  "conversation": {
    ... the conversation that the message belongs to ...
  },
  "conversation_id": "00000000-0000-0000-0000-000000000000",
}

conversation.outbound

A message has been sent.

Example:

{
  "id": "00000000-0000-0000-0000-000000000000",
  "type": "outbound",
  "source": {
    ... the channel that sent the message ...
  },
  "target": {
    ... the message that was sent, including the recipients ...
  },
  "inbox_id": "00000000-0000-0000-0000-000000000000",
  "metadata": null,
  "created_at": "2024-07-02T15:47:46+00:00",
  "updated_at": "2024-07-02T15:47:51.613711+00:00",
  "source_type": "channel",
  "target_type": "message",
  "conversation": {
    ... the conversation that the message belongs to ...
  },
  "conversation_id": "00000000-0000-0000-0000-000000000000",
}

conversation.submission_error

We are unable to submit the message to the API of the provider.

Example:

{
  "id": "00000000-0000-0000-0000-000000000000",
  "type": "submission_error",
  "source": {
    ... the channel that tried to submit the message ...
  },
  "target": {
    ... the message for which the submission failed, including the recipients ...
  },
  "inbox_id": "00000000-0000-0000-0000-000000000000",
  "metadata": null,
  "created_at": "2024-07-02T15:47:46+00:00",
  "updated_at": "2024-07-02T15:47:51.613711+00:00",
  "source_type": "channel",
  "target_type": "message",
  "conversation": {
    ... the conversation that the message belongs to ...
  },
  "conversation_id": "00000000-0000-0000-0000-000000000000",
  "metadata": {
    ... maybe information about the error ...
  }
}

conversation.sending_error

The provider is unable to send the message to the recipient.

Example:

{
  "id": "00000000-0000-0000-0000-000000000000",
  "type": "sending_error",
  "source": {
    ... the channel that tried to send the message ...
  },
  "target": {
    ... the message for which sending failed, including the recipients ...
  },
  "inbox_id": "00000000-0000-0000-0000-000000000000",
  "metadata": null,
  "created_at": "2024-07-02T15:47:46+00:00",
  "updated_at": "2024-07-02T15:47:51.613711+00:00",
  "source_type": "channel",
  "target_type": "message",
  "conversation": {
    ... the conversation that the message belongs to ...
  },
  "conversation_id": "00000000-0000-0000-0000-000000000000",
  "metadata": {
    ... maybe information about the error ...
  }
}

conversation.tag

A conversation has been tagged.

Example:

{
  "id": "00000000-0000-0000-0000-000000000000",
  "type": "tag",
  "source": {
    ... the employee or api token that added the tag ...
  },
  "target": {
    ... the tag that was added ...
  },
  "inbox_id": "00000000-0000-0000-0000-000000000000",
  "metadata": null,
  "created_at": "2024-07-02T15:47:46+00:00",
  "updated_at": "2024-07-02T15:47:51.613711+00:00",
  "source_type": "employee",
  "target_type": "tag",
  "conversation": {
    ... the conversation ...
  },
  "conversation_id": "00000000-0000-0000-0000-000000000000",
}

conversation.untag

A tag has been removed from a conversation.

Example:

{
  "id": "00000000-0000-0000-0000-000000000000",
  "type": "untag",
  "source": {
    ... the employee or api token that removed the tag ...
  },
  "target": {
    ... the tag that was removed ...
  },
  "inbox_id": "00000000-0000-0000-0000-000000000000",
  "metadata": null,
  "created_at": "2024-07-02T15:47:46+00:00",
  "updated_at": "2024-07-02T15:47:51.613711+00:00",
  "source_type": "employee",
  "target_type": "tag",
  "conversation": {
    ... the conversation ...
  },
  "conversation_id": "00000000-0000-0000-0000-000000000000",
}

conversation.assign

A conversation has been assigned to a user.

Example:

{
  "id": "00000000-0000-0000-0000-000000000000",
  "type": "assign",
  "source": {
    ... the employee or api token that assigned the employee ...
  },
  "target": {
    ... the employee that was assigned ...
  },
  "inbox_id": "00000000-0000-0000-0000-000000000000",
  "metadata": null,
  "created_at": "2024-07-02T15:47:46+00:00",
  "updated_at": "2024-07-02T15:47:51.613711+00:00",
  "source_type": "employee",
  "target_type": "employee",
  "conversation": {
    ... the conversation ...
  },
  "conversation_id": "00000000-0000-0000-0000-000000000000",
}

conversation.unassign

A conversation has been unassigned from a user.

Example:

{
  "id": "00000000-0000-0000-0000-000000000000",
  "type": "unassign",
  "source": {
    ... the employee or api token that unassigned the employee ...
  },
  "target": null,
  "inbox_id": "00000000-0000-0000-0000-000000000000",
  "metadata": null,
  "created_at": "2024-07-02T15:47:46+00:00",
  "updated_at": "2024-07-02T15:47:51.613711+00:00",
  "source_type": "employee",
  "target_type": null,
  "conversation": {
    ... the conversation ...
  },
  "conversation_id": "00000000-0000-0000-0000-000000000000",
}

conversation.reopen

A conversation has been reopened.

Example:

{
  "id": "00000000-0000-0000-0000-000000000000",
  "type": "reopen",
  "source": {
    ... the employee or api token or rule that reopened the conversation ...
  },
  "target": null,
  "inbox_id": "00000000-0000-0000-0000-000000000000",
  "metadata": null,
  "created_at": "2024-07-02T15:47:46+00:00",
  "updated_at": "2024-07-02T15:47:51.613711+00:00",
  "source_type": "employee",
  "target_type": null,
  "conversation": {
    ... the conversation ...
  },
  "conversation_id": "00000000-0000-0000-0000-000000000000",
}

conversation.close

A conversation has been closed.

Example:

{
  "id": "00000000-0000-0000-0000-000000000000",
  "type": "close",
  "source": {
    ... the employee or api token or rule that closed the conversation ...
  },
  "target": null,
  "inbox_id": "00000000-0000-0000-0000-000000000000",
  "metadata": null,
  "created_at": "2024-07-02T15:47:46+00:00",
  "updated_at": "2024-07-02T15:47:51.613711+00:00",
  "source_type": "employee",
  "target_type": null,
  "conversation": {
    ... the conversation ...
  },
  "conversation_id": "00000000-0000-0000-0000-000000000000",
}

form_submission.completed

A form submission has been completed.

Example:

{
  "status": "completed",
  "form_id": "00000000-0000-0000-0000-000000000000",
  "contact_id": "00000000-0000-0000-0000-000000000000",
  "finalised_at": "2024-11-05T14:07:22.612994+00:00",
  "form_version_id": "00000000-0000-0000-0000-000000000000",
  "organisation_id": "00000000-0000-0000-0000-000000000000",
  "duration_seconds": 178,
  "in_conversation_id": "00000000-0000-0000-0000-000000000000",
  "contact_external_id": "external-id",
  "element_submissions": {
    "field_one": "answer",
    "field_two": "another answer"
  }
}

form_submission.aborted

A form submission has been aborted.

Example:

{
  "status": "aborted",
  "form_id": "00000000-0000-0000-0000-000000000000",
  "contact_id": "00000000-0000-0000-0000-000000000000",
  "finalised_at": "2024-11-05T14:07:22.612994+00:00",
  "form_version_id": "00000000-0000-0000-0000-000000000000",
  "organisation_id": "00000000-0000-0000-0000-000000000000",
  "duration_seconds": 178,
  "in_conversation_id": "00000000-0000-0000-0000-000000000000",
  "contact_external_id": "external-id",
  "element_submissions": {
    "field_one": "answer",
    "field_two": null
  }
}

On this page