{
	"name": "PostOnce: publish approved content and inspect status",
	"active": false,
	"nodes": [
		{
			"id": "approved-content",
			"name": "Approved Content",
			"type": "n8n-nodes-base.webhook",
			"typeVersion": 2,
			"position": [0, 0],
			"webhookId": "postonce-approved-content",
			"parameters": {
				"httpMethod": "POST",
				"path": "postonce-approved-content",
				"authentication": "headerAuth",
				"responseMode": "onReceived",
				"options": {}
			}
		},
		{
			"id": "create-post",
			"name": "Create Post",
			"type": "n8n-nodes-postonce.postOnce",
			"typeVersion": 1,
			"position": [260, 0],
			"parameters": {
				"resource": "post",
				"operation": "create",
				"content": "={{ typeof $json.body.content === 'string' ? $json.body.content : '' }}",
				"accountIds": [],
				"idempotencyKey": "={{ typeof $json.body.event_id === 'string' && $json.body.event_id.trim() ? 'approved-post:' + $json.body.event_id : '' }}",
				"media": {},
				"additionalFields": {
					"externalId": "={{ $json.body.event_id }}"
				}
			}
		},
		{
			"id": "wait-processing",
			"name": "Wait for Processing",
			"type": "n8n-nodes-base.wait",
			"typeVersion": 1.1,
			"position": [520, 0],
			"parameters": {
				"amount": 10,
				"unit": "seconds"
			}
		},
		{
			"id": "get-status",
			"name": "Get Post Status",
			"type": "n8n-nodes-postonce.postOnce",
			"typeVersion": 1,
			"position": [780, 0],
			"parameters": {
				"resource": "post",
				"operation": "get",
				"id": "={{ $json.id }}"
			}
		},
		{
			"id": "setup-note",
			"name": "Setup and Result Semantics",
			"type": "n8n-nodes-base.stickyNote",
			"typeVersion": 1,
			"position": [0, -260],
			"parameters": {
				"width": 990,
				"height": 210,
				"content": "## Review before enabling\nSelect Header Auth for the webhook and a PostOnce API credential on both PostOnce nodes. Set the destination account IDs in Create Post after Account Get Many discovery. Send already-approved JSON: {\"event_id\":\"stable-source-id\",\"content\":\"Final text\"}. Keep event_id unchanged on retry; missing IDs fail before publishing.\n\nThe webhook acknowledges receipt, not publication. The ten-second wait is bounded and does not ensure delivery: inspect Get Post Status per-target results. Never change the key merely to bypass a pending/conflicting request. This workflow is inactive and contains no credentials."
			}
		}
	],
	"connections": {
		"Approved Content": {
			"main": [
				[
					{
						"node": "Create Post",
						"type": "main",
						"index": 0
					}
				]
			]
		},
		"Create Post": {
			"main": [
				[
					{
						"node": "Wait for Processing",
						"type": "main",
						"index": 0
					}
				]
			]
		},
		"Wait for Processing": {
			"main": [
				[
					{
						"node": "Get Post Status",
						"type": "main",
						"index": 0
					}
				]
			]
		}
	},
	"settings": {
		"executionOrder": "v1"
	},
	"pinData": {},
	"tags": []
}
