{
  "name": "FlowPantry - ai-review-reply-drafts",
  "flow": [
    {
      "id": 1,
      "module": "http:ActionSendData",
      "version": 3,
      "parameters": {},
      "mapper": {
        "url": "REVIEWS_URL",
        "method": "get",
        "headers": [],
        "qs": [],
        "serializeUrl": false,
        "parseResponse": true,
        "shareCookies": false,
        "rejectUnauthorized": true,
        "followRedirect": true,
        "useQuerystring": false,
        "gzip": true,
        "useMtls": false,
        "timeout": ""
      },
      "metadata": {
        "designer": {
          "x": 0,
          "y": 0
        }
      }
    },
    {
      "id": 2,
      "module": "builtin:BasicFeeder",
      "version": 1,
      "parameters": {},
      "mapper": {
        "array": "{{1.data}}"
      },
      "metadata": {
        "designer": {
          "x": 300,
          "y": 0
        }
      }
    },
    {
      "id": 3,
      "module": "http:ActionSendData",
      "version": 3,
      "parameters": {},
      "mapper": {
        "url": "https://api.openai.com/v1/chat/completions",
        "method": "post",
        "headers": [
          {
            "name": "Authorization",
            "value": "Bearer YOUR_OPENAI_API_KEY"
          }
        ],
        "qs": [],
        "serializeUrl": false,
        "parseResponse": true,
        "shareCookies": false,
        "rejectUnauthorized": true,
        "followRedirect": true,
        "useQuerystring": false,
        "gzip": true,
        "useMtls": false,
        "timeout": "",
        "bodyType": "raw",
        "contentType": "application/json",
        "inputMethod": "jsonString",
        "data": "{\"model\": \"gpt-4o-mini\", \"messages\": [{\"role\": \"user\", \"content\": \"Write a 2-3 sentence public reply to this Google review. Voice: BRAND_VOICE. Don't confirm they were a patient/client; no compensation offers. Review ({{2.rating}} stars) by {{2.author}}: {{2.text}}\"}]}"
      },
      "metadata": {
        "designer": {
          "x": 600,
          "y": 0
        }
      },
      "filter": {
        "name": "New in last 24h, no reply yet",
        "conditions": [
          [
            {
              "a": "{{2.create_time}}",
              "o": "notexist",
              "b": ""
            }
          ]
        ]
      }
    },
    {
      "id": 4,
      "module": "http:ActionSendData",
      "version": 3,
      "parameters": {},
      "mapper": {
        "url": "https://api.resend.com/emails",
        "method": "post",
        "headers": [
          {
            "name": "Authorization",
            "value": "Bearer YOUR_RESEND_API_KEY"
          }
        ],
        "qs": [],
        "serializeUrl": false,
        "parseResponse": true,
        "shareCookies": false,
        "rejectUnauthorized": true,
        "followRedirect": true,
        "useQuerystring": false,
        "gzip": true,
        "useMtls": false,
        "timeout": "",
        "bodyType": "raw",
        "contentType": "application/json",
        "inputMethod": "jsonString",
        "data": "{\"from\": \"YOUR_NAME <you@yourdomain.com>\", \"to\": \"OWNER_EMAIL\", \"subject\": \"Reply draft for {{2.author}}'s review\", \"text\": \"Review: {{2.text}}\\n\\nDraft reply: {{3.choices[].message.content}}\"}"
      },
      "metadata": {
        "designer": {
          "x": 900,
          "y": 0
        }
      }
    }
  ],
  "metadata": {
    "instant": false,
    "version": 1,
    "scenario": {
      "roundtrips": 1,
      "maxErrors": 3,
      "autoCommit": true,
      "autoCommitTriggerLast": true,
      "sequential": false,
      "slots": null,
      "confidential": false,
      "dataloss": false,
      "dlq": false,
      "freshVariables": false
    },
    "designer": {
      "orphans": []
    },
    "zone": "us1.make.com"
  }
}