i have a Figma design and demo page woth all modules in my project (module-library). i need a workflow to create new page in my AEM local instance and compare the figma design with my module-library. if there is a matching module available then need to copy that module to my new page.
Workflow:
{
“nodes”: [
{
“parameters”: {},
“type”: “n8n-nodes-base.manualTrigger”,
“typeVersion”: 1,
“position”: [
672,
-1024
],
“id”: “aa862fa4-d308-4dd7-9098-1d5a26fdfb14”,
“name”: “When clicking ‘Execute workflow’”
},
{
“parameters”: {
“authentication”: “genericCredentialType”,
“genericAuthType”: “headerAuth”,
“url”: “https://api.figma.com/v1/files/QGiRevSAfR3X4dTHFJx0Qa”,
“options”: {},
“headerParametersUi”: {
“parameter”: [
{
“name”: “X-Figma-Token”,
“value”: “figd_62asZfalOYiwOyY7-b8JCNst0Ev5jq7ofaTfC853”
}
]
}
},
“id”: “a3168ef5-30a4-4379-bad5-4dec73b2752a”,
“name”: “Fetch Figma Data5”,
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 2,
“position”: [
848,
-1024
]
},
{
“parameters”: {
“assignments”: {
“assignments”: [
{
“name”: “figmaComponents”,
“value”: “={{ $json.document.children[0].children[6].children }}”,
“type”: “array”
},
{
“name”: “figmaTitle”,
“value”: “={{ $json.document.name }}”,
“type”: “string”
}
]
},
“options”: {}
},
“type”: “n8n-nodes-base.set”,
“typeVersion”: 3.4,
“position”: [
976,
-1008
],
“id”: “68cc2798-8087-48f7-94f4-382b0b0a2ab2”,
“name”: “Edit Fields (Set)4”
},
{
“parameters”: {
“authentication”: “genericCredentialType”,
“genericAuthType”: “httpBasicAuth”,
“url”: “https://02cb0c125288.ngrok-free.app/libs/granite/csrf/token.json”,
“options”: {}
},
“id”: “0208f779-328e-43e4-b7a0-a79b4d5f0dbe”,
“name”: “Fetch CSRF Token6”,
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 2,
“position”: [
1520,
-1104
],
“credentials”: {
“httpBasicAuth”: {
“id”: “KgowaIygZoxxBH0i”,
“name”: “AEM Admin”
}
}
},
{
“parameters”: {
“authentication”: “genericCredentialType”,
“genericAuthType”: “httpBasicAuth”,
“url”: “https://02cb0c125288.ngrok-free.app/content/etisalat/language-master/en/c/demo/dev-team/module-library.html.7.json”,
“options”: {}
},
“id”: “f6055514-fd5a-471f-8a2b-776af261cea6”,
“name”: “Fetch Module Library5”,
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 2,
“position”: [
1136,
-992
],
“credentials”: {
“httpBasicAuth”: {
“id”: “KgowaIygZoxxBH0i”,
“name”: “AEM Admin”
}
}
},
{
“parameters”: {
“assignments”: {
“assignments”: [
{
“name”: “moduleComponents”,
“value”: “={{ $json[‘jcr:content’].root.container }}”,
“type”: “object”
}
]
},
“options”: {}
},
“id”: “a59bf979-e560-4d09-a66a-3bcf9ee0e662”,
“name”: “Extract Module Components4”,
“type”: “n8n-nodes-base.set”,
“typeVersion”: 3.4,
“position”: [
1360,
-944
]
},
{
“parameters”: {
“functionCode”: “let token = “”;\nlet moduleComponents = {};\n\nfor (const item of items) {\n if (item.json.moduleComponents) {\n moduleComponents = item.json.moduleComponents;\n }\n\n if (item.json.token) {\n token = item.json.token;\n }\n\n if (item.json.data?.token) {\n token = item.json.data.token;\n }\n}\n\nreturn [{\n json: {\n token,\n moduleComponents\n }\n}];”
},
“id”: “10b77ecc-5bbb-404c-aa5a-495150437bda”,
“name”: “Combine Token and Modules1”,
“type”: “n8n-nodes-base.function”,
“typeVersion”: 1,
“position”: [
1744,
-976
]
},
{
“parameters”: {
“authentication”: “genericCredentialType”,
“genericAuthType”: “httpBasicAuth”,
“requestMethod”: “POST”,
“url”: “https://02cb0c125288.ngrok-free.app/content/etisalat/language-master/en/c/demo/ai-pages/esim-ai”,
“responseFormat”: “string”,
“options”: {
“bodyContentType”: “multipart-form-data”
},
“bodyParametersUi”: {
“parameter”: [
{
“name”: “jcr:primaryType”,
“value”: “cq:Page”
},
{
“name”: “jcr:content/jcr:primaryType”,
“value”: “cq:PageContent”
},
{
“name”: “jcr:content/jcr:title”,
“value”: “eand page”
},
{
“name”: “jcr:content/cq:template”,
“value”: “/conf/etisalat/settings/wcm/templates/nwt-consumer-page-template”
},
{
“name”: “jcr:content/sling:resourceType”,
“value”: “etisalat/components/nwt-con/consumer-page”
},
{
“name”: “jcr:content/root/jcr:primaryType”,
“value”: “nt:unstructured”
},
{
“name”: “jcr:content/root/layout”,
“value”: “responsiveGrid”
},
{
“name”: “jcr:content/root/sling:resourceType”,
“value”: “etisalat/components/nwt-con/common/container”
},
{
“name”: “jcr:content/root/container”,
“value”: “={{ JSON.stringify($json.moduleComponents) }}”
}
]
},
“headerParametersUi”: {
“parameter”: [
{
“name”: “ngrok-skip-browser-warning”,
“value”: “true”
},
{
“name”: “Content-Type”,
“value”: “multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW”
},
{
“name”: “CSRF-Token”,
“value”: “={{ $json.token }}”
}
]
}
},
“id”: “3e4f140b-3516-454c-bcc9-6c9378363c51”,
“name”: “Create New AEM Page10”,
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 2,
“position”: [
1952,
-976
],
“credentials”: {
“httpBasicAuth”: {
“id”: “KgowaIygZoxxBH0i”,
“name”: “AEM Admin”
}
}
}
],
“connections”: {
“When clicking ‘Execute workflow’”: {
“main”: [
[
{
“node”: “Fetch Figma Data5”,
“type”: “main”,
“index”: 0
}
]
]
},
“Fetch Figma Data5”: {
“main”: [
[
{
“node”: “Edit Fields (Set)4”,
“type”: “main”,
“index”: 0
}
]
]
},
“Edit Fields (Set)4”: {
“main”: [
[
{
“node”: “Fetch Module Library5”,
“type”: “main”,
“index”: 0
}
]
]
},
“Fetch CSRF Token6”: {
“main”: [
[
{
“node”: “Combine Token and Modules1”,
“type”: “main”,
“index”: 0
}
]
]
},
“Fetch Module Library5”: {
“main”: [
[
{
“node”: “Extract Module Components4”,
“type”: “main”,
“index”: 0
}
]
]
},
“Extract Module Components4”: {
“main”: [
[
{
“node”: “Combine Token and Modules1”,
“type”: “main”,
“index”: 0
},
{
“node”: “Fetch CSRF Token6”,
“type”: “main”,
“index”: 0
}
]
]
},
“Combine Token and Modules1”: {
“main”: [
[
{
“node”: “Create New AEM Page10”,
“type”: “main”,
“index”: 0
}
]
]
}
},
“pinData”: {},
“meta”: {
“instanceId”: “b97237cc69f620ea38279603a37a4dd77020f20940bc140c02e848442ce68a0b”
}
}