{
  "name": "drawer-discord",
  "kind": "block",
  "primary": "drawer-ui",
  "page": "/apps/saas/app/integrations/integrations.contents.html",
  "slots": [],
  "nested": [],
  "attrs": {
    "side": "right",
    "size": "md"
  },
  "html": "<drawer-ui id=\"drawer-discord\" side=\"right\" size=\"md\">\n  <header>\n    <span slot=\"icon\">\n      <avatar-ui icon=\"discord-logo\"></avatar-ui>\n    </span>\n    <span slot=\"heading\">\n      <text-ui strong>Discord</text-ui>\n    </span>\n    <span slot=\"action\"></span>\n  </header>\n  <section>\n    <text-ui color=\"subtle\" size=\"sm\">Post notifications to a channel via webhook</text-ui>\n  </section>\n  <section>\n    <col-ui gap=\"4\">\n      <alert-ui\n        variant=\"info\"\n        icon=\"info\"\n        text=\"Create a webhook in your Discord server (Server Settings → Integrations → Webhooks) and paste the URL below.\"\n      ></alert-ui>\n      <divider-ui></divider-ui>\n      <field-ui label=\"Webhook URL\" hint=\"Anyone with this URL can post to the channel. Store it securely.\">\n        <input-ui placeholder=\"https://discord.com/api/webhooks/987654321/abc…\"></input-ui>\n      </field-ui>\n      <row-ui gap=\"2\">\n        <field-ui label=\"Server name\">\n          <input-ui value=\"Acme Community\" readonly grow></input-ui>\n        </field-ui>\n        <field-ui label=\"Guild ID\">\n          <input-ui value=\"1041998742135308288\" readonly grow></input-ui>\n        </field-ui>\n      </row-ui>\n      <field-ui label=\"Target channel\" hint=\"Auto-discovered from the webhook URL.\">\n        <select-ui value=\"deploys\">\n          <option value=\"general\">#general (8,420 members)</option>\n          <option value=\"announcements\">#announcements (8,420 members)</option>\n          <option value=\"deploys\">#deploys (42 members)</option>\n          <option value=\"alerts\">#alerts (18 members)</option>\n          <option value=\"support\">#support (1,284 members)</option>\n          <option value=\"releases\">#releases (8,420 members)</option>\n        </select-ui>\n      </field-ui>\n      <divider-ui></divider-ui>\n      <col-ui gap=\"3\">\n        <text-ui strong>Post when…</text-ui>\n        <field-ui label=\"Someone mentions @Acme\" inline>\n          <switch-ui checked></switch-ui>\n        </field-ui>\n        <field-ui label=\"A deploy succeeds\" inline>\n          <switch-ui></switch-ui>\n        </field-ui>\n        <field-ui label=\"A deploy fails\" inline>\n          <switch-ui checked></switch-ui>\n        </field-ui>\n        <field-ui label=\"A release is published\" inline>\n          <switch-ui checked></switch-ui>\n        </field-ui>\n        <field-ui label=\"An incident is opened\" inline>\n          <switch-ui></switch-ui>\n        </field-ui>\n        <field-ui label=\"Daily summary at 9:00 AM\" inline>\n          <switch-ui></switch-ui>\n        </field-ui>\n      </col-ui>\n      <divider-ui></divider-ui>\n      <col-ui gap=\"3\">\n        <text-ui strong>Appearance</text-ui>\n        <field-ui label=\"Bot display name\">\n          <input-ui value=\"Acme\"></input-ui>\n        </field-ui>\n        <field-ui label=\"Bot avatar URL\">\n          <input-ui value=\"https://acme.com/bot-avatar.png\" placeholder=\"https://…\"></input-ui>\n        </field-ui>\n        <field-ui label=\"Embed style\">\n          <select-ui value=\"rich\">\n            <option value=\"plain\">Plain text</option>\n            <option value=\"rich\">Rich embed (recommended)</option>\n            <option value=\"compact\">Compact one-line</option>\n          </select-ui>\n        </field-ui>\n      </col-ui>\n    </col-ui>\n  </section>\n  <footer slot=\"footer\">\n    <grid-ui>\n      <button-ui text=\"Send test message\" icon=\"paper-plane-tilt\" variant=\"ghost\"></button-ui>\n      <button-ui text=\"Connect\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n    </grid-ui>\n  </footer>\n</drawer-ui>",
  "source": "apps/saas/app/integrations/integrations.contents.html",
  "metadata": {
    "domain": "settings",
    "description": "Discord integration setup drawer — connect Discord workspace for notifications.",
    "keywords": [
      "drawer",
      "discord",
      "integration",
      "connect",
      "bot",
      "notifications",
      "setup"
    ]
  },
  "captured_at": "2026-06-07T19:28:13.657Z",
  "template": [
    {
      "id": "avatar",
      "component": "Avatar",
      "icon": "discord-logo"
    },
    {
      "id": "text",
      "component": "Text",
      "variant": "body",
      "slot": "icon",
      "children": [
        "avatar"
      ]
    },
    {
      "id": "text-3",
      "component": "Text",
      "strong": true,
      "textContent": "Discord"
    },
    {
      "id": "text-2",
      "component": "Text",
      "variant": "body",
      "slot": "heading",
      "children": [
        "text-3"
      ]
    },
    {
      "id": "text-4",
      "component": "Text",
      "variant": "body",
      "slot": "action"
    },
    {
      "id": "header",
      "component": "Header",
      "children": [
        "text",
        "text-2",
        "text-4"
      ]
    },
    {
      "id": "text-5",
      "component": "Text",
      "color": "subtle",
      "size": "sm",
      "textContent": "Post notifications to a channel via webhook"
    },
    {
      "id": "section",
      "component": "Section",
      "children": [
        "text-5"
      ]
    },
    {
      "id": "alert",
      "component": "Alert",
      "icon": "info",
      "text": "Create a webhook in your Discord server (Server Settings → Integrations → Webhooks) and paste the URL below.",
      "variant": "info"
    },
    {
      "id": "divider",
      "component": "Divider"
    },
    {
      "id": "input",
      "component": "Input",
      "placeholder": "https://discord.com/api/webhooks/987654321/abc…"
    },
    {
      "id": "field",
      "component": "Field",
      "hint": "Anyone with this URL can post to the channel. Store it securely.",
      "label": "Webhook URL",
      "children": [
        "input"
      ]
    },
    {
      "id": "input-2",
      "component": "Input",
      "readonly": true,
      "value": "Acme Community"
    },
    {
      "id": "field-2",
      "component": "Field",
      "label": "Server name",
      "children": [
        "input-2"
      ]
    },
    {
      "id": "input-3",
      "component": "Input",
      "readonly": true,
      "value": "1041998742135308288"
    },
    {
      "id": "field-3",
      "component": "Field",
      "label": "Guild ID",
      "children": [
        "input-3"
      ]
    },
    {
      "id": "row",
      "component": "Row",
      "gap": "2",
      "children": [
        "field-2",
        "field-3"
      ]
    },
    {
      "id": "choice-picker",
      "component": "ChoicePicker",
      "value": "deploys",
      "options": [
        {
          "value": "general",
          "label": "#general (8,420 members)"
        },
        {
          "value": "announcements",
          "label": "#announcements (8,420 members)"
        },
        {
          "value": "deploys",
          "label": "#deploys (42 members)"
        },
        {
          "value": "alerts",
          "label": "#alerts (18 members)"
        },
        {
          "value": "support",
          "label": "#support (1,284 members)"
        },
        {
          "value": "releases",
          "label": "#releases (8,420 members)"
        }
      ]
    },
    {
      "id": "field-4",
      "component": "Field",
      "hint": "Auto-discovered from the webhook URL.",
      "label": "Target channel",
      "children": [
        "choice-picker"
      ]
    },
    {
      "id": "divider-2",
      "component": "Divider"
    },
    {
      "id": "text-6",
      "component": "Text",
      "strong": true,
      "textContent": "Post when…"
    },
    {
      "id": "toggle",
      "component": "Toggle",
      "checked": true
    },
    {
      "id": "field-5",
      "component": "Field",
      "inline": true,
      "label": "Someone mentions @Acme",
      "children": [
        "toggle"
      ]
    },
    {
      "id": "toggle-2",
      "component": "Toggle"
    },
    {
      "id": "field-6",
      "component": "Field",
      "inline": true,
      "label": "A deploy succeeds",
      "children": [
        "toggle-2"
      ]
    },
    {
      "id": "toggle-3",
      "component": "Toggle",
      "checked": true
    },
    {
      "id": "field-7",
      "component": "Field",
      "inline": true,
      "label": "A deploy fails",
      "children": [
        "toggle-3"
      ]
    },
    {
      "id": "toggle-4",
      "component": "Toggle",
      "checked": true
    },
    {
      "id": "field-8",
      "component": "Field",
      "inline": true,
      "label": "A release is published",
      "children": [
        "toggle-4"
      ]
    },
    {
      "id": "toggle-5",
      "component": "Toggle"
    },
    {
      "id": "field-9",
      "component": "Field",
      "inline": true,
      "label": "An incident is opened",
      "children": [
        "toggle-5"
      ]
    },
    {
      "id": "toggle-6",
      "component": "Toggle"
    },
    {
      "id": "field-10",
      "component": "Field",
      "inline": true,
      "label": "Daily summary at 9:00 AM",
      "children": [
        "toggle-6"
      ]
    },
    {
      "id": "column-2",
      "component": "Column",
      "gap": "3",
      "children": [
        "text-6",
        "field-5",
        "field-6",
        "field-7",
        "field-8",
        "field-9",
        "field-10"
      ]
    },
    {
      "id": "divider-3",
      "component": "Divider"
    },
    {
      "id": "text-7",
      "component": "Text",
      "strong": true,
      "textContent": "Appearance"
    },
    {
      "id": "input-4",
      "component": "Input",
      "value": "Acme"
    },
    {
      "id": "field-11",
      "component": "Field",
      "label": "Bot display name",
      "children": [
        "input-4"
      ]
    },
    {
      "id": "input-5",
      "component": "Input",
      "placeholder": "https://…",
      "value": "https://acme.com/bot-avatar.png"
    },
    {
      "id": "field-12",
      "component": "Field",
      "label": "Bot avatar URL",
      "children": [
        "input-5"
      ]
    },
    {
      "id": "choice-picker-2",
      "component": "ChoicePicker",
      "value": "rich",
      "options": [
        {
          "value": "plain",
          "label": "Plain text"
        },
        {
          "value": "rich",
          "label": "Rich embed (recommended)"
        },
        {
          "value": "compact",
          "label": "Compact one-line"
        }
      ]
    },
    {
      "id": "field-13",
      "component": "Field",
      "label": "Embed style",
      "children": [
        "choice-picker-2"
      ]
    },
    {
      "id": "column-3",
      "component": "Column",
      "gap": "3",
      "children": [
        "text-7",
        "field-11",
        "field-12",
        "field-13"
      ]
    },
    {
      "id": "column",
      "component": "Column",
      "gap": "4",
      "children": [
        "alert",
        "divider",
        "field",
        "row",
        "field-4",
        "divider-2",
        "column-2",
        "divider-3",
        "column-3"
      ]
    },
    {
      "id": "section-2",
      "component": "Section",
      "children": [
        "column"
      ]
    },
    {
      "id": "button",
      "component": "Button",
      "icon": "paper-plane-tilt",
      "text": "Send test message",
      "variant": "ghost"
    },
    {
      "id": "button-2",
      "component": "Button",
      "text": "Connect",
      "variant": "primary"
    },
    {
      "id": "grid",
      "component": "Grid",
      "children": [
        "button",
        "button-2"
      ]
    },
    {
      "id": "footer",
      "component": "Footer",
      "slot": "footer",
      "children": [
        "grid"
      ]
    },
    {
      "id": "root",
      "component": "Drawer",
      "side": "right",
      "size": "md",
      "children": [
        "header",
        "section",
        "section-2",
        "footer"
      ]
    }
  ]
}
