Skip to main content

Overview

Connect Marky to n8n for automated social media posting. Common workflows:
  • Blog published → social posts — RSS trigger → create post in Marky → schedule
  • New lead → welcome posts — CRM trigger → create branded social content
  • Weekly batch — Schedule trigger → create a week of posts
Install n8n-nodes-marky in n8n under Settings > Community Nodes > Install. It adds two nodes:
  • Marky: list workspaces and connected accounts, create a post (as a draft or scheduled in the same step), get, schedule, list and delete posts, and upload media from a URL. (Post Get and Delete arrived in 0.1.1.)
  • Marky Trigger: starts a workflow when a post is published (post.published). Activating the workflow registers the webhook for you, and every delivery’s signature and timestamp are checked before the workflow runs, so forged or replayed calls are refused.
Create a Marky API credential with your mk_live_ API key. The Base URL defaults to https://api.mymarky.ai. Create steps send an Idempotency-Key per execution and item, so turning on n8n’s Retry On Fail can never post twice.

Example: draft, read back, delete

Manual Trigger → Marky (Post > Create) → Marky (Post > Get) → Marky (Post > Delete). Leave Schedule For empty and the post is a draft (status NEW): nothing is published. In Get and Delete, set Post ID to {{ $('Marky').item.json.id }}. On 0.1.0 of the node, which has no Post Get or Delete, use an HTTP Request node instead, with Authentication Predefined Credential Type > Marky API (it reuses your credential) and the URL https://api.mymarky.ai/api/businesses/{{ $('Marky').item.json.business_id }}/posts/{{ $('Marky').item.json.id }}.

Option B: HTTP Request nodes

1. Create an HTTP Request node

2. Body

3. Schedule the post (optional)

Add a second HTTP Request node: n8n’s built-in looping makes it easy to create multiple posts and schedule them with staggered times.

Use a specific design template

To make every post use the same design, you need its template ID. The app does not show template IDs, so get them from the API.

1. List your templates

Add an HTTP Request node (same auth header as above): Each item in items has a template_id, a name, and a preview_url so you can see which design it is. If next is not null, call again with &cursor={{ $json.next }} to get the next page.

2. Generate posts with that template

You can also fill one template yourself: GET .../templates/{template_id} shows the text fields and image slots, and POST .../designs renders it.

Rate limits

Each API key can make 100 requests per minute, 2,000 per day, and 10,000 per week. A weekly batch of 10 posts uses ~20 requests, well within limits.