{
  "workflow_name": "Post emails received by Email Parser to a Discord channel",
  "workflow_steps": {
    "steps": [
      {
        "id": "1",
        "position": {
          "x": 0,
          "y": 0
        },
        "data": {
          "label": "Email Received (v2)",
          "app": {
            "key": "email_parser",
            "fm_app": "email_parser"
          },
          "eventSlug": "email_received_v2",
          "eventTitle": "Email Received (v2)",
          "layoutDirection": "horizontal",
          "stepNumber": 1
        },
        "targetPosition": "bottom",
        "type": "trigger",
        "stepNumber": 1,
        "expanded": true,
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "application": "email_parser",
        "stepID": "1",
        "action": "email_received_v2",
        "nodeType": "step",
        "actionAppArgs": [],
        "captureResponse": {
          "from_name": "Uptime Monitor",
          "from_email": "alerts@example.com",
          "to_email": "a1b2c3d4e5zxhhbxbszs5jb20@fmparser.work",
          "subject": "[Down] api.example.com is not responding",
          "message_text": "Monitor api.example.com has been down since 09:41 UTC. Last response: 503 Service Unavailable.",
          "message_html": "<p>Monitor api.example.com has been down since 09:41 UTC.</p>",
          "date": "Thu, 22 Oct 2026 09:42:10 +0000",
          "message_id": "<20261022094210.4821@example.com>"
        },
        "responses": [
          {
            "letter": "A",
            "time": "01/07/2026, 10:00:00",
            "response": {
              "from_name": "Uptime Monitor",
              "from_email": "alerts@example.com",
              "to_email": "a1b2c3d4e5zxhhbxbszs5jb20@fmparser.work",
              "subject": "[Down] api.example.com is not responding",
              "message_text": "Monitor api.example.com has been down since 09:41 UTC. Last response: 503 Service Unavailable.",
              "message_html": "<p>Monitor api.example.com has been down since 09:41 UTC.</p>",
              "date": "Thu, 22 Oct 2026 09:42:10 +0000",
              "message_id": "<20261022094210.4821@example.com>"
            }
          }
        ],
        "activeResponseIndex": 0
      },
      {
        "id": "2",
        "position": {
          "x": 175,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "Trim the email body",
          "layoutDirection": "horizontal",
          "stepNumber": 2,
          "app": {
            "key": "text_formatter",
            "fm_app": "text_formatter"
          },
          "eventSlug": "truncate",
          "eventTitle": "Truncate"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "content": "{email_parser1.message_text}",
          "max_length": "1500",
          "append_ellipsis": "yes"
        },
        "application": "text_formatter",
        "action": "truncate",
        "nodeType": "step",
        "stepID": "2"
      },
      {
        "id": "3",
        "position": {
          "x": 350,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "Post the email to Discord",
          "layoutDirection": "horizontal",
          "stepNumber": 3,
          "app": {
            "key": "discord",
            "fm_app": "discord"
          },
          "eventSlug": "channel_message",
          "eventTitle": "Send Channel Message"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "message": "**{email_parser1.subject}**\nFrom: {email_parser1.from_name} <{email_parser1.from_email}>\n\n{text_formatter2.value}"
        },
        "application": "discord",
        "action": "channel_message",
        "nodeType": "step",
        "stepID": "3"
      },
      {
        "id": "main_end_placeholder",
        "position": {
          "x": 525,
          "y": 0
        },
        "type": "placeholder",
        "data": {
          "label": "+",
          "layoutDirection": "horizontal",
          "stepNumber": null,
          "app": []
        },
        "measured": {
          "width": 40,
          "height": 82
        },
        "stepID": "main_end_placeholder",
        "nodeType": "placeholder",
        "actionAppArgs": []
      }
    ],
    "edges": [
      {
        "id": "e-1-2",
        "source": "1",
        "target": "2",
        "type": "step",
        "data": []
      },
      {
        "id": "e-2-3",
        "source": "2",
        "target": "3",
        "type": "step",
        "data": []
      },
      {
        "id": "e-3-main_end_placeholder",
        "source": "3",
        "target": "main_end_placeholder",
        "type": "placeholder",
        "data": []
      }
    ]
  },
  "workflow_settings": {
    "name": "Post emails received by Email Parser to a Discord channel",
    "folder": "all",
    "description": "Forward alerts, orders or support mail to your Email Parser address and each one is posted to a Discord channel with its sender and subject. The body is trimmed so long emails stay under Discord's message limit. After import, copy the Email Parser address into your forwarding rule and pick the Discord channel.",
    "status": "off",
    "user_email": "",
    "webhook_queue": "disabled",
    "workflow_auth_key": "",
    "builder_version": "v2",
    "time": "",
    "ai_generated": "yes"
  }
}