Skip to main content

Messages, attachments and views

Signatures come from GHC; descriptions come from compiled Haddock comments. Import Slackblocks or the defining public module. Checked values encode with Aeson; field records must be built first.

Attachment​

A legacy message attachment containing blocks and an optional color bar.

https://docs.slack.dev/messaging/formatting-message-text#when-to-use-attachments Only blocks supported in messages are accepted.

type Slackblocks.Models.Attachment :: *

AttachmentFields​

Editable construction input. Call buildAttachment before encoding.

Slackblocks.Models.AttachmentFields ::
[Slackblocks.Models.Block]
-> Maybe Data.Text.Text
-> Maybe Data.Text.Text
-> Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value
-> Slackblocks.Models.AttachmentFields

type Slackblocks.Models.AttachmentFields :: *

HomeTabView​

The payload for publishing an App Home tab with views.publish.

https://docs.slack.dev/surfaces/app-home Only blocks supported on the App Home tab are accepted.

type Slackblocks.Models.HomeTabView :: *

HomeTabViewFields​

Editable construction input. Call buildHomeTabView before encoding.

Slackblocks.Models.HomeTabViewFields ::
[Slackblocks.Models.Block]
-> Maybe Data.Text.Text
-> Maybe Data.Text.Text
-> Maybe Data.Text.Text
-> Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value
-> Slackblocks.Models.HomeTabViewFields

type Slackblocks.Models.HomeTabViewFields :: *

MessagePayload​

A complete payload for chat.postMessage and related Web API methods.

https://docs.slack.dev/reference/methods/chat.postMessage Only blocks supported in messages are accepted. Markdown block text is limited to 12,000 characters, and data table cell text to 20,000 characters, across the whole message. At most two data visualization blocks may be sent per message, across blocks and attachments after helper expansion (message.data_visualizations.max_items).

type Slackblocks.Models.MessagePayload :: *

MessagePayloadFields​

Editable construction input. Call buildMessagePayload before encoding.

Slackblocks.Models.MessagePayloadFields ::
Data.Text.Text
-> Maybe [Slackblocks.Models.Block]
-> Maybe [Slackblocks.Models.Attachment]
-> Maybe Data.Text.Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> Maybe (Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value)
-> Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value
-> Slackblocks.Models.MessagePayloadFields

type Slackblocks.Models.MessagePayloadFields :: *

MessageResponse​

A response body for slash commands and interaction response URLs.

https://docs.slack.dev/interactivity/handling-user-interaction#message_responses Only blocks supported in messages are accepted. Markdown block text is limited to 12,000 characters, and data table cell text to 20,000 characters, across the whole message. At most two data visualization blocks may be sent per message, across blocks and attachments after helper expansion (message.data_visualizations.max_items).

type Slackblocks.Models.MessageResponse :: *

MessageResponseFields​

Editable construction input. Call buildMessageResponse before encoding.

Slackblocks.Models.MessageResponseFields ::
Maybe [Slackblocks.Models.Block]
-> Maybe [Slackblocks.Models.Attachment]
-> Maybe Data.Text.Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Slackblocks.Models.ResponseType
-> Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value
-> Slackblocks.Models.MessageResponseFields

type Slackblocks.Models.MessageResponseFields :: *

ModalView​

The view payload for views.open, views.push, and views.update.

https://docs.slack.dev/surfaces/modals Only blocks supported in modals are accepted. A modal that contains an input block must have a submit label.

type Slackblocks.Models.ModalView :: *

ModalViewFields​

Editable construction input. Call buildModalView before encoding.

Slackblocks.Models.ModalViewFields ::
Slackblocks.Models.PlainText
-> [Slackblocks.Models.Block]
-> Maybe Slackblocks.Models.PlainText
-> Maybe Slackblocks.Models.PlainText
-> Maybe Data.Text.Text
-> Maybe Data.Text.Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Data.Text.Text
-> Maybe Bool
-> Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value
-> Slackblocks.Models.ModalViewFields

type Slackblocks.Models.ModalViewFields :: *

WebhookMessage​

A payload for incoming webhooks.

https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks Only blocks supported in messages are accepted. Markdown block text is limited to 12,000 characters, and data table cell text to 20,000 characters, across the whole message. At most two data visualization blocks may be sent per message, across blocks and attachments after helper expansion (message.data_visualizations.max_items).

type Slackblocks.Models.WebhookMessage :: *

WebhookMessageFields​

Editable construction input. Call buildWebhookMessage before encoding.

Slackblocks.Models.WebhookMessageFields ::
Maybe [Slackblocks.Models.Block]
-> Maybe [Slackblocks.Models.Attachment]
-> Maybe Data.Text.Text
-> Maybe Slackblocks.Models.ResponseType
-> Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> Maybe (Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value)
-> Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value
-> Slackblocks.Models.WebhookMessageFields

type Slackblocks.Models.WebhookMessageFields :: *

attachment​

Start editable fields for Attachment; required arguments follow the signature. Optional fields start absent except the explicit shared defaults; no block ID is invented. Finish with buildAttachment to validate before JSON encoding.

Slackblocks.Models.attachment ::
[Slackblocks.Models.Block] -> Slackblocks.Models.AttachmentFields

attachmentBlocks​

Adds the attachment's blocks in display order. Required.

Slackblocks.Models.attachmentBlocks ::
Slackblocks.Models.AttachmentFields -> [Slackblocks.Models.Block]

attachmentColor​

Sets the attachment's left border color: a six-digit hex color or good, warning, or danger. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.attachmentColor ::
Slackblocks.Models.AttachmentFields -> Maybe Data.Text.Text

attachmentExtensions​

Unmodeled extension fields. Reserved and modeled keys are rejected.

Slackblocks.Models.attachmentExtensions ::
Slackblocks.Models.AttachmentFields
-> Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value

attachmentFallback​

Sets plain-text summary shown in clients that cannot display attachments. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.attachmentFallback ::
Slackblocks.Models.AttachmentFields -> Maybe Data.Text.Text

buildAttachment​

Validate fields, extensions and receiving context. Return structured errors or a checked Attachment.

Slackblocks.Models.buildAttachment ::
Slackblocks.Models.AttachmentFields
-> Slackblocks.Validation.Result Slackblocks.Models.Attachment

buildHomeTabView​

Validate fields, extensions and receiving context. Return structured errors or a checked HomeTabView.

Slackblocks.Models.buildHomeTabView ::
Slackblocks.Models.HomeTabViewFields
-> Slackblocks.Validation.Result Slackblocks.Models.HomeTabView

buildMessagePayload​

Validate fields, extensions and receiving context. Return structured errors or a checked MessagePayload.

Slackblocks.Models.buildMessagePayload ::
Slackblocks.Models.MessagePayloadFields
-> Slackblocks.Validation.Result Slackblocks.Models.MessagePayload

buildMessageResponse​

Validate fields, extensions and receiving context. Return structured errors or a checked MessageResponse.

Slackblocks.Models.buildMessageResponse ::
Slackblocks.Models.MessageResponseFields
-> Slackblocks.Validation.Result Slackblocks.Models.MessageResponse

buildModalView​

Validate fields, extensions and receiving context. Return structured errors or a checked ModalView.

Slackblocks.Models.buildModalView ::
Slackblocks.Models.ModalViewFields
-> Slackblocks.Validation.Result Slackblocks.Models.ModalView

buildWebhookMessage​

Validate fields, extensions and receiving context. Return structured errors or a checked WebhookMessage.

Slackblocks.Models.buildWebhookMessage ::
Slackblocks.Models.WebhookMessageFields
-> Slackblocks.Validation.Result Slackblocks.Models.WebhookMessage

homeTabView​

Start editable fields for HomeTabView; required arguments follow the signature. Optional fields start absent except the explicit shared defaults; no block ID is invented. Finish with buildHomeTabView to validate before JSON encoding.

Slackblocks.Models.homeTabView ::
[Slackblocks.Models.Block] -> Slackblocks.Models.HomeTabViewFields

homeTabViewBlocks​

Adds the blocks shown on the App Home tab, in display order. Required. Shared limit: view.blocks.

Slackblocks.Models.homeTabViewBlocks ::
Slackblocks.Models.HomeTabViewFields -> [Slackblocks.Models.Block]

homeTabViewCallbackId​

Sets an identifier returned in view payloads so your app can recognize the view. Optional; Nothing omits the field. Factory default: Nothing. Shared limit: view.callback_id.

Slackblocks.Models.homeTabViewCallbackId ::
Slackblocks.Models.HomeTabViewFields -> Maybe Data.Text.Text

homeTabViewExtensions​

Unmodeled extension fields. Reserved and modeled keys are rejected.

Slackblocks.Models.homeTabViewExtensions ::
Slackblocks.Models.HomeTabViewFields
-> Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value

homeTabViewExternalId​

Sets a workspace-unique identifier you can use to update the view later. Optional; Nothing omits the field. Factory default: Nothing. Shared limit: view.external_id.

Slackblocks.Models.homeTabViewExternalId ::
Slackblocks.Models.HomeTabViewFields -> Maybe Data.Text.Text

homeTabViewPrivateMetadata​

Sets application-defined data returned in view payloads. Optional; Nothing omits the field. Factory default: Nothing. Shared limit: view.private_metadata.

Slackblocks.Models.homeTabViewPrivateMetadata ::
Slackblocks.Models.HomeTabViewFields -> Maybe Data.Text.Text

inspectAttachment​

Inspect immutable construction fields. Rebuild edits with buildAttachment to revalidate.

Slackblocks.Models.inspectAttachment ::
Slackblocks.Models.Attachment
-> Slackblocks.Models.AttachmentFields

inspectHomeTabView​

Inspect immutable construction fields. Rebuild edits with buildHomeTabView to revalidate.

Slackblocks.Models.inspectHomeTabView ::
Slackblocks.Models.HomeTabView
-> Slackblocks.Models.HomeTabViewFields

inspectMessagePayload​

Inspect immutable construction fields. Rebuild edits with buildMessagePayload to revalidate.

Slackblocks.Models.inspectMessagePayload ::
Slackblocks.Models.MessagePayload
-> Slackblocks.Models.MessagePayloadFields

inspectMessageResponse​

Inspect immutable construction fields. Rebuild edits with buildMessageResponse to revalidate.

Slackblocks.Models.inspectMessageResponse ::
Slackblocks.Models.MessageResponse
-> Slackblocks.Models.MessageResponseFields

inspectModalView​

Inspect immutable construction fields. Rebuild edits with buildModalView to revalidate.

Slackblocks.Models.inspectModalView ::
Slackblocks.Models.ModalView -> Slackblocks.Models.ModalViewFields

inspectWebhookMessage​

Inspect immutable construction fields. Rebuild edits with buildWebhookMessage to revalidate.

Slackblocks.Models.inspectWebhookMessage ::
Slackblocks.Models.WebhookMessage
-> Slackblocks.Models.WebhookMessageFields

messagePayload​

Start editable fields for MessagePayload; required arguments follow the signature. Optional fields start absent except the explicit shared defaults; no block ID is invented. Finish with buildMessagePayload to validate before JSON encoding.

Slackblocks.Models.messagePayload ::
Data.Text.Text -> Slackblocks.Models.MessagePayloadFields

messagePayloadAttachments​

Adds legacy attachments in display order. Optional; Nothing omits the field. Factory default: Nothing. Shared limit: message.attachments.

Slackblocks.Models.messagePayloadAttachments ::
Slackblocks.Models.MessagePayloadFields
-> Maybe [Slackblocks.Models.Attachment]

messagePayloadBlocks​

Adds the message blocks in display order. Optional; Nothing omits the field. Factory default: Nothing. Shared limit: message.blocks.

Slackblocks.Models.messagePayloadBlocks ::
Slackblocks.Models.MessagePayloadFields
-> Maybe [Slackblocks.Models.Block]

messagePayloadChannel​

Sets the ID of the channel, private group, or conversation that receives the message. Required. Shared limit: message.channel.

Slackblocks.Models.messagePayloadChannel ::
Slackblocks.Models.MessagePayloadFields -> Data.Text.Text

messagePayloadExtensions​

Unmodeled extension fields. Reserved and modeled keys are rejected.

Slackblocks.Models.messagePayloadExtensions ::
Slackblocks.Models.MessagePayloadFields
-> Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value

messagePayloadMetadata​

Sets message metadata as a JSON-compatible map, such as event_type and event_payload. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.messagePayloadMetadata ::
Slackblocks.Models.MessagePayloadFields
-> Maybe (Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value)

messagePayloadMrkdwn​

Sets whether Slack formats the top-level text as mrkdwn. Optional; Nothing omits the field. Factory default: Just (True).

Slackblocks.Models.messagePayloadMrkdwn ::
Slackblocks.Models.MessagePayloadFields -> Maybe Bool

messagePayloadText​

Sets the fallback text used in notifications and by clients that cannot display blocks. Optional; Nothing omits the field. Factory default: Just ("").

Slackblocks.Models.messagePayloadText ::
Slackblocks.Models.MessagePayloadFields -> Maybe Data.Text.Text

Sets whether Slack unfurls text-based links. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.messagePayloadUnfurlLinks ::
Slackblocks.Models.MessagePayloadFields -> Maybe Bool

messagePayloadUnfurlMedia​

Sets whether Slack unfurls media links. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.messagePayloadUnfurlMedia ::
Slackblocks.Models.MessagePayloadFields -> Maybe Bool

messageResponse​

Start editable fields for MessageResponse; required arguments follow the signature. Optional fields start absent except the explicit shared defaults; no block ID is invented. Finish with buildMessageResponse to validate before JSON encoding.

Slackblocks.Models.messageResponse ::
Slackblocks.Models.MessageResponseFields

messageResponseAttachments​

Adds legacy attachments in display order. Optional; Nothing omits the field. Factory default: Nothing. Shared limit: message.attachments.

Slackblocks.Models.messageResponseAttachments ::
Slackblocks.Models.MessageResponseFields
-> Maybe [Slackblocks.Models.Attachment]

messageResponseBlocks​

Adds the response blocks in display order. Optional; Nothing omits the field. Factory default: Nothing. Shared limit: message.blocks.

Slackblocks.Models.messageResponseBlocks ::
Slackblocks.Models.MessageResponseFields
-> Maybe [Slackblocks.Models.Block]

messageResponseExtensions​

Unmodeled extension fields. Reserved and modeled keys are rejected.

Slackblocks.Models.messageResponseExtensions ::
Slackblocks.Models.MessageResponseFields
-> Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value

messageResponseMrkdwn​

Sets whether Slack formats the top-level text as mrkdwn. Optional; Nothing omits the field. Factory default: Just (True).

Slackblocks.Models.messageResponseMrkdwn ::
Slackblocks.Models.MessageResponseFields -> Maybe Bool

messageResponseReplaceOriginal​

Sets whether the response replaces the message that triggered it. Optional; Nothing omits the field. Factory default: Just (False).

Slackblocks.Models.messageResponseReplaceOriginal ::
Slackblocks.Models.MessageResponseFields -> Maybe Bool

messageResponseResponseType​

Sets who can see the response. Optional; Nothing omits the field. Factory default: Just (ResponseTypeInChannel).

Slackblocks.Models.messageResponseResponseType ::
Slackblocks.Models.MessageResponseFields
-> Maybe Slackblocks.Models.ResponseType

messageResponseText​

Sets the fallback text used in notifications and by clients that cannot display blocks. Optional; Nothing omits the field. Factory default: Just ("").

Slackblocks.Models.messageResponseText ::
Slackblocks.Models.MessageResponseFields -> Maybe Data.Text.Text

modalView​

Start editable fields for ModalView; required arguments follow the signature. Optional fields start absent except the explicit shared defaults; no block ID is invented. Finish with buildModalView to validate before JSON encoding.

Slackblocks.Models.modalView ::
Slackblocks.Models.PlainText
-> [Slackblocks.Models.Block] -> Slackblocks.Models.ModalViewFields

modalViewBlocks​

Adds the blocks shown in the modal, in display order. Required. Shared limit: view.blocks.

Slackblocks.Models.modalViewBlocks ::
Slackblocks.Models.ModalViewFields -> [Slackblocks.Models.Block]

modalViewCallbackId​

Sets an identifier returned in view payloads so your app can recognize the view. Optional; Nothing omits the field. Factory default: Nothing. Shared limit: view.callback_id.

Slackblocks.Models.modalViewCallbackId ::
Slackblocks.Models.ModalViewFields -> Maybe Data.Text.Text

modalViewClearOnClose​

Sets whether closing this modal closes every view in its stack. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.modalViewClearOnClose ::
Slackblocks.Models.ModalViewFields -> Maybe Bool

modalViewClose​

Sets the label of the button that closes the modal. Optional; Nothing omits the field. Factory default: Nothing. Shared limit: view.close.

Slackblocks.Models.modalViewClose ::
Slackblocks.Models.ModalViewFields
-> Maybe Slackblocks.Models.PlainText

modalViewExtensions​

Unmodeled extension fields. Reserved and modeled keys are rejected.

Slackblocks.Models.modalViewExtensions ::
Slackblocks.Models.ModalViewFields
-> Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value

modalViewExternalId​

Sets a workspace-unique identifier you can use to update the view later. Optional; Nothing omits the field. Factory default: Nothing. Shared limit: view.external_id.

Slackblocks.Models.modalViewExternalId ::
Slackblocks.Models.ModalViewFields -> Maybe Data.Text.Text

modalViewNotifyOnClose​

Sets whether Slack sends a view_closed event when the user closes the modal. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.modalViewNotifyOnClose ::
Slackblocks.Models.ModalViewFields -> Maybe Bool

modalViewPrivateMetadata​

Sets application-defined data returned in view payloads. Optional; Nothing omits the field. Factory default: Nothing. Shared limit: view.private_metadata.

Slackblocks.Models.modalViewPrivateMetadata ::
Slackblocks.Models.ModalViewFields -> Maybe Data.Text.Text

modalViewSubmit​

Sets the label of the button that submits the modal. Optional; Nothing omits the field. Factory default: Nothing. Shared limit: view.submit.

Slackblocks.Models.modalViewSubmit ::
Slackblocks.Models.ModalViewFields
-> Maybe Slackblocks.Models.PlainText

modalViewSubmitDisabled​

Sets whether the submit button starts disabled in workflow configuration modals only. Omit this field for ordinary views.open/views.push modals, including when false. The general ModalView value cannot infer its receiving workflow context. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.modalViewSubmitDisabled ::
Slackblocks.Models.ModalViewFields -> Maybe Bool

modalViewTitle​

Sets the title in the modal's top bar. Required. Shared limit: view.title.

Slackblocks.Models.modalViewTitle ::
Slackblocks.Models.ModalViewFields -> Slackblocks.Models.PlainText

webhookMessage​

Start editable fields for WebhookMessage; required arguments follow the signature. Optional fields start absent except the explicit shared defaults; no block ID is invented. Finish with buildWebhookMessage to validate before JSON encoding.

Slackblocks.Models.webhookMessage ::
Slackblocks.Models.WebhookMessageFields

webhookMessageAttachments​

Adds legacy attachments in display order. Optional; Nothing omits the field. Factory default: Nothing. Shared limit: message.attachments.

Slackblocks.Models.webhookMessageAttachments ::
Slackblocks.Models.WebhookMessageFields
-> Maybe [Slackblocks.Models.Attachment]

webhookMessageBlocks​

Adds the message blocks in display order. Optional; Nothing omits the field. Factory default: Nothing. Shared limit: message.blocks.

Slackblocks.Models.webhookMessageBlocks ::
Slackblocks.Models.WebhookMessageFields
-> Maybe [Slackblocks.Models.Block]

webhookMessageDeleteOriginal​

Sets whether the response deletes the message that triggered it. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.webhookMessageDeleteOriginal ::
Slackblocks.Models.WebhookMessageFields -> Maybe Bool

webhookMessageExtensions​

Unmodeled extension fields. Reserved and modeled keys are rejected.

Slackblocks.Models.webhookMessageExtensions ::
Slackblocks.Models.WebhookMessageFields
-> Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value

webhookMessageMetadata​

Sets message metadata as a JSON-compatible map, such as event_type and event_payload. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.webhookMessageMetadata ::
Slackblocks.Models.WebhookMessageFields
-> Maybe (Data.Map.Strict.Map Data.Text.Text Data.Aeson.Value)

webhookMessageReplaceOriginal​

Sets whether the response replaces the message that triggered it. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.webhookMessageReplaceOriginal ::
Slackblocks.Models.WebhookMessageFields -> Maybe Bool

webhookMessageResponseType​

Sets who can see the response. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.webhookMessageResponseType ::
Slackblocks.Models.WebhookMessageFields
-> Maybe Slackblocks.Models.ResponseType

webhookMessageText​

Sets the fallback text used in notifications and by clients that cannot display blocks. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.webhookMessageText ::
Slackblocks.Models.WebhookMessageFields -> Maybe Data.Text.Text

Sets whether Slack unfurls text-based links. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.webhookMessageUnfurlLinks ::
Slackblocks.Models.WebhookMessageFields -> Maybe Bool

webhookMessageUnfurlMedia​

Sets whether Slack unfurls media links. Optional; Nothing omits the field. Factory default: Nothing.

Slackblocks.Models.webhookMessageUnfurlMedia ::
Slackblocks.Models.WebhookMessageFields -> Maybe Bool