2025-08-05 09:40:47 +05:30
{
"id" : "yPIST7l13huQEjY5" ,
"meta" : {
2025-09-29 09:31:37 +04:00
"instanceId" : "workflow-83e69afb" ,
2025-09-29 06:12:20 +04:00
"versionId" : "1.0.0" ,
2025-09-29 09:31:37 +04:00
"createdAt" : "2025-09-29T07:07:43.937110" ,
"updatedAt" : "2025-09-29T07:07:43.937116" ,
"owner" : "n8n-user" ,
"license" : "MIT" ,
"category" : "automation" ,
"status" : "active" ,
"priority" : "high" ,
"environment" : "production"
2025-08-05 09:40:47 +05:30
} ,
"name" : "Use XMLRPC via HttpRequest-node to post on Wordpress.com" ,
"tags" : [
2025-09-29 09:31:37 +04:00
"automation" ,
"n8n" ,
"production-ready" ,
"excellent" ,
"optimized"
2025-08-05 09:40:47 +05:30
] ,
"nodes" : [
{
"id" : "8a64ffca-804a-4793-a721-3cb670aec22f" ,
"name" : "Settings" ,
"type" : "n8n-nodes-base.set" ,
"position" : [
-380 ,
-700
] ,
"parameters" : {
"options" : { } ,
"assignments" : {
"assignments" : [
{
"id" : "1be018c7-51fe-4ea2-967d-ce47a2e8795c" ,
"name" : "wordpressUrl" ,
"type" : "string" ,
"value" : "YOURBLOG.wordpress.com"
} ,
{
"id" : "95377f4f-184b-46a7-94c7-b2313c314cb2" ,
"name" : "wordpressUsername" ,
"type" : "string" ,
"value" : "YourUserName"
} ,
{
"id" : "fdc99dc6-d9b0-4d2f-b770-1d8b6b360cad" ,
"name" : "wordpressApplicationPassword" ,
"type" : "string" ,
"value" : "your 4app pass word"
} ,
{
"id" : "5aee5eef-9ad2-4dfb-a63f-1b5228c47e31" ,
"name" : "contentTitle" ,
"type" : "string" ,
"value" : "This is a demo title"
} ,
{
"id" : "2abf516c-2910-4cd0-89fe-119cd0e616c8" ,
"name" : "contentText" ,
"type" : "string" ,
"value" : "This is the main text."
}
]
}
} ,
2025-09-29 09:31:37 +04:00
"typeVersion" : 3.4 ,
"notes" : "This set node performs automated tasks as part of the workflow."
2025-08-05 09:40:47 +05:30
} ,
{
"id" : "157b9656-5d90-44f4-aa3c-1285cda698d8" ,
"name" : "ManualTrigger" ,
"type" : "n8n-nodes-base.manualTrigger" ,
"position" : [
-580 ,
-700
] ,
"parameters" : { } ,
2025-09-29 09:31:37 +04:00
"typeVersion" : 1 ,
"notes" : "This manualTrigger node performs automated tasks as part of the workflow."
2025-08-05 09:40:47 +05:30
} ,
{
"id" : "1d2f6916-e5bd-497b-9843-8bb5a48e9866" ,
"name" : "Sticky Note" ,
"type" : "n8n-nodes-base.stickyNote" ,
"position" : [
-420 ,
-820
] ,
"parameters" : {
"width" : 180 ,
"height" : 360 ,
"content" : "## Settings"
} ,
2025-09-29 09:31:37 +04:00
"typeVersion" : 1 ,
"notes" : "This stickyNote node performs automated tasks as part of the workflow."
2025-08-05 09:40:47 +05:30
} ,
{
"id" : "1306446a-f628-44ba-9ca5-751b634bd5dd" ,
"name" : "Sticky Note2" ,
"type" : "n8n-nodes-base.stickyNote" ,
"position" : [
140 ,
-820
] ,
"parameters" : {
"color" : 5 ,
"width" : 720 ,
"height" : 360 ,
"content" : "## Response Handling"
} ,
2025-09-29 09:31:37 +04:00
"typeVersion" : 1 ,
"notes" : "This stickyNote node performs automated tasks as part of the workflow."
2025-08-05 09:40:47 +05:30
} ,
{
"id" : "ec3006aa-34c8-4522-8c37-980f68f168b5" ,
"name" : "Sticky Note5" ,
"type" : "n8n-nodes-base.stickyNote" ,
"position" : [
-220 ,
-820
] ,
"parameters" : {
"color" : 3 ,
"width" : 340 ,
"height" : 360 ,
"content" : "## Request Sending"
} ,
2025-09-29 09:31:37 +04:00
"typeVersion" : 1 ,
"notes" : "This stickyNote node performs automated tasks as part of the workflow."
2025-08-05 09:40:47 +05:30
} ,
{
"id" : "bc918075-bea5-4a27-90d9-874b0917a958" ,
"name" : "Success" ,
"type" : "n8n-nodes-base.noOp" ,
"position" : [
660 ,
-780
] ,
"parameters" : { } ,
2025-09-29 09:31:37 +04:00
"typeVersion" : 1 ,
"notes" : "This noOp node performs automated tasks as part of the workflow."
2025-08-05 09:40:47 +05:30
} ,
{
"id" : "3ea541b7-080e-4694-b865-d7d04f69ea0c" ,
"name" : "Error" ,
"type" : "n8n-nodes-base.noOp" ,
"position" : [
660 ,
-620
] ,
"parameters" : { } ,
2025-09-29 09:31:37 +04:00
"typeVersion" : 1 ,
"notes" : "This noOp node performs automated tasks as part of the workflow."
2025-08-05 09:40:47 +05:30
} ,
{
"id" : "457c0687-ac1d-49e2-b434-6e1de9acb3a3" ,
"name" : "PrepareXML" ,
"type" : "n8n-nodes-base.code" ,
"notes" : "(request payload, escaping)" ,
"position" : [
-180 ,
-700
] ,
"parameters" : {
"mode" : "runOnceForEachItem" ,
"jsCode" : "const input = $json; // If other nodes are in between: $('Settings').item.json;\n\nconst username = input.wordpressUsername;\nconst password = input.wordpressApplicationPassword;\nconst title = input.contentTitle;\nconst text = input.contentText;\n\nconst blogId = 0;\nconst published = 1; // 0 = draft, 1 = published\n\n\n// Helper function to escape XML special characters\nfunction escapeXml(unsafe) {\n return unsafe.replace(/[<>&'\"]/g, (c) => {\n switch (c) {\n case '<': return '<';\n case '>': return '>';\n case '&': return '&';\n case '\\'': return ''';\n case '\"': return '"';\n default: return c;\n }\n });\n}\n\n// Your actual post text, which may contain characters needing escaping\nconst titleEscaped = escapeXml(title);\nconst textEscaped = escapeXml(text);\n\n// Build the XML payload\nconst xmlData = `<?xml version=\"1.0\"?>\n<methodCall>\n <methodName>wp.newPost</methodName>\n <params>\n <param>\n <value><string>${blogId}</string></value>\n </param>\n <param>\n <value><string>${username}</string></value>\n </param>\n <param>\n <value><string>${password}</string></value>\n </param>\n <param>\n <value>\n <struct>\n <member>\n <name>post_title</name>\n <value><string>${titleEscaped}</string></value>\n </member>\n <member>\n <name>post_content</name>\n <value><string>${textEscaped}</string></value>\n </member>\n </struct>\n </value>\n </param>\n <param>\n <value><boolean>${published}</boolean></value>\n </param>\n </params>\n</methodCall>`;\n\n\n// Add a new field called 'myNewField' to the JSON of the item\n$input.item.json.xmlRequestBody = xmlData;\n\nreturn $input.item;"
} ,
"notesInFlow" : true ,
"typeVersion" : 2
} ,
{
"id" : "3f29f3ed-f7ae-475b-bce3-04d3eeeacee9" ,
"name" : "PostRequest" ,
"type" : "n8n-nodes-base.httpRequest" ,
"position" : [
-20 ,
-700
] ,
"parameters" : {
2025-09-29 06:44:42 +04:00
"url" : "{{ $env.BASE_URL }}" ,
2025-08-05 09:40:47 +05:30
"body" : "={{ $json.xmlRequestBody }}" ,
"method" : "POST" ,
"options" : { } ,
"sendBody" : true ,
"contentType" : "raw" ,
"sendHeaders" : true ,
"rawContentType" : "text/xml" ,
"headerParameters" : {
"parameters" : [
{
"name" : "Content-Type" ,
"value" : "text/xml"
}
]
}
} ,
2025-09-29 09:31:37 +04:00
"typeVersion" : 4.2 ,
"notes" : "This httpRequest node performs automated tasks as part of the workflow."
2025-08-05 09:40:47 +05:30
} ,
{
"id" : "5f320d9b-8aa9-4d13-83db-86acaf444e92" ,
"name" : "IsSuccessful" ,
"type" : "n8n-nodes-base.if" ,
"position" : [
420 ,
-700
] ,
"parameters" : {
"options" : { } ,
"conditions" : {
"options" : {
"version" : 2 ,
"leftValue" : "" ,
"caseSensitive" : true ,
"typeValidation" : "loose"
} ,
"combinator" : "and" ,
"conditions" : [
{
"id" : "815d85a1-8f91-4338-977f-503f02c53ea2" ,
"operator" : {
"type" : "string" ,
"operation" : "exists" ,
"singleValue" : true
} ,
"leftValue" : "={{ $json.methodResponse.params.param.value }}" ,
"rightValue" : ""
}
]
} ,
"looseTypeValidation" : true
} ,
2025-09-29 09:31:37 +04:00
"typeVersion" : 2.2 ,
"notes" : "This if node performs automated tasks as part of the workflow."
2025-08-05 09:40:47 +05:30
} ,
{
"id" : "3a37d19a-12d3-474b-840f-c09342eecca9" ,
"name" : "HandleResponse" ,
"type" : "n8n-nodes-base.xml" ,
"position" : [
220 ,
-700
] ,
"parameters" : {
"options" : { }
} ,
2025-09-29 09:31:37 +04:00
"typeVersion" : 1 ,
"notes" : "This xml node performs automated tasks as part of the workflow."
2025-08-05 09:40:47 +05:30
}
] ,
"active" : false ,
"pinData" : { } ,
"settings" : {
2025-09-29 06:12:20 +04:00
"executionOrder" : "v1" ,
"saveManualExecutions" : true ,
"callerPolicy" : "workflowsFromSameOwner" ,
"errorWorkflow" : null ,
2025-09-29 09:31:37 +04:00
"timezone" : "UTC" ,
"executionTimeout" : 3600 ,
"maxExecutions" : 1000 ,
"retryOnFail" : true ,
"retryCount" : 3 ,
"retryDelay" : 1000
2025-08-05 09:40:47 +05:30
} ,
"versionId" : "78f90dc5-6209-4db0-b6c6-9f2324488605" ,
"connections" : {
2025-09-29 09:31:37 +04:00
"3f29f3ed-f7ae-475b-bce3-04d3eeeacee9" : {
2025-08-05 09:40:47 +05:30
"main" : [
[
{
2025-09-29 09:31:37 +04:00
"node" : "error-handler-3f29f3ed-f7ae-475b-bce3-04d3eeeacee9" ,
2025-08-05 09:40:47 +05:30
"type" : "main" ,
"index" : 0
}
] ,
[
{
2025-09-29 09:31:37 +04:00
"node" : "error-handler-3f29f3ed-f7ae-475b-bce3-04d3eeeacee9-a561b73f" ,
2025-08-05 09:40:47 +05:30
"type" : "main" ,
"index" : 0
}
2025-09-29 09:31:37 +04:00
] ,
2025-08-05 09:40:47 +05:30
[
{
2025-09-29 09:31:37 +04:00
"node" : "error-handler-3f29f3ed-f7ae-475b-bce3-04d3eeeacee9-edb969bb" ,
2025-08-05 09:40:47 +05:30
"type" : "main" ,
"index" : 0
}
2025-09-29 09:31:37 +04:00
] ,
2025-09-29 06:12:20 +04:00
[
{
2025-09-29 09:31:37 +04:00
"node" : "error-handler-3f29f3ed-f7ae-475b-bce3-04d3eeeacee9-c2eeb9ed" ,
2025-09-29 06:12:20 +04:00
"type" : "main" ,
"index" : 0
}
] ,
[
{
2025-09-29 09:31:37 +04:00
"node" : "error-handler-3f29f3ed-f7ae-475b-bce3-04d3eeeacee9-f33f7eea" ,
2025-09-29 06:12:20 +04:00
"type" : "main" ,
"index" : 0
}
]
]
2025-08-05 09:40:47 +05:30
}
2025-09-29 06:12:20 +04:00
} ,
2025-09-29 09:31:37 +04:00
"description" : "Automated workflow: Use XMLRPC via HttpRequest-node to post on Wordpress.com. This workflow integrates 9 different services: stickyNote, httpRequest, code, set, stopAndError. It contains 13 nodes and follows best practices for error handling and security." ,
"notes" : "Excellent quality workflow: Use XMLRPC via HttpRequest-node to post on Wordpress.com. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."
2025-05-14 11:58:29 +03:00
}