From 3e44125fd441a9a599fb6556e1b7f8ae338e68fa Mon Sep 17 00:00:00 2001 From: Jeff Lyon Date: Wed, 25 Mar 2026 16:08:57 -0700 Subject: [PATCH 1/2] AI v3: update post-prompt steps to version: v3 --- .../mesa.json | 270 ++++++------ etsy/listing/create_pinterest_pin/mesa.json | 265 ++++++------ .../mesa.json | 160 +++---- .../listing/generate_titles_with_ai/mesa.json | 211 +++++----- .../write_descriptions_with_ai/mesa.json | 207 +++++---- .../mesa.json | 288 ++++++------- .../row/automated_wordpress_drafts/mesa.json | 320 +++++++------- .../mesa.json | 298 +++++++------ .../mesa.json | 326 +++++++------- .../five_star_reviews_to_google_doc/mesa.json | 220 +++++----- mcp/ai/search_the_web/mesa.json | 122 +++--- .../meeting_notes_to_google_doc/mesa.json | 188 ++++----- .../send_meeting_notes_to_slack/mesa.json | 144 +++---- schedule/daily_reddit_scraper/mesa.json | 364 ++++++++-------- .../daily_shopify_order_analysis/mesa.json | 12 +- .../mesa.json | 224 +++++----- .../mesa.json | 375 ++++++++--------- .../mesa.json | 289 ++++++------- .../write_descriptions_using_ai/mesa.json | 398 +++++++++--------- .../mesa.json | 206 +++++---- .../create_a_blog_post_in_wordpress/mesa.json | 248 ++++++----- .../mesa.json | 162 +++---- .../product/create_title_using_ai/mesa.json | 186 ++++---- .../mesa.json | 144 +++---- .../mesa.json | 294 +++++++------ .../shopify/order/detect-po-box/mesa.json | 208 ++++----- .../post/pinterest_pin_creation/mesa.json | 200 +++++---- .../mesa.json | 346 ++++++++------- 28 files changed, 3261 insertions(+), 3414 deletions(-) diff --git a/data/record/receive_slack_alert_if_coupon_code_abuse_is_detected/mesa.json b/data/record/receive_slack_alert_if_coupon_code_abuse_is_detected/mesa.json index 0a65474e..f942ffee 100644 --- a/data/record/receive_slack_alert_if_coupon_code_abuse_is_detected/mesa.json +++ b/data/record/receive_slack_alert_if_coupon_code_abuse_is_detected/mesa.json @@ -1,140 +1,136 @@ { - "key": "data/record/receive_slack_alert_if_coupon_code_abuse_is_detected", - "name": "Detect Coupon Code Abuse and Receive Slack Alerts", - "version": "1.0.0", - "enabled": false, - "setup": true, - "config": { - "inputs": [ + "key": "data/record/receive_slack_alert_if_coupon_code_abuse_is_detected", + "name": "Detect Coupon Code Abuse and Receive Slack Alerts", + "version": "1.0.0", + "enabled": false, + "setup": true, + "config": { + "inputs": [ + { + "schema": 4, + "trigger_type": "input", + "type": "data", + "entity": "record", + "action": "created", + "name": "Record Created", + "version": "v2", + "key": "data", + "operation_id": "record_created", + "metadata": { + "api_endpoint": "get /{database}/{table}/created", + "poll": "@hourly:0 * * * *", + "table": "Shopify Orders" + }, + "local_fields": [], + "selected_fields": ["poll"], + "on_error": "default", + "weight": 0 + } + ], + "outputs": [ + { + "schema": 4, + "trigger_type": "output", + "type": "data", + "entity": "record", + "action": "custom_query", + "name": "Custom SQL Query", + "version": "v2", + "key": "data_1", + "operation_id": "get_database_custom_query", + "metadata": { + "api_endpoint": "get /{database}/{table}", + "query": "SELECT\n TO_CHAR(\"Created At\", 'yyyy-mm-dd'),\n SUM(\"Total Price\") AS total,\n SUM(\"Total Discount\") AS total_discounts,\n ROUND(SUM(\"Total Discount\") / SUM(\"Total Price\"), 2) AS percentage\nFROM \"Shopify Orders\"\nGROUP BY TO_CHAR(\"Created At\", 'yyyy-mm-dd')\nORDER BY TO_CHAR(\"Created At\", 'yyyy-mm-dd');" + }, + "local_fields": [], + "selected_fields": [], + "on_error": "default", + "weight": 0 + }, + { + "schema": 2, + "trigger_type": "output", + "type": "custom", + "name": "Format order total by day including discounts", + "key": "custom", + "operation_id": "custom", + "metadata": { + "description": "Format order totals by day including their discount amounts that can be understood by other systems or components", + "script": "custom.js" + }, + "local_fields": [], + "selected_fields": [], + "on_error": "default", + "weight": 1 + }, + { + "schema": 4, + "trigger_type": "output", + "type": "ai", + "entity": "prompt", + "action": "create", + "name": "Compare discount rates to identify coupon abuse", + "version": "v3", + "key": "ai", + "operation_id": "post-prompt", + "metadata": { + "api_endpoint": "post /prompt", + "temperature": "1", + "body": { + "role": "user", + "content": "Included is a JSON result showing order totals by day including the discount amounts. Compare the discount rate against the usual average discount rate (assume 10% if unspecified). Is the discount rate higher than usual? Reply only Yes or No: \n{{ custom.json_results }}" + } + }, + "local_fields": [], + "selected_fields": ["temperature"], + "on_error": "default", + "weight": 2 + }, + { + "schema": 4.1, + "trigger_type": "output", + "type": "filter", + "name": "Was coupon abuse detected?", + "key": "filter", + "operation_id": "filter", + "metadata": { + "a": "{{ai.response}}", + "comparison": "equals", + "b": "Yes", + "additional": [ { - "schema": 4, - "trigger_type": "input", - "type": "data", - "entity": "record", - "action": "created", - "name": "Record Created", - "version": "v2", - "key": "data", - "operation_id": "record_created", - "metadata": { - "api_endpoint": "get \/{database}\/{table}\/created", - "poll": "@hourly:0 * * * *", - "table": "Shopify Orders" - }, - "local_fields": [], - "selected_fields": [ - "poll" - ], - "on_error": "default", - "weight": 0 + "operator": "and", + "comparison": "equals" } - ], - "outputs": [ - { - "schema": 4, - "trigger_type": "output", - "type": "data", - "entity": "record", - "action": "custom_query", - "name": "Custom SQL Query", - "version": "v2", - "key": "data_1", - "operation_id": "get_database_custom_query", - "metadata": { - "api_endpoint": "get \/{database}\/{table}", - "query": "SELECT\n TO_CHAR(\"Created At\", 'yyyy-mm-dd'),\n SUM(\"Total Price\") AS total,\n SUM(\"Total Discount\") AS total_discounts,\n ROUND(SUM(\"Total Discount\") \/ SUM(\"Total Price\"), 2) AS percentage\nFROM \"Shopify Orders\"\nGROUP BY TO_CHAR(\"Created At\", 'yyyy-mm-dd')\nORDER BY TO_CHAR(\"Created At\", 'yyyy-mm-dd');" - }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 0 - }, - { - "schema": 2, - "trigger_type": "output", - "type": "custom", - "name": "Format order total by day including discounts", - "key": "custom", - "operation_id": "custom", - "metadata": { - "description": "Format order totals by day including their discount amounts that can be understood by other systems or components", - "script": "custom.js" - }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 1 - }, - { - "schema": 4, - "trigger_type": "output", - "type": "ai", - "entity": "prompt", - "action": "create", - "name": "Compare discount rates to identify coupon abuse", - "version": "v2", - "key": "ai", - "operation_id": "post-prompt", - "metadata": { - "api_endpoint": "post \/prompt", - "temperature": "1", - "body": { - "role": "user", - "content": "Included is a JSON result showing order totals by day including the discount amounts. Compare the discount rate against the usual average discount rate (assume 10% if unspecified). Is the discount rate higher than usual? Reply only Yes or No: \n{{ custom.json_results }}" - } - }, - "local_fields": [], - "selected_fields": [ - "temperature" - ], - "on_error": "default", - "weight": 2 - }, - { - "schema": 4.1, - "trigger_type": "output", - "type": "filter", - "name": "Was coupon abuse detected?", - "key": "filter", - "operation_id": "filter", - "metadata": { - "a": "{{ai.response}}", - "comparison": "equals", - "b": "Yes", - "additional": [ - { - "operator": "and", - "comparison": "equals" - } - ] - }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 3 - }, - { - "schema": 4, - "trigger_type": "output", - "type": "slack", - "entity": "message", - "action": "create", - "name": "Send Message", - "version": "v3", - "key": "slack", - "operation_id": "slack", - "metadata": { - "api_endpoint": "post \/api\/chat.postMessage", - "body": { - "channel": "{{ template | label: 'What Slack channel would you like the message to send to?', description: 'Invite the MESA Slack app by typing @MESA and clicking the Invite button before selecting your channel. Private channels may not appear until you invite the MESA Slack app.', tokens: false }}", - "markdown_text": "{{ template | label: 'What are the contents of the Slack message?', description: '', default: 'Coupon code abuse detected', tokens: false }}" - } - }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 4 - } - ] - } -} \ No newline at end of file + ] + }, + "local_fields": [], + "selected_fields": [], + "on_error": "default", + "weight": 3 + }, + { + "schema": 4, + "trigger_type": "output", + "type": "slack", + "entity": "message", + "action": "create", + "name": "Send Message", + "version": "v3", + "key": "slack", + "operation_id": "slack", + "metadata": { + "api_endpoint": "post /api/chat.postMessage", + "body": { + "channel": "{{ template | label: 'What Slack channel would you like the message to send to?', description: 'Invite the MESA Slack app by typing @MESA and clicking the Invite button before selecting your channel. Private channels may not appear until you invite the MESA Slack app.', tokens: false }}", + "markdown_text": "{{ template | label: 'What are the contents of the Slack message?', description: '', default: 'Coupon code abuse detected', tokens: false }}" + } + }, + "local_fields": [], + "selected_fields": [], + "on_error": "default", + "weight": 4 + } + ] + } +} diff --git a/etsy/listing/create_pinterest_pin/mesa.json b/etsy/listing/create_pinterest_pin/mesa.json index 0ff94c25..ff1aca48 100644 --- a/etsy/listing/create_pinterest_pin/mesa.json +++ b/etsy/listing/create_pinterest_pin/mesa.json @@ -1,138 +1,133 @@ { - "key": "etsy/listing/create_pinterest_pin", - "name": "Create a Pinterest Pin from a New Etsy Listing", - "version": "1.0.0", - "enabled": false, - "setup": true, - "config": { - "inputs": [ - { - "schema": 5, - "trigger_type": "input", - "type": "etsy", - "entity": "shoplisting", - "action": "list-created", - "name": "Active Listing Created", - "version": "v3", - "key": "etsy", - "operation_id": "findAllListingsActiveCreated", - "metadata": { - "api_endpoint": "get \/v3\/application\/listings\/create", - "poll": "@hourly:0 * * * *", - "path": { - "shop_id": "{{ template | label: 'What is your Etsy store?' }}" - } - }, - "local_fields": [], - "selected_fields": [ - "poll" - ], - "on_error": "default", - "weight": 0 + "key": "etsy/listing/create_pinterest_pin", + "name": "Create a Pinterest Pin from a New Etsy Listing", + "version": "1.0.0", + "enabled": false, + "setup": true, + "config": { + "inputs": [ + { + "schema": 5, + "trigger_type": "input", + "type": "etsy", + "entity": "shoplisting", + "action": "list-created", + "name": "Active Listing Created", + "version": "v3", + "key": "etsy", + "operation_id": "findAllListingsActiveCreated", + "metadata": { + "api_endpoint": "get /v3/application/listings/create", + "poll": "@hourly:0 * * * *", + "path": { + "shop_id": "{{ template | label: 'What is your Etsy store?' }}" + } + }, + "local_fields": [], + "selected_fields": ["poll"], + "on_error": "default", + "weight": 0 + } + ], + "outputs": [ + { + "schema": 4, + "trigger_type": "output", + "type": "etsy", + "entity": "shoplisting_image", + "action": "list", + "name": "Get List of Listing Images", + "version": "v3", + "key": "etsy_1", + "operation_id": "getListingImages", + "metadata": { + "api_endpoint": "get /v3/application/listings/{listing_id}/images", + "path": { + "listing_id": "{{etsy.listing_id}}" + } + }, + "local_fields": [], + "selected_fields": ["path", "path.listing_id"], + "on_error": "default", + "weight": 0 + }, + { + "schema": 4, + "trigger_type": "output", + "type": "ai", + "entity": "prompt", + "action": "create", + "name": "Shorten Etsy Title for Pinterest Requirements", + "version": "v3", + "key": "ai", + "operation_id": "post-prompt", + "metadata": { + "api_endpoint": "post /prompt", + "body": { + "role": "user", + "content": "Shorten the Etsy listing title to under 100 characters while preserving its original meaning and key terms: {{etsy.title}}" + } + }, + "local_fields": [], + "selected_fields": [], + "on_error": "default", + "weight": 1 + }, + { + "schema": 4, + "trigger_type": "output", + "type": "ai", + "entity": "prompt", + "action": "create", + "name": "Shorten Etsy Description for Pinterest Requirements", + "version": "v3", + "key": "ai_1", + "operation_id": "post-prompt", + "metadata": { + "api_endpoint": "post /prompt", + "body": { + "role": "user", + "content": "Shorten the Etsy listing description to under 500 characters while preserving its original meaning and key terms: {{etsy.description}}" + } + }, + "local_fields": [], + "selected_fields": [], + "on_error": "default", + "weight": 2 + }, + { + "schema": 4, + "trigger_type": "output", + "type": "pinterest", + "entity": "pin", + "action": "create", + "name": "Create Pin", + "key": "pinterest", + "operation_id": "pins/create", + "metadata": { + "api_endpoint": "post /pins", + "body": { + "link": "{{etsy.url}}", + "title": "{{ai.response}}", + "description": "{{ai_1.response}}", + "board_id": "{{ template | label: 'Which board should the pin be created on?', tokens: false }}", + "media_source": { + "source_type": "image_url", + "url": "{{etsy_1.results[0].url_fullxfull}}", + "is_standard": true } + } + }, + "local_fields": [], + "selected_fields": [ + "body.media_source.is_standard", + "body.title", + "body.description", + "body.link" ], - "outputs": [ - { - "schema": 4, - "trigger_type": "output", - "type": "etsy", - "entity": "shoplisting_image", - "action": "list", - "name": "Get List of Listing Images", - "version": "v3", - "key": "etsy_1", - "operation_id": "getListingImages", - "metadata": { - "api_endpoint": "get \/v3\/application\/listings\/{listing_id}\/images", - "path": { - "listing_id": "{{etsy.listing_id}}" - } - }, - "local_fields": [], - "selected_fields": [ - "path", - "path.listing_id" - ], - "on_error": "default", - "weight": 0 - }, - { - "schema": 4, - "trigger_type": "output", - "type": "ai", - "entity": "prompt", - "action": "create", - "name": "Shorten Etsy Title for Pinterest Requirements", - "version": "v2", - "key": "ai", - "operation_id": "post-prompt", - "metadata": { - "api_endpoint": "post \/prompt", - "body": { - "role": "user", - "content": "Shorten the Etsy listing title to under 100 characters while preserving its original meaning and key terms: {{etsy.title}}" - } - }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 1 - }, - { - "schema": 4, - "trigger_type": "output", - "type": "ai", - "entity": "prompt", - "action": "create", - "name": "Shorten Etsy Description for Pinterest Requirements", - "version": "v2", - "key": "ai_1", - "operation_id": "post-prompt", - "metadata": { - "api_endpoint": "post \/prompt", - "body": { - "role": "user", - "content": "Shorten the Etsy listing description to under 500 characters while preserving its original meaning and key terms: {{etsy.description}}" - } - }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 2 - }, - { - "schema": 4, - "trigger_type": "output", - "type": "pinterest", - "entity": "pin", - "action": "create", - "name": "Create Pin", - "key": "pinterest", - "operation_id": "pins\/create", - "metadata": { - "api_endpoint": "post \/pins", - "body": { - "link": "{{etsy.url}}", - "title": "{{ai.response}}", - "description": "{{ai_1.response}}", - "board_id": "{{ template | label: 'Which board should the pin be created on?', tokens: false }}", - "media_source": { - "source_type": "image_url", - "url": "{{etsy_1.results[0].url_fullxfull}}", - "is_standard": true - } - } - }, - "local_fields": [], - "selected_fields": [ - "body.media_source.is_standard", - "body.title", - "body.description", - "body.link" - ], - "on_error": "default", - "weight": 3 - } - ] - } -} \ No newline at end of file + "on_error": "default", + "weight": 3 + } + ] + } +} diff --git a/etsy/listing/create_smart_tags_using_ai_from_product_details/mesa.json b/etsy/listing/create_smart_tags_using_ai_from_product_details/mesa.json index eba17eb9..cfd8fbb9 100644 --- a/etsy/listing/create_smart_tags_using_ai_from_product_details/mesa.json +++ b/etsy/listing/create_smart_tags_using_ai_from_product_details/mesa.json @@ -1,82 +1,82 @@ { - "key": "etsy/listing/create_smart_tags_using_ai_from_product_details", - "name": "Create Smart Etsy Tags Using AI from Your Listing Details", - "version": "1.0.0", - "enabled": false, - "setup": true, - "config": { - "inputs": [ - { - "schema": 5, - "trigger_type": "input", - "type": "etsy", - "entity": "shoplisting", - "action": "list-created", - "name": "Active Listing Created", - "version": "v3", - "key": "etsy", - "operation_id": "findAllListingsActiveCreated", - "metadata": { - "api_endpoint": "get /v3/application/listings/create", - "poll": "@hourly:0 * * * *", - "path": { - "shop_id": "{{ template | label: 'Select your Etsy shop.', description: 'Alternatively, you can add an Etsy Shop ID (a unique number assigned to your store) if you can''t locate your shop in the dropdown.' }}" - } - }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 0 - } - ], - "outputs": [ - { - "schema": 4, - "trigger_type": "output", - "type": "ai", - "entity": "prompt", - "action": "create", - "name": "Prompt", - "version": "v2", - "key": "ai", - "operation_id": "post-prompt", - "metadata": { - "api_endpoint": "post /prompt", - "body": { - "role": "user", - "content": "You are an Etsy SEO expert. Based on the following Etsy listing title and description, generate 13 highly relevant tags. Each tag must:\n\nBe under 20 characters.\n\nUse exact or close variations of customer search phrases.\n\nReflect product type, materials, style, occasion, use cases, and giftability.\n\nInclude a mix of long-tail keywords (up to 20 characters) and shorter keywords.\n\nAvoid duplicates, plurals, or words already covered in the title unless they improve search intent.\n\nBe written in lowercase, separated by commas.\n\nHere is the listing:\nTitle: {{etsy.title}}\nDescription: {{etsy.description}}\n\nProvide only the 13 optimized tags." - } - }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 0 - }, - { - "schema": 4, - "trigger_type": "output", - "type": "etsy", - "entity": "shoplisting", - "action": "update", - "name": "Update Listing", - "version": "v3", - "key": "etsy_1", - "operation_id": "updateListing", - "metadata": { - "api_endpoint": "patch /v3/application/shops/{shop_id}/listings/{listing_id}", - "path": { - "shop_id": "{{ template | label: 'Select your Etsy shop.', description: 'Alternatively, you can add an Etsy Shop ID (a unique number assigned to your store) if you can''t locate your shop in the dropdown.' }}", - "listing_id": "{{etsy.listing_id}}" - }, - "body": { - "tags": "{{ai.response}}" - } - }, - "local_fields": [], - "selected_fields": ["body.tags"], - "on_error": "default", - "weight": 1 - } - ] - } + "key": "etsy/listing/create_smart_tags_using_ai_from_product_details", + "name": "Create Smart Etsy Tags Using AI from Your Listing Details", + "version": "1.0.0", + "enabled": false, + "setup": true, + "config": { + "inputs": [ + { + "schema": 5, + "trigger_type": "input", + "type": "etsy", + "entity": "shoplisting", + "action": "list-created", + "name": "Active Listing Created", + "version": "v3", + "key": "etsy", + "operation_id": "findAllListingsActiveCreated", + "metadata": { + "api_endpoint": "get /v3/application/listings/create", + "poll": "@hourly:0 * * * *", + "path": { + "shop_id": "{{ template | label: 'Select your Etsy shop.', description: 'Alternatively, you can add an Etsy Shop ID (a unique number assigned to your store) if you can''t locate your shop in the dropdown.' }}" + } + }, + "local_fields": [], + "selected_fields": [], + "on_error": "default", + "weight": 0 + } + ], + "outputs": [ + { + "schema": 4, + "trigger_type": "output", + "type": "ai", + "entity": "prompt", + "action": "create", + "name": "Prompt", + "version": "v3", + "key": "ai", + "operation_id": "post-prompt", + "metadata": { + "api_endpoint": "post /prompt", + "body": { + "role": "user", + "content": "You are an Etsy SEO expert. Based on the following Etsy listing title and description, generate 13 highly relevant tags. Each tag must:\n\nBe under 20 characters.\n\nUse exact or close variations of customer search phrases.\n\nReflect product type, materials, style, occasion, use cases, and giftability.\n\nInclude a mix of long-tail keywords (up to 20 characters) and shorter keywords.\n\nAvoid duplicates, plurals, or words already covered in the title unless they improve search intent.\n\nBe written in lowercase, separated by commas.\n\nHere is the listing:\nTitle: {{etsy.title}}\nDescription: {{etsy.description}}\n\nProvide only the 13 optimized tags." + } + }, + "local_fields": [], + "selected_fields": [], + "on_error": "default", + "weight": 0 + }, + { + "schema": 4, + "trigger_type": "output", + "type": "etsy", + "entity": "shoplisting", + "action": "update", + "name": "Update Listing", + "version": "v3", + "key": "etsy_1", + "operation_id": "updateListing", + "metadata": { + "api_endpoint": "patch /v3/application/shops/{shop_id}/listings/{listing_id}", + "path": { + "shop_id": "{{ template | label: 'Select your Etsy shop.', description: 'Alternatively, you can add an Etsy Shop ID (a unique number assigned to your store) if you can''t locate your shop in the dropdown.' }}", + "listing_id": "{{etsy.listing_id}}" + }, + "body": { + "tags": "{{ai.response}}" + } + }, + "local_fields": [], + "selected_fields": ["body.tags"], + "on_error": "default", + "weight": 1 + } + ] + } } diff --git a/etsy/listing/generate_titles_with_ai/mesa.json b/etsy/listing/generate_titles_with_ai/mesa.json index 9040f32a..f0c610aa 100644 --- a/etsy/listing/generate_titles_with_ai/mesa.json +++ b/etsy/listing/generate_titles_with_ai/mesa.json @@ -1,112 +1,101 @@ { - "key": "etsy/listing/generate_titles_with_ai", - "name": "Create Optimized Etsy Listing Titles with AI", - "version": "1.0.0", - "enabled": false, - "setup": true, - "config": { - "inputs": [ - { - "schema": 5, - "trigger_type": "input", - "type": "etsy", - "entity": "shoplisting", - "action": "list-created", - "name": "Active Listing Created", - "version": "v3", - "key": "etsy", - "operation_id": "findAllListingsActiveCreated", - "metadata": { - "api_endpoint": "get \/v3\/application\/listings\/create", - "poll": "@hourly:0 * * * *", - "path": { - "shop_id": "{{ template | label: 'What is your Etsy store?' }}" - } - }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 0 - } - ], - "outputs": [ - { - "schema": 4, - "trigger_type": "output", - "type": "ai", - "entity": "prompt", - "action": "create", - "name": "Generate Product Title", - "version": "v2", - "key": "ai", - "operation_id": "post-prompt-product-title", - "metadata": { - "api_endpoint": "post \/prompt\/product-title", - "temperature": "1", - "body": { - "role": "user", - "content": "{{ template | label: 'Who is your target audience?', description: 'Replace [target audience, e.g. home decor enthusiasts, fitness buffs] with your target audience.', default: 'Behave like an eCommerce merchandising specialist and draft a product title for {{etsy.description}}. The title should be concise, include relevant keywords, and appeal to [target audience, e.g. home decor enthusiasts, fitness buffs]. Aim for 8-12 words. Format the title without quotation marks.' }}" - } - }, - "local_fields": [], - "selected_fields": [ - "temperature", - "body", - "body.role", - "body.content" - ], - "on_error": "default", - "weight": 0 - }, - { - "schema": 2, - "trigger_type": "output", - "type": "approval", - "name": "Approve or Decline the AI Response", - "key": "approval", - "operation_id": "approval", - "metadata": { - "message": "Response is ready: {{ai.response}}", - "label_accept": "Accept", - "label_reject": "Reject", - "alert_emails": "{{ template | label: 'Which email should we notify when a product title is ready for review?', description: 'You can remove your email address or the optional approval step in the workflow builder once you''ve completed the template setup.' }}" - }, - "local_fields": [], - "selected_fields": [ - "message", - "label_accept", - "label_reject" - ], - "on_error": "default", - "weight": 1 - }, - { - "schema": 4, - "trigger_type": "output", - "type": "etsy", - "entity": "shoplisting", - "action": "update", - "name": "Update Listing", - "version": "v3", - "key": "etsy_1", - "operation_id": "updateListing", - "metadata": { - "api_endpoint": "patch \/v3\/application\/shops\/{shop_id}\/listings\/{listing_id}", - "path": { - "shop_id": "{{ template | label: 'What is your Etsy store?' }}", - "listing_id": "{{etsy.listing_id}}" - }, - "body": { - "title": "{{ai.response}}" - } - }, - "local_fields": [], - "selected_fields": [ - "body.title" - ], - "on_error": "default", - "weight": 2 - } - ] - } -} \ No newline at end of file + "key": "etsy/listing/generate_titles_with_ai", + "name": "Create Optimized Etsy Listing Titles with AI", + "version": "1.0.0", + "enabled": false, + "setup": true, + "config": { + "inputs": [ + { + "schema": 5, + "trigger_type": "input", + "type": "etsy", + "entity": "shoplisting", + "action": "list-created", + "name": "Active Listing Created", + "version": "v3", + "key": "etsy", + "operation_id": "findAllListingsActiveCreated", + "metadata": { + "api_endpoint": "get /v3/application/listings/create", + "poll": "@hourly:0 * * * *", + "path": { + "shop_id": "{{ template | label: 'What is your Etsy store?' }}" + } + }, + "local_fields": [], + "selected_fields": [], + "on_error": "default", + "weight": 0 + } + ], + "outputs": [ + { + "schema": 4, + "trigger_type": "output", + "type": "ai", + "entity": "prompt", + "action": "create", + "name": "Generate Product Title", + "version": "v2", + "key": "ai", + "operation_id": "post-prompt-product-title", + "metadata": { + "api_endpoint": "post /prompt/product-title", + "temperature": "1", + "body": { + "role": "user", + "content": "{{ template | label: 'Who is your target audience?', description: 'Replace [target audience, e.g. home decor enthusiasts, fitness buffs] with your target audience.', default: 'Behave like an eCommerce merchandising specialist and draft a product title for {{etsy.description}}. The title should be concise, include relevant keywords, and appeal to [target audience, e.g. home decor enthusiasts, fitness buffs]. Aim for 8-12 words. Format the title without quotation marks.' }}" + } + }, + "local_fields": [], + "selected_fields": ["temperature", "body", "body.role", "body.content"], + "on_error": "default", + "weight": 0 + }, + { + "schema": 2, + "trigger_type": "output", + "type": "approval", + "name": "Approve or Decline the AI Response", + "key": "approval", + "operation_id": "approval", + "metadata": { + "message": "Response is ready: {{ai.response}}", + "label_accept": "Accept", + "label_reject": "Reject", + "alert_emails": "{{ template | label: 'Which email should we notify when a product title is ready for review?', description: 'You can remove your email address or the optional approval step in the workflow builder once you''ve completed the template setup.' }}" + }, + "local_fields": [], + "selected_fields": ["message", "label_accept", "label_reject"], + "on_error": "default", + "weight": 1 + }, + { + "schema": 4, + "trigger_type": "output", + "type": "etsy", + "entity": "shoplisting", + "action": "update", + "name": "Update Listing", + "version": "v3", + "key": "etsy_1", + "operation_id": "updateListing", + "metadata": { + "api_endpoint": "patch /v3/application/shops/{shop_id}/listings/{listing_id}", + "path": { + "shop_id": "{{ template | label: 'What is your Etsy store?' }}", + "listing_id": "{{etsy.listing_id}}" + }, + "body": { + "title": "{{ai.response}}" + } + }, + "local_fields": [], + "selected_fields": ["body.title"], + "on_error": "default", + "weight": 2 + } + ] + } +} diff --git a/etsy/listing/write_descriptions_with_ai/mesa.json b/etsy/listing/write_descriptions_with_ai/mesa.json index 69fa595f..77819d9c 100644 --- a/etsy/listing/write_descriptions_with_ai/mesa.json +++ b/etsy/listing/write_descriptions_with_ai/mesa.json @@ -1,108 +1,101 @@ { - "key": "etsy/listing/write_descriptions_with_ai", - "name": "Generate AI-Powered Etsy Listing Descriptions Automatically", - "version": "1.0.0", - "enabled": false, - "setup": true, - "config": { - "inputs": [ - { - "schema": 5, - "trigger_type": "input", - "type": "etsy", - "entity": "shoplisting", - "action": "list-created", - "name": "Active Listing Created", - "version": "v3", - "key": "etsy", - "operation_id": "findAllListingsActiveCreated", - "metadata": { - "api_endpoint": "get \/v3\/application\/listings\/create", - "poll": "@hourly:0 * * * *", - "path": { - "shop_id": "{{ template | label: 'What is your Etsy store?' }}" - } - }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 0 - } - ], - "outputs": [ - { - "schema": 4, - "trigger_type": "output", - "type": "ai", - "entity": "prompt", - "action": "create", - "name": "Write a Product Description", - "version": "v2", - "key": "ai", - "operation_id": "post-prompt", - "metadata": { - "api_endpoint": "post \/prompt", - "temperature": "1", - "body": { - "role": "user", - "content": "Write a brief product description for a product called {{etsy.title}}" - } - }, - "local_fields": [], - "selected_fields": [ - "temperature", - "body", - "body.role", - "body.content" - ], - "on_error": "default", - "weight": 0 - }, - { - "schema": 2, - "trigger_type": "output", - "type": "approval", - "name": "Approve or Decline the AI Response", - "key": "approval", - "operation_id": "approval", - "metadata": { - "message": "Response ready for review: {{ai.response}}", - "label_accept": "Accept", - "label_reject": "Reject", - "alert_emails": "{{ template | label: 'Which email should we notify when a product title is ready for review?', description: 'You can remove your email address or the optional approval step in the workflow builder once you''ve completed the template setup.' }}" - }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 1 - }, - { - "schema": 4, - "trigger_type": "output", - "type": "etsy", - "entity": "shoplisting", - "action": "update", - "name": "Update Listing", - "version": "v3", - "key": "etsy_1", - "operation_id": "updateListing", - "metadata": { - "api_endpoint": "patch \/v3\/application\/shops\/{shop_id}\/listings\/{listing_id}", - "path": { - "shop_id": "{{ template | label: 'What is your Etsy store?' }}", - "listing_id": "{{etsy.listing_id}}" - }, - "body": { - "description": "{{ai.response}}" - } - }, - "local_fields": [], - "selected_fields": [ - "body.description" - ], - "on_error": "default", - "weight": 2 - } - ] - } -} \ No newline at end of file + "key": "etsy/listing/write_descriptions_with_ai", + "name": "Generate AI-Powered Etsy Listing Descriptions Automatically", + "version": "1.0.0", + "enabled": false, + "setup": true, + "config": { + "inputs": [ + { + "schema": 5, + "trigger_type": "input", + "type": "etsy", + "entity": "shoplisting", + "action": "list-created", + "name": "Active Listing Created", + "version": "v3", + "key": "etsy", + "operation_id": "findAllListingsActiveCreated", + "metadata": { + "api_endpoint": "get /v3/application/listings/create", + "poll": "@hourly:0 * * * *", + "path": { + "shop_id": "{{ template | label: 'What is your Etsy store?' }}" + } + }, + "local_fields": [], + "selected_fields": [], + "on_error": "default", + "weight": 0 + } + ], + "outputs": [ + { + "schema": 4, + "trigger_type": "output", + "type": "ai", + "entity": "prompt", + "action": "create", + "name": "Write a Product Description", + "version": "v3", + "key": "ai", + "operation_id": "post-prompt", + "metadata": { + "api_endpoint": "post /prompt", + "temperature": "1", + "body": { + "role": "user", + "content": "Write a brief product description for a product called {{etsy.title}}" + } + }, + "local_fields": [], + "selected_fields": ["temperature", "body", "body.role", "body.content"], + "on_error": "default", + "weight": 0 + }, + { + "schema": 2, + "trigger_type": "output", + "type": "approval", + "name": "Approve or Decline the AI Response", + "key": "approval", + "operation_id": "approval", + "metadata": { + "message": "Response ready for review: {{ai.response}}", + "label_accept": "Accept", + "label_reject": "Reject", + "alert_emails": "{{ template | label: 'Which email should we notify when a product title is ready for review?', description: 'You can remove your email address or the optional approval step in the workflow builder once you''ve completed the template setup.' }}" + }, + "local_fields": [], + "selected_fields": [], + "on_error": "default", + "weight": 1 + }, + { + "schema": 4, + "trigger_type": "output", + "type": "etsy", + "entity": "shoplisting", + "action": "update", + "name": "Update Listing", + "version": "v3", + "key": "etsy_1", + "operation_id": "updateListing", + "metadata": { + "api_endpoint": "patch /v3/application/shops/{shop_id}/listings/{listing_id}", + "path": { + "shop_id": "{{ template | label: 'What is your Etsy store?' }}", + "listing_id": "{{etsy.listing_id}}" + }, + "body": { + "description": "{{ai.response}}" + } + }, + "local_fields": [], + "selected_fields": ["body.description"], + "on_error": "default", + "weight": 2 + } + ] + } +} diff --git a/form/high_priority_feedback_summarizer/mesa.json b/form/high_priority_feedback_summarizer/mesa.json index 4e0467ac..66dca560 100644 --- a/form/high_priority_feedback_summarizer/mesa.json +++ b/form/high_priority_feedback_summarizer/mesa.json @@ -1,154 +1,154 @@ { - "key": "form/high_priority_feedback_summarizer", - "name": "High-Priority Feedback Summarizer", - "version": "1.0.0", - "enabled": false, - "setup": true, - "config": { - "inputs": [ + "key": "form/high_priority_feedback_summarizer", + "name": "High-Priority Feedback Summarizer", + "version": "1.0.0", + "enabled": false, + "setup": true, + "config": { + "inputs": [ + { + "schema": 2, + "trigger_type": "input", + "type": "form", + "name": "Form Submitted", + "key": "form", + "operation_id": "form", + "metadata": { + "form_data": [ { - "schema": 2, - "trigger_type": "input", - "type": "form", - "name": "Form Submitted", - "key": "form", - "operation_id": "form", - "metadata": { - "form_data": [ - { - "type": "header", - "subtype": "h1", - "label": "General Feedback Form" - }, - { - "type": "text", - "required": false, - "label": "Name", - "description": "Enter your first and last name", - "className": "form-control", - "name": "Name", - "subtype": "text" - }, - { - "type": "text", - "required": false, - "label": "Email", - "description": "Enter the best email to reach you at", - "className": "form-control", - "name": "Email", - "subtype": "text" - }, - { - "type": "text", - "required": false, - "label": "Feedback", - "description": "Share any thoughts with us!", - "className": "form-control", - "name": "Feedback", - "subtype": "text" - }, - { - "type": "select", - "required": false, - "label": "Priority", - "description": "How should we prioritize your feedback?", - "className": "form-control", - "name": "Priority", - "multiple": false, - "values": [ - { - "label": "High", - "value": "option-1", - "selected": true - }, - { - "label": "Medium", - "value": "option-2", - "selected": false - }, - { - "label": "Low", - "value": "option-3", - "selected": false - } - ] - } - ], - "embed_code": "{{ template | label: 'Add the form to your website.', description: 'Copy the form embed code and paste it into the page where you want the form to appear. Use your website editor''s option for embedded content or custom code. Once the page is publicly accessible, the form will be visible to visitors.' }}" - }, - "local_fields": [], - "selected_fields": ["form_data", "embed_code", "url"], - "on_error": "default", - "weight": 0 - } - ], - "outputs": [ + "type": "header", + "subtype": "h1", + "label": "General Feedback Form" + }, { - "schema": 4.1, - "trigger_type": "output", - "type": "filter", - "name": "Check if the Form Response is High Priority", - "key": "filter", - "operation_id": "filter", - "metadata": { - "comparison": "equals", - "additional": [ - { - "operator": "and", - "comparison": "equals" - } - ], - "a": "{{form.Priority}}", - "b": "option-1" - }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 0 + "type": "text", + "required": false, + "label": "Name", + "description": "Enter your first and last name", + "className": "form-control", + "name": "Name", + "subtype": "text" }, { - "schema": 4, - "trigger_type": "output", - "type": "ai", - "entity": "prompt", - "action": "create", - "name": "Summarize the Feedback", - "version": "v2", - "key": "ai", - "operation_id": "post-prompt", - "metadata": { - "api_endpoint": "post \/prompt", - "body": { - "role": "user", - "content": "Review the feedback below and synthesize it into a clear summary with specific action items our team can follow up on to ensure we address the feedback effectively.\n\nFeedback: {{form.Feedback}}" - } - }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 1 + "type": "text", + "required": false, + "label": "Email", + "description": "Enter the best email to reach you at", + "className": "form-control", + "name": "Email", + "subtype": "text" }, { - "schema": 5, - "trigger_type": "output", - "type": "email", - "name": "Send Summary by Email", - "version": "v2", - "key": "email", - "operation_id": "\/send-email", - "metadata": { - "api_endpoint": "post \/send-email", - "body": { - "to": "{{ template | label: 'Enter the email address that should receive high-priority feedback summaries.', description: 'This email will receive a summary only when feedback is marked as high priority.' }}", - "subject": "Thank you for your feedback!", - "message": "

You received a form response!<\/p>

<\/p>

\ud83d\udccb Feedback response:<\/p>

{{ai.response}}<\/p>" - } + "type": "text", + "required": false, + "label": "Feedback", + "description": "Share any thoughts with us!", + "className": "form-control", + "name": "Feedback", + "subtype": "text" + }, + { + "type": "select", + "required": false, + "label": "Priority", + "description": "How should we prioritize your feedback?", + "className": "form-control", + "name": "Priority", + "multiple": false, + "values": [ + { + "label": "High", + "value": "option-1", + "selected": true + }, + { + "label": "Medium", + "value": "option-2", + "selected": false }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 2 + { + "label": "Low", + "value": "option-3", + "selected": false + } + ] + } + ], + "embed_code": "{{ template | label: 'Add the form to your website.', description: 'Copy the form embed code and paste it into the page where you want the form to appear. Use your website editor''s option for embedded content or custom code. Once the page is publicly accessible, the form will be visible to visitors.' }}" + }, + "local_fields": [], + "selected_fields": ["form_data", "embed_code", "url"], + "on_error": "default", + "weight": 0 + } + ], + "outputs": [ + { + "schema": 4.1, + "trigger_type": "output", + "type": "filter", + "name": "Check if the Form Response is High Priority", + "key": "filter", + "operation_id": "filter", + "metadata": { + "comparison": "equals", + "additional": [ + { + "operator": "and", + "comparison": "equals" } - ] - } + ], + "a": "{{form.Priority}}", + "b": "option-1" + }, + "local_fields": [], + "selected_fields": [], + "on_error": "default", + "weight": 0 + }, + { + "schema": 4, + "trigger_type": "output", + "type": "ai", + "entity": "prompt", + "action": "create", + "name": "Summarize the Feedback", + "version": "v3", + "key": "ai", + "operation_id": "post-prompt", + "metadata": { + "api_endpoint": "post /prompt", + "body": { + "role": "user", + "content": "Review the feedback below and synthesize it into a clear summary with specific action items our team can follow up on to ensure we address the feedback effectively.\n\nFeedback: {{form.Feedback}}" + } + }, + "local_fields": [], + "selected_fields": [], + "on_error": "default", + "weight": 1 + }, + { + "schema": 5, + "trigger_type": "output", + "type": "email", + "name": "Send Summary by Email", + "version": "v2", + "key": "email", + "operation_id": "/send-email", + "metadata": { + "api_endpoint": "post /send-email", + "body": { + "to": "{{ template | label: 'Enter the email address that should receive high-priority feedback summaries.', description: 'This email will receive a summary only when feedback is marked as high priority.' }}", + "subject": "Thank you for your feedback!", + "message": "

You received a form response!

\ud83d\udccb Feedback response:

{{ai.response}}

" + } + }, + "local_fields": [], + "selected_fields": [], + "on_error": "default", + "weight": 2 + } + ] + } } diff --git a/google_sheets/row/automated_wordpress_drafts/mesa.json b/google_sheets/row/automated_wordpress_drafts/mesa.json index 0e207422..763a6ec7 100644 --- a/google_sheets/row/automated_wordpress_drafts/mesa.json +++ b/google_sheets/row/automated_wordpress_drafts/mesa.json @@ -1,163 +1,163 @@ { - "key": "google_sheets/row/automated_wordpress_drafts", - "name": "Generate WordPress Content Drafts Using Perplexity Research", - "version": "1.0.0", - "enabled": false, - "setup": { - "mode": "custom", - "fields": [ - { - "key": "create_spreadsheet_name", - "target": "googlesheets.path.create_spreadsheet_name", - "label": "What do you want to name your spreadsheet?", - "tokens": false, - "description": "Give your new Google Spreadsheet a name." - }, - { - "key": "fields", - "target": "googlesheets.setup_fields", - "label": "What are your spreadsheet columns?", - "description": "This template will automatically create a new spreadsheet with the following columns.", - "options": [ - { - "label": "Topic", - "value": "Topic", - "description": "The topic of the blog post." - }, - { - "label": "Primary Keywords", - "value": "Primary Keywords", - "description": "The primary keywords for the blog post." - }, - { - "label": "Secondary Keywords", - "value": "Secondary Keywords", - "description": "The secondary keywords for the blog post." - }, - { - "label": "Audience", - "value": "Audience", - "description": "The audience for the blog post." - }, - { - "label": "Content Angle", - "value": "Content Angle", - "description": "The content angle for the blog post." - }, - { - "label": "Desired Length / Format", - "value": "Desired Length / Format", - "description": "The desired length and format for the blog post." - } - ], - "check_all": true, - "type": "checkboxes" - } - ] - }, - "config": { - "inputs": [ - { - "schema": 4, - "trigger_type": "input", - "type": "googlesheets", - "entity": "row", - "action": "created", - "name": "Row Created", - "version": "v2", - "key": "googlesheets", - "operation_id": "record_created", - "metadata": { - "api_endpoint": "get /{spreadsheet_id}/{sheet}", - "poll": "@hourly:0 * * * *", - "path": { - "spreadsheet_id": "", - "sheet": "Sheet1", - "query_type": "all", - "comparison": "=" - } - }, - "local_fields": [], - "selected_fields": [], - "on_error": "default", - "weight": 0 - } + "key": "google_sheets/row/automated_wordpress_drafts", + "name": "Generate WordPress Content Drafts Using Perplexity Research", + "version": "1.0.0", + "enabled": false, + "setup": { + "mode": "custom", + "fields": [ + { + "key": "create_spreadsheet_name", + "target": "googlesheets.path.create_spreadsheet_name", + "label": "What do you want to name your spreadsheet?", + "tokens": false, + "description": "Give your new Google Spreadsheet a name." + }, + { + "key": "fields", + "target": "googlesheets.setup_fields", + "label": "What are your spreadsheet columns?", + "description": "This template will automatically create a new spreadsheet with the following columns.", + "options": [ + { + "label": "Topic", + "value": "Topic", + "description": "The topic of the blog post." + }, + { + "label": "Primary Keywords", + "value": "Primary Keywords", + "description": "The primary keywords for the blog post." + }, + { + "label": "Secondary Keywords", + "value": "Secondary Keywords", + "description": "The secondary keywords for the blog post." + }, + { + "label": "Audience", + "value": "Audience", + "description": "The audience for the blog post." + }, + { + "label": "Content Angle", + "value": "Content Angle", + "description": "The content angle for the blog post." + }, + { + "label": "Desired Length / Format", + "value": "Desired Length / Format", + "description": "The desired length and format for the blog post." + } ], - "outputs": [ - { - "schema": 4, - "trigger_type": "output", - "type": "perplexity", - "entity": "chat_completion", - "action": "create", - "name": "Create Chat Completion", - "key": "perplexity", - "operation_id": "chat-completion", - "metadata": { - "api_endpoint": "post /chat/completions", - "body": { - "model": "sonar-pro", - "role": "user", - "content": "You are an SEO expert and brand copywriter connected to a Google Sheet that contains content planning inputs. For each row, pull the following columns:\n\n-Topic: {{googlesheets.data.Topic}}\n-Primary Keyword(s): {{googlesheets.data[\"Primary Keywords\"]}}\n-Secondary Keyword(s): {{googlesheets.data[\"Secondary Keywords\"]}}\n-Audience (target reader segment): {{googlesheets.data.Audience}}\n-Content Angle (perspective, theme, or positioning): {{googlesheets.data[\"Content Angle\"]}}\n-Desired Length / Format (word count range, format type such as blog post, listicle, guide, tone, etc.): {{googlesheets.data[\"Desired Length / Format\"]}}\n\nUsing this information, create a cohesive, SEO-optimized blog draft that also reflects the brand\u2019s personality.\n\nWriting Instructions\n1. SEO Layer: Include a keyword-friendly title, meta description, and structured headings (

,

). Naturally weave in keywords.\n2. On-Brand Voice: Use the chosen tone, phrasing, and CTA style consistently.\n3. Content Structure:\n-Engaging introduction that hooks the audience and reflects the brand.\n-Clear, scannable sections expanding on the idea from the chosen angle.\n-Branded touches (examples, language, or personality markers).\n-Conclusion with a call-to-action that matches the brand voice.\n4. Formatting: Provide output in clean HTML (

,

,

,