{
  "$id": "https://intentschema.org/profiles/com.slack/communication.chat.message.send.v1.json",
  "id": "org.intentschema.communication.chat.message.send.v1@com.slack.v1",
  "pins": "https://intentschema.org/intents/communication/chat/message/send/v1.json",
  "title": "Slack chat message send profile",
  "description": "Profile for posting messages via the Slack Web API (chat.postMessage). Adds Slack-specific block kit and formatting.",
  "constraints": {
    "properties": {
      "target": {
        "properties": {
          "system": {
            "const": "slack"
          }
        },
        "required": [
          "system"
        ]
      },
      "object": {
        "properties": {
          "channel_id": {
            "type": "string",
            "description": "Slack channel id (`C\u2026`/`G\u2026`/`D\u2026`) or user id for DM."
          }
        },
        "required": [
          "channel_id"
        ]
      },
      "slack": {
        "type": "object",
        "properties": {
          "blocks": {
            "type": "array",
            "description": "Slack Block Kit array."
          },
          "unfurl_links": {
            "type": "boolean"
          },
          "unfurl_media": {
            "type": "boolean"
          },
          "icon_emoji": {
            "type": "string"
          }
        }
      }
    }
  },
  "api": {
    "method": "POST",
    "path": "/api/chat.postMessage",
    "scopes": [
      "chat:write"
    ],
    "docs": "https://api.slack.com/methods/chat.postMessage",
    "params": {
      "object.channel_id": "channel",
      "object.text": "text",
      "object.thread_id": "thread_ts",
      "object.attachments": "attachments[] or blocks[] with file references",
      "slack.blocks": "blocks[] (Block Kit array)",
      "slack.unfurl_links": "unfurl_links",
      "slack.unfurl_media": "unfurl_media",
      "slack.icon_emoji": "icon_emoji"
    },
    "base_url": "https://slack.com"
  }
}
