{
  "id": "",
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "name": "Dynamic Email Signature Creator",
  "tags": [],
  "nodes": [
    {
      "id": "492a84fa-ecf8-4b6a-a889-8676aae3fe90",
      "name": "Webhook - Signature Request",
      "type": "n8n-nodes-base.webhook",
      "position": [
        0,
        112
      ],
      "parameters": {
        "path": "email-signature",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 2
    },
    {
      "id": "72cd5c6a-1039-4173-817a-c129c529ef68",
      "name": "Send Email via Gmail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1040,
        112
      ],
      "parameters": {
        "sendTo": "={{ $('Extract Inputs').item.json.email }}",
        "message": "=Hi {{ $('Extract Inputs').item.json.name }}, <br><br>\n\nYour email signature has been generated successfully. <br>\nYou can download it from the attachment below.<br><br>\n\nPreview: <br>\n<a href=\"{{$json.pdf_url}}\" style=\"color:#2563eb;\">View Signature PDF</a><br><br>\n\nThanks,<br>\nn8n Automation Bot\n",
        "options": {
          "attachmentsUi": {
            "attachmentsBinary": [
              {}
            ]
          }
        },
        "subject": "Your New Email Signature PDF"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "99ab3ea8-369f-4111-8d0f-5bacea62b4a0",
      "name": "Success Response",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1232,
        112
      ],
      "parameters": {
        "options": {
          "responseCode": 200,
          "responseHeaders": {
            "entries": [
              {
                "name": "Content-Type",
                "value": "application/json"
              }
            ]
          }
        },
        "respondWith": "json",
        "responseBody": "={\n  \"status\": \"success\",\n  \"message\": \"Email signature PDF sent successfully\",\n  \"sent_to\": \"{{ $('Extract Inputs').item.json.email }}\",\n  \"pdf_url\": \"{{ $('HTML to PDF').item.json.pdf_url }}\"\n}\n"
      },
      "typeVersion": 1.1
    },
    {
      "id": "88bd8b10-3c00-449d-aacf-fd515369e6cd",
      "name": "Download binary data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        848,
        112
      ],
      "parameters": {
        "url": "={{ $json.pdf_url }}",
        "options": {}
      },
      "typeVersion": 4.3
    },
    {
      "id": "04c7b298-2810-4883-a5c9-d52d1134014d",
      "name": "Extract Inputs",
      "type": "n8n-nodes-base.code",
      "position": [
        208,
        112
      ],
      "parameters": {
        "jsCode": "const b = $json.body;\n\nreturn [\n  {\n    json: {\n      name: b.name,\n      designation: b.designation,\n      email: b.email,\n      phone: b.phone,\n      linkedin: b.linkedin,\n      instagram: b.instagram,\n      website: b.website\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "65e6bee8-20f4-4fe6-ad0d-c67fa09013c1",
      "name": "Build HTML Signature",
      "type": "n8n-nodes-base.set",
      "position": [
        432,
        112
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "453e74e4-f219-48cd-b313-0b6dce70f13c",
              "name": "signature_html",
              "type": "string",
              "value": "=<div style=\"width:520px;margin:0 auto;padding:24px;font-family:'Inter',Arial,sans-serif;\n     background:#ffffff;border:1px solid #e5e7eb;border-radius:14px;\n     box-shadow:0 2px 8px rgba(0,0,0,0.06);\">\n\n  <!-- Header -->\n  <div style=\"border-bottom:1px solid #e5e7eb;padding-bottom:14px;margin-bottom:16px;\">\n    <h2 style=\"margin:0;font-size:22px;color:#111827;font-weight:600;\">\n      {{$json.name}}\n    </h2>\n    <p style=\"margin:2px 0 0;font-size:14px;color:#6b7280;\">\n      {{$json.designation}}\n    </p>\n  </div>\n\n  <!-- TWO COLUMN LAYOUT -->\n  <div style=\"display:flex;gap:24px;align-items:flex-start;\">\n\n    <!-- LEFT COLUMN -->\n    <div style=\"flex:1;min-width:200px;\">\n      <p style=\"margin:8px 0;font-size:14px;color:#374151;\">\n        \ud83d\udce7 <a href=\"mailto:{{$json.email}}\" style=\"color:#2563eb;text-decoration:none;\">\n          {{$json.email}}\n        </a>\n      </p>\n      <p style=\"margin:8px 0;font-size:14px;color:#374151;\">\n        \ud83d\udcde <a href=\"tel:{{$json.phone}}\" style=\"color:#2563eb;text-decoration:none;\">\n          {{$json.phone}}\n        </a>\n      </p>\n    </div>\n\n    <!-- RIGHT COLUMN -->\n    <div style=\"flex:1;min-width:200px;\">\n      <p style=\"margin:8px 0;font-size:14px;color:#374151;\">\n        \ud83d\udd17 LinkedIn:\n        <a href=\"{{$json.linkedin}}\" style=\"color:#2563eb;text-decoration:none;\">Profile</a>\n      </p>\n\n      <p style=\"margin:8px 0;font-size:14px;color:#374151;\">\n        \ud83d\udcf8 Instagram:\n        <a href=\"{{$json.instagram}}\" style=\"color:#2563eb;text-decoration:none;\">Profile</a>\n      </p>\n\n      <p style=\"margin:8px 0;font-size:14px;color:#374151;\">\n        \ud83c\udf10 Website:\n        <a href=\"{{$json.website}}\" style=\"color:#2563eb;text-decoration:none;\">Visit</a>\n      </p>\n    </div>\n\n  </div>\n\n  <!-- FOOTER -->\n  <hr style=\"border:0;border-top:1px solid #e5e7eb;margin:18px 0;\">\n  <p style=\"margin:0;font-size:11px;color:#9ca3af;text-align:center;\">\n    Premium Email Signature \u2022 Auto-Generated via n8n\n  </p>\n\n</div>\n"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "99ae8ba1-7247-4ae8-9a53-ecb24c555712",
      "name": "HTML to PDF",
      "type": "n8n-nodes-htmlcsstopdf.htmlcsstopdf",
      "position": [
        624,
        112
      ],
      "parameters": {
        "html_content": "={{ $json.signature_html }}"
      },
      "credentials": {
        "htmlcsstopdfApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7f394a11-e531-463a-be84-b3ba09d60dd3",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        16
      ],
      "parameters": {
        "width": 336,
        "height": 304,
        "content": "## **How This Workflow Works**\n\n\u2022 User sends details \u2192 name, designation, email, phone, social links\n\u2022 Workflow extracts + formats the input\n\u2022 Premium HTML signature is generated with icons, theme, and layout\n\u2022 HTML is converted into a high-resolution PDF\n\u2022 PDF is downloaded & attached to an email\n\u2022 Gmail sends the final signature to the user\n\u2022 Webhook returns a JSON success response with the pdf_url"
      },
      "typeVersion": 1
    },
    {
      "id": "3ad645b5-70f7-4f5f-b976-cbcfac2a3c03",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        -224
      ],
      "parameters": {
        "width": 304,
        "height": 224,
        "content": "## **Setup Instructions**\n\n**Content:**\n**Setup Checklist**\n\u2022 Add Gmail credentials\n\u2022 Replace logo URL if needed\n\u2022 Test webhook via Postman\n\u2022 Ensure HTML \u2192 PDF API key is valid at https://pdfmunk.com\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "9d08e2a5-1614-44d9-bb68-26c47def173b",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -176
      ],
      "parameters": {
        "color": 5,
        "width": 400,
        "height": 448,
        "content": "# **Input & Extraction**\n\n**Content:**\n**Webhook Intake**\n\u2022 Receives JSON (name, role, email, phone, links)\n\u2022 Validates required fields\n\u2022 Secure via custom admin token\n\n\n**Content:**\n**Extract Inputs**\n\u2022 Normalizes fields\n\u2022 Creates clean variables for HTML"
      },
      "typeVersion": 1
    },
    {
      "id": "86fc8547-2b21-4b2e-839b-e501b9a017f5",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        384,
        -192
      ],
      "parameters": {
        "color": 5,
        "width": 368,
        "height": 464,
        "content": "# **HTML Signature Builder**\n\n**Content:**\n**Build Modern Signature**\n\u2022 Premium layout (icons + sections)\n\u2022 Injects dynamic data safely\n\n**Content:**\n**HTML \u2192 PDF**\n\u2022 Handles fonts + icon SVGs\n\u2022 Outputs secure hosted `pdf_url`\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "b1414e28-48c8-4c8d-a87e-b27ac7cce82e",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        -224
      ],
      "parameters": {
        "color": 5,
        "width": 608,
        "height": 512,
        "content": "# **Delivery**\n\n**Content:**\n**Download PDF File**\n\u2022 Fetches `pdf_url`\n\u2022 Stores binary (property: data)\n\n**Content:**\n**Email Delivery**\n\u2022 Attaches generated PDF\n\u2022 Includes preview + signature details\n\n**Content:**\n**Return Response**\n\u2022 Sends JSON success message\n\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "",
  "connections": {
    "HTML to PDF": {
      "main": [
        [
          {
            "node": "Download binary data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Inputs": {
      "main": [
        [
          {
            "node": "Build HTML Signature",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build HTML Signature": {
      "main": [
        [
          {
            "node": "HTML to PDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download binary data": {
      "main": [
        [
          {
            "node": "Send Email via Gmail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Email via Gmail": {
      "main": [
        [
          {
            "node": "Success Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook - Signature Request": {
      "main": [
        [
          {
            "node": "Extract Inputs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}