{
  "workflow_name": "When a post is tagged in Canny, email the FluentCRM contacts with the matching tag",
  "workflow_steps": {
    "steps": [
      {
        "id": "1",
        "position": {
          "x": 0,
          "y": 0
        },
        "data": {
          "label": "Post Tagged",
          "app": {
            "key": "canny",
            "fm_app": "canny"
          },
          "eventSlug": "post.tag_added",
          "eventTitle": "Post Tagged",
          "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": "canny",
        "stepID": "1",
        "action": "post.tag_added",
        "nodeType": "step",
        "actionAppArgs": []
      },
      {
        "id": "2",
        "position": {
          "x": 175,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "Find the matching FluentCRM tag",
          "layoutDirection": "horizontal",
          "stepNumber": 2,
          "app": {
            "key": "fluentcrm",
            "fm_app": "fluentcrm"
          },
          "eventSlug": "create_update_tag",
          "eventTitle": "Create or Update Tag"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "tag_title": "{canny1.object_tag_name}"
        },
        "application": "fluentcrm",
        "action": "create_update_tag",
        "nodeType": "step",
        "stepID": "2"
      },
      {
        "id": "3",
        "position": {
          "x": 350,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "Get Contact by Tag IDs",
          "layoutDirection": "horizontal",
          "stepNumber": 3,
          "app": {
            "key": "fluentcrm",
            "fm_app": "fluentcrm"
          },
          "eventSlug": "get_contact_by_tag_ids",
          "eventTitle": "Get Contact by Tag IDs"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "tag_ids": "{fluentcrm2.id}",
          "all_contacts_only": "Yes"
        },
        "application": "fluentcrm",
        "action": "get_contact_by_tag_ids",
        "nodeType": "step",
        "stepID": "3"
      },
      {
        "id": "4",
        "position": {
          "x": 525,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "Iterator",
          "layoutDirection": "horizontal",
          "stepNumber": 4,
          "app": {
            "key": "iterator",
            "fm_app": "iterator"
          },
          "eventSlug": "loop_through_array",
          "eventTitle": "Loop Through Array"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "iteratorArray": "{fluentcrm3.all_contacts_array}",
          "iterator_simple_response": "Yes",
          "iteratorMethod": "single",
          "batchSize": "25"
        },
        "application": "iterator",
        "action": "loop_through_array",
        "nodeType": "step",
        "stepID": "4"
      },
      {
        "id": "5",
        "position": {
          "x": 700,
          "y": 0
        },
        "type": "action",
        "data": {
          "label": "Send Email to Contact",
          "layoutDirection": "horizontal",
          "stepNumber": 5,
          "app": {
            "key": "fluentcrm",
            "fm_app": "fluentcrm"
          },
          "eventSlug": "send_email_to_contact",
          "eventTitle": "Send Email to Contact"
        },
        "parentType": "step",
        "style": {
          "transition": "all 150ms ease-in-out"
        },
        "measured": {
          "width": 82,
          "height": 82
        },
        "actionAppArgs": {
          "contact_email": "{iterator4.email}",
          "subject": "An update on a topic you follow",
          "email_body": "A feedback post was just tagged {canny1.object_tag_name}."
        },
        "application": "fluentcrm",
        "action": "send_email_to_contact",
        "nodeType": "step",
        "stepID": "5"
      },
      {
        "id": "main_end_placeholder",
        "position": {
          "x": 875,
          "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-4",
        "source": "3",
        "target": "4",
        "type": "step",
        "data": []
      },
      {
        "id": "e-4-5",
        "source": "4",
        "target": "5",
        "type": "step",
        "data": []
      },
      {
        "id": "e-5-main_end_placeholder",
        "source": "5",
        "target": "main_end_placeholder",
        "type": "placeholder",
        "data": []
      }
    ]
  },
  "workflow_settings": {
    "name": "When a post is tagged in Canny, email the FluentCRM contacts with the matching tag",
    "folder": "all",
    "description": "When a Canny post is tagged, FlowMattic takes the Canny tag name, finds the FluentCRM tag with the same name, fetches the contacts that have it and emails each of them. The tag is looked up by name, so a FluentCRM tag with that name is created empty if none exists yet and nobody is emailed. Check the tag name mapping and write the email after import.",
    "status": "off",
    "user_email": "",
    "webhook_queue": "disabled",
    "workflow_auth_key": "",
    "builder_version": "v2",
    "time": "",
    "ai_generated": "yes"
  }
}