Setup
Step-by-step guide to set up custom channels: create, receive, and send messages.
1



Functionalities
Text
HTML
Email

2

3

{
"message": {
"id": "a8ae9822-ec20-4cc7-989f-4ff4bc473cfe",
"preview": "Hi, my name is Phil! How can I help you?",
"type": "custom_text",
"delivered_at": 1623269628,
"updated_at": 1623269628,
"created_at": 1623269608,
"references": [],
"body": "Hi, my name is Phil! How can I help you?",
"from_field": {
"id": null,
"name": "My custom account",
"username": "My custom account"
},
"to_fields": [
{
"id": "12345",
"name": "Philippe Lehoux",
"username": "@plehoux"
}
],
"external_id": null,
"attachments": [],
"author": {
"id": "af577bfa-076f-4ff0-bcc0-9b2d578fc601",
"email": "philippe@conferencebadge.com",
"name": "Philippe Lehoux",
"avatar_url": "https://missive.cdn.com/814942a3-ae65-4da5-b1ab-bd5266336ef4/philippe.png"
}
},
"conversation": {
"id": "15ff3085-4654-488d-a18f-aced2cc7dcc9",
"subject": null,
"latest_message_subject": "Message from Philippe Lehoux",
"organization": null,
"color": null,
"assignees": [],
"users": [
{
"id": "af577bfa-076f-4ff0-bcc0-9b2d578fc601",
"name": "Philippe Lehoux",
"email": "philippe@conferencebadge.com",
"unassigned": false,
"closed": false,
"archived": false,
"trashed": false,
"junked": false,
"assigned": false,
"flagged": false,
"snoozed": false
}
],
"attachments_count": 0,
"messages_count": 2,
"authors": [
{
"name": "My custom account",
"address": null
},
{
"name": "Philippe Lehoux",
"address": null
}
],
"drafts_count": 0,
"send_later_messages_count": 0,
"tasks_count": 0,
"completed_tasks_count": 0,
"web_url": "https://mail.missiveapp.com/#inbox/conversations/15ff3085-4654-488d-a18f-aced2cc7dcc9",
"app_url": "missive://mail.missiveapp.com/#inbox/conversations/15ff3085-4654-488d-a18f-aced2cc7dcc9",
"assignee_names": "",
"assignee_emails": "",
"shared_label_names": "",
"shared_labels": []
}
}#
# `secret` is the "Signature secret" set in your custom channel settings.
# `request_body` is the full HTTP request body.
#
computed_signature = 'sha256=' + OpenSSL::HMAC.hexdigest(
OpenSSL::Digest.new('sha256'), secret, request_body
)valid = Rack::Utils.secure_compare(x_hook_signature, computed_signature)Last updated