{
  "workflow_name": "Summarize new pull requests with AI and post the digest to Slack",
  "workflow_steps": {
    "steps": [
      {
        "id": "1",
        "position": {
          "x": 0,
          "y": 0
        },
        "data": {
          "label": "New Pull Request",
          "app": {
            "key": "github",
            "fm_app": "github"
          },
          "eventSlug": "new_pull_request",
          "eventTitle": "New / Updated Pull Request",
          "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": "github",
        "stepID": "1",
        "action": "new_pull_request",
        "nodeType": "step",
        "actionAppArgs": [],
        "captureResponse": {
          "action": "opened",
          "pull_request": {
            "number": 128,
            "title": "Add dark mode",
            "body": "Implements the theme toggle.",
            "html_url": "https://github.com/acme/app/pull/128",
            "user": {
              "login": "devjane"
            },
            "additions": 640,
            "deletions": 30
          },
          "repository": {
            "full_name": "acme/app"
          }
        },
        "responses": [
          {
            "letter": "A",
            "time": "01/07/2026, 10:00:00",
            "response": {
              "action": "opened",
              "pull_request": {
                "number": 128,
                "title": "Add dark mode",
                "body": "Implements the theme toggle.",
                "html_url": "https://github.com/acme/app/pull/128",
                "user": {
                  "login": "devjane"
                },
                "additions": 640,
                "deletions": 30
              },
              "repository": {
                "full_name": "acme/app"
              }
            }
          }
        ],
        "activeResponseIndex": 0
      },
      {
        "id": "2",
        "position": {
          "x": 175,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "AI Agent by FlowMattic",
          "layoutDirection": "horizontal",
          "stepNumber": 2,
          "stepIndex": 2,
          "app": {
            "key": "ai_agent",
            "fm_app": "ai_agent"
          },
          "eventSlug": "execute_agent",
          "eventTitle": "Execute Agent"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 350,
          "height": 82
        },
        "actionAppArgs": {
          "system_prompt": "You summarize GitHub pull requests for a busy engineering team. Write a concise, plain-language summary of what the PR changes and why, then post it to Slack.",
          "user_input": "PR #{github1.pull_request.number}: {github1.pull_request.title}\n\n{github1.pull_request.body}",
          "output_format": "text",
          "application": "ai_agent",
          "responseViewType": "on",
          "include_execution_log": "",
          "include_request_body": ""
        },
        "application": "ai_agent",
        "stepID": "2",
        "nodeType": "aiAgent",
        "agent_config": {
          "chat_model": {
            "connect_id": "",
            "model_id": "gpt-4o",
            "model_name": "GPT-4o",
            "provider": "openai",
            "max_tokens": "1024",
            "temperature": "0.7",
            "top_p": "1",
            "top_k": "0",
            "frequency_penalty": "0",
            "presence_penalty": "0",
            "nodeId": "2-chatModel",
            "position": {
              "x": 215,
              "y": 172
            }
          },
          "tools": [
            {
              "app": "slack",
              "app_name": "Slack",
              "app_icon": "",
              "action": "send_message_to_channel",
              "action_title": "Send Channel Message",
              "tool_name": "Slack - Send Channel Message",
              "tool_description": "Post the summary to the review channel",
              "actionAppArgs": {
                "message_text": "AI:"
              },
              "configured": true,
              "sourceNodeId": "2-tool"
            }
          ]
        }
      },
      {
        "id": "main_end_placeholder",
        "position": {
          "x": 350,
          "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-main_end_placeholder",
        "source": "2",
        "target": "main_end_placeholder",
        "type": "placeholder",
        "data": []
      }
    ]
  },
  "workflow_settings": {
    "name": "Summarize new pull requests with AI and post the digest to Slack",
    "folder": "all",
    "description": "Let an AI agent read each new pull request and post a plain-language summary to Slack, so reviewers know what changed before they open the diff.",
    "status": "off",
    "user_email": "",
    "webhook_queue": "disabled",
    "workflow_auth_key": "",
    "builder_version": "v2",
    "time": "",
    "ai_generated": "yes"
  }
}