Skip to content

Aws step functions#87

Open
projeffpalmer wants to merge 3 commits intokirodotdev:mainfrom
projeffpalmer:aws-step-functions
Open

Aws step functions#87
projeffpalmer wants to merge 3 commits intokirodotdev:mainfrom
projeffpalmer:aws-step-functions

Conversation

@projeffpalmer
Copy link
Copy Markdown

Issue #, if available:

Description of changes:
Incorporated feedback from the AWS Step Functions Dev team and SA team into the aws-step-functions power.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

projeffpalmer and others added 3 commits March 17, 2026 11:23
…dation and testing

Tested all code snippets with this power and fixed all discovered issues
Reviewed POWER.md and updated it
displayName: "AWS Step Functions"
description: "Build AWS Step Functions state machines using the JSONata query language. Covers Amazon States Language (ASL) structure, all state types, variables, data transformation, error handling, and service integrations."
keywords: ["step functions", "state machine", "serverless", "jsonata", "asl", "amazon states language", "workflow orchestration"]
author: "[Jeff Palmer](https://linkedin.com/in/jeffrey-palmer/)"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
author: "[Jeff Palmer](https://linkedin.com/in/jeffrey-palmer/)"
author: "AWS"

name: "aws-step-functions"
displayName: "AWS Step Functions"
description: "Build AWS Step Functions state machines using the JSONata query language. Covers Amazon States Language (ASL) structure, all state types, variables, data transformation, error handling, and service integrations."
keywords: ["step functions", "state machine", "serverless", "jsonata", "asl", "amazon states language", "workflow orchestration"]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
keywords: ["step functions", "state machine", "serverless", "jsonata", "asl", "amazon states language", "workflow orchestration"]
keywords: ["step functions", "state machine", "serverless", "jsonata", "asl", "amazon states language", "workflow", "orchestration"]

---
name: "aws-step-functions"
displayName: "AWS Step Functions"
description: "Build AWS Step Functions state machines using the JSONata query language. Covers Amazon States Language (ASL) structure, all state types, variables, data transformation, error handling, and service integrations."
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: "Build AWS Step Functions state machines using the JSONata query language. Covers Amazon States Language (ASL) structure, all state types, variables, data transformation, error handling, and service integrations."
description: "Build workflows with AWS Step Functions state machines using the JSONata query language. Covers Amazon States Language (ASL) structure, all state types, variables, data transformation, error handling, and service integrations."


# AWS Step Functions

AWS Step Functions provides visual workflow orchestration with native integrations to 9,000+ API actions across 200+ AWS services. Define workflows as state machines in Amazon States Language using the JSONata query language instead of legacy JSONPath.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This mixes description (what is SFN) with guidance (Not using JSONPath), separate the two parts.

| `Pass` | Pass input to output, optionally injecting or transforming data |
| `Succeed` / `Fail` | End execution successfully or with an error and cause |

### Setting the State Machine Query Language
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Extract all the JSONata specific parts to a separate file (or distribute it across the existing files) to keep the POWER.md as concise as possible. The guidance is around 100 lines if I recall correctly

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doc is too long, consider removing some of the examples or only highlighting the key parts.


**Merging result into input** (`ResultPath: "$.field"`):
```json
// Preferred: use Assign to store, pass input through
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Powers are written for agents, provide them with clear instructions when to use what. Use defaults and add overrides if necessary

### 1. Mixing JSONPath and JSONata fields in the same state
Invalid combinations: `Arguments` + `InputPath`, `Output` + `ResultSelector`, `Condition` + `Variable`. Remove all JSONPath fields from converted states.

### 2. Forgetting to remove `.$` suffixes
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Write this for agents, i.e. "Do not forget to remove .$ suffixes

✓ "orderId": "{% $states.input.orderId %}"
```

### 3. Using `$` or `$$` instead of `$states`
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar: Use $states instead of...

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider extracting full code examples to a snippets folder

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants