Hi,
Since Appian doesn't natively integrate with SQS, using SNS as an intermediary with filter-based forwarding is a clever workaround.
Understanding Message Attributes
- Message Attributes add metadata to SNS messages.
- They are key-value pairs (string name, string value).
- Some attributes have special meaning for filtering
Postman Setup
- Endpoint: Find your SNS Topic ARN (looks like
arn:aws:sns:region:account-id:topic-name)
- Method: POST
- Authorization: Use AWS Signature Version 4 (Postman can help generate this based on your credentials)
- Headers:
Content-Type: application/x-www-form-urlencoded
- Body: (form-urlencoded)
Action: "Publish"
Version: "2010-03-31"
Message: Your JSON payload string
MessageAttributes.entry.1.Name: (attribute name, e.g., "eventType")
MessageAttributes.entry.1.Value.StringValue: (attribute value)
MessageAttributes.entry.1.Value.DataType: "String"
- ... (add more attributes as needed)
Appian Integration (HTTP Connected System)
- Create Connected System:
- Type: HTTP
- Authentication: AWS Signature Version 4
- Create Integration:
- Method: POST
- Endpoint URL: Substitute your SNS Topic ARN
- Headers:
Content-Type: application/x-www-form-urlencoded
- Parameters
- Use Appian expressions to dynamically construct parameters listed in the Postman body section
Note:
- SQS Subscription: Ensure your SQS queue is subscribed to the SNS topic with an appropriate filter policy based on your Message Attributes.
- Error Handling: Implement robust error handling on the Appian side.