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
messagePayloadUnfurlLinks
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
webhookMessageUnfurlLinks
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