Step Functions - AWS IoT Core

Step Functions

The Step Functions (stepFunctions) action starts an AWS Step Functions state machine.


This rule action has the following requirements:

  • An IAM role that AWS IoT can assume to perform the states:StartExecution operation. For more information, see Granting an AWS IoT rule the access it requires.

    In the AWS IoT console, you can choose or create a role to allow AWS IoT to perform this rule action.


When you create an AWS IoT rule with this action, you must specify the following information:


The name of the Step Functions state machine to start.

Supports substitution templates: API and AWS CLI only


(Optional) The name given to the state machine execution consists of this prefix followed by a UUID. Step Functions creates a unique name for each state machine execution if one is not provided.

Supports substitution templates: Yes


The ARN of the role that grants AWS IoT permission to start the state machine. For more information, see Requirements.

Supports substitution templates: No


The following JSON example defines a Step Functions action in an AWS IoT rule.

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "stepFunctions": { "stateMachineName": "myStateMachine", "executionNamePrefix": "myExecution", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_step_functions" } } ] } }

See also