Risemi
Node list
1. Stripe Trigger — fires on checkout.session.completed — reads nothing upstream.
2. Notion — Create database page in "Customers" — Email ← $json.customer_details.email; Plan ← $json.metadata.plan; Amount ← $json.amount_total / 100; Date ← $json.created.
3. Slack — Post to #revenue — "New paid signup: {email} on {plan} ({amount} USD)" built from the same fields.

Workflow JSON: attached below, importable; credentials referenced as "Stripe account", "Notion workspace", "Slack bot" — create those three in Credentials before activating.

Error path: Error Trigger workflow "Alerts" → Slack #ops with the failing workflow name, the item's customer email, and the error message.

Test plan: in the Stripe Trigger node, click "Listen for test event", then send a test checkout.session.completed from the Stripe dashboard → Notion shows one row with the four fields → Slack shows one message → execution list shows green.

Smallest v1: this is already the smallest version (3 nodes). Add the welcome email as node 4 next week, after you have watched this run for a few days.
Example output
You say
Build an n8n workflow: Stripe checkout.session.completed → create a Notion customer row → Slack #revenue; alert #ops on failure; smallest v1 first.
Promptv1.0.0

n8n Workflow From a Plain-English Spec

Five spec lines in; a node list, importable JSON, an error path and a test plan out.

No ratings yet0 installs0 savesupdated Nov 7
Free
Get it free
Install with the CLICLI coming soon
$npx risemi install n8n-workflow-spec

What you get

  • A spec shape that maps directly to trigger → action grammar
  • Native-node-first rule, HTTP Request only when necessary
  • Importable workflow JSON with credentials referenced by name
  • An error path so failures are not silent
  • A smallest-v1 recommendation when the full version is big

Good fit

  • Founders automating the paste work between Stripe, Notion, Slack and email
  • Ops people building their first ten workflows
  • Developers who want the scaffold, then edit

Not for

  • Processes you have not run manually for a few weeks — automate the second time, not the first
  • Workflows that need custom code for most steps

About this prompt

n8n Workflow From a Plain-English Spec

If you can describe an automation as "when X happens, do Y", you can build it in n8n — everything else is decoration on that grammar. The part people get wrong is the spec: vague triggers, steps out of order, no idea what "worked" looks like, and no plan for what happens when it fails at midnight. This prompt is a five-line spec that maps onto n8n's model and returns the node list with the upstream field each node reads, importable JSON, an error path and a test plan.

How to use. Write the trigger as an event in a named system, the steps in order, the branching conditions, the outcome you will check, and the systems involved. Credentials are referenced by name and never pasted. Paste the output into n8n via Import from clipboard, create the named credentials, run the test plan once with sample data, then activate.

What to change. For scheduled jobs, the trigger is "Schedule Trigger, 09:00 daily" and the first node is a fetch. For AI steps, add "an AI Agent node with tools: ..." to the steps and name the stop condition. If the full version exceeds eight nodes, build the v1 the prompt recommends first.

Not a fit. Processes you have not run by hand yet — manual exposes the edge cases, automation amplifies them.

Similar products

Assumption: no n8n-MCP server is connected in this session, so I took the skill's fallback path: I wrote the workflow JSON directly from the bundled rules and checked it by review (a rule-check script plus a dry run of every expression). The real validator (`validate_workflow`) was not run, and nothing was deployed.

How the skill routed this

| Step | Sub-skill used | What it decided |
|---|---|---|
| Shape | `n8n-workflow-patterns` | Webhook processing pattern: Webhook, then Validate, then Action, then Respond |
| Node parameters | `n8n-node-configuration` | Slack post needs a channel and text. `responseMode: "responseNode"`. `options.responseCode` set on every Respond node. UUID node ids, no placeholder credentials |
| Expressions | `n8n-expression-syntax` | Webhook data lives under `.body`. Use `$('Webhook').item.json.body.*` once past the IF node. `=` prefix on every expression field |
| Error paths | `n8n-error-handling` | Slack gets `onError: "continueErrorOutput"` and its `main[1]` is wired to the 500 responder. `retryOnFail` is on. Bad input is caught upstream and gets a 400 |
| Validation | `n8n-validation-expert` | Runtime-profile checks done by review. Security warnings get fixed (header auth on the webhook) |

```
Webhook ──> Validate Input ──true──> Post to #signups ──success (main[0])──> Respond 200 OK
                        └──false──> Respond 400 Invalid Input
                                     Post to #signups ──error (main[1])────> Respond 500 Slack Failed
```

Validation result (excerpt)

```
PASS  Webhook responseMode is responseNode (Respond nodes control the reply)
PASS  Every branch (success and each error) ends at a Respond to Webhook node: no hanging branch
PASS  'Post to #signups': onError=continueErrorOutput AND main[1] wired
PASS  'Post to #signups': retryOnFail with maxTries <= 5 and waitBetweenTries <= 5000
PASS  Every {{ }} field starts with = (no 'Expression requires = prefix' error)
PASS  Webhook fields read from .body, never $json.name / $json.email / $json.plan
…
43 passed, 0 failed
```

Expression dry run against sample webhook items:

```
valid           IF -> true  (Slack)  Slack text: New signup: Ana Lima (ana@example.com) on pro
missing_plan    IF -> false (400)
bad_email       IF -> false (400)
no_body         IF -> false (400)
500 body:   {"error":"upstream_error","message":"The signup was received but could not be posted to Slack. Please retry later."}
```

Not verified without the server: the node typeVersions (Webhook 2.2, IF 2.3, Slack 2.3, Respond 1.5) and the Slack v2 parameter names; confirm by opening the nodes after import.

[The full answer also holds the six-node list, the importable workflow JSON and the expressions table with the reason behind each one.]
SkillCodePro
  • Antigravity
  • Claude Code
  • Codex
  • +4
Coding

n8n Builder Skills for Coding Agents

Use it to have your coding agent build, configure and validate n8n workflows without the usual expression and node-config mistakes.

0 installs
$12.99

Questions about this prompt

Where do I paste it?

Into any chat model or agent you already use: ChatGPT, Claude, Gemini, Cursor and so on. Replace the {{variables}} with your own details first.

Can I edit it?

Yes. Once it is in your library it is yours to adapt: change the tone, add your context, cut steps you do not need. Updates from us never overwrite your copy.

What if it doesn't work?

Write to hello@risemi.io within 7 days of buying and we refund you. Tell us what you tried and we will improve the prompt.