Properties
The name of the function to call.
A name/value mapping of the parameters to call the function with.
Built-in Functions
Serverless Workflow defines several default functions that MUST be supported by all implementations and runtimes:- AsyncAPI - Interact with AsyncAPI-described services
- gRPC - Communicate via gRPC protocol
- HTTP - Make HTTP requests
- OpenAPI - Call OpenAPI-described operations
- A2A - Interact with AI agents
- MCP - Interact with Model Context Protocol servers
AsyncAPI Call
The AsyncAPI Call enables workflows to interact with external services described by AsyncAPI.Properties
The AsyncAPI document that defines the operation to call.
The name of the channel on which to perform the operation. Used only in case the referenced document uses AsyncAPI v2.6.0.
A reference to the AsyncAPI operation to call. Used only in case the referenced document uses AsyncAPI v3.0.0.
An object used to configure the server to call the specified AsyncAPI operation on. If not set, defaults to the first server matching the operation’s channel.
The protocol to use to select the target server. Ignored if
server has been set.Supported values: amqp, amqp1, anypointmq, googlepubsub, http, ibmmq, jms, kafka, mercure, mqtt, mqtt5, nats, pulsar, redis, sns, solace, sqs, stomp, wsAn object used to configure the message to publish using the target operation. Required if
subscription has not been set.An object used to configure the subscription to messages consumed using the target operation. Required if
message has not been set.The authentication policy, or the name of the authentication policy, to use when calling the AsyncAPI operation.
Example
gRPC Call
The gRPC Call enables communication with external systems via the gRPC protocol.Properties
The proto resource that describes the gRPC service to call.
The name of the gRPC service to call.
The hostname of the gRPC service to call.
The port number of the gRPC service to call.
The authentication policy to use when calling the gRPC service.
The name of the gRPC service method to call.
A name/value mapping of the method call’s arguments, if any.
Example
HTTP Call
The HTTP Call enables workflows to interact with external services over HTTP.Properties
The HTTP request method.
An URI or an object that describes the HTTP endpoint to call.
A name/value mapping of the HTTP headers to use, if any.
The HTTP request body, if any.
A name/value mapping of the query parameters to use, if any.
The HTTP call’s output format.Supported values:
raw- Outputs the base-64 encoded HTTP response content, if anycontent- Outputs the content of HTTP response, possibly deserializedresponse- Outputs the HTTP response
Specifies whether redirection status codes (300-399) should be treated as errors.
- If
false, runtimes must raise an error for response status codes outside the 200-299 range - If
true, runtimes must raise an error for status codes outside the 200-399 range
Example
OpenAPI Call
The OpenAPI Call enables workflows to interact with external services described by OpenAPI.Properties
The OpenAPI document that defines the operation to call.
The id of the OpenAPI operation to call.
A name/value mapping of the parameters, if any, of the OpenAPI operation to call.
The authentication policy to use when calling the OpenAPI operation.
The OpenAPI call’s output format.Supported values:
raw- Outputs the base-64 encoded HTTP response content, if anycontent- Outputs the content of HTTP response, possibly deserializedresponse- Outputs the HTTP response
Specifies whether redirection status codes (300-399) should be treated as errors.
Example
A2A Call
The A2A Call enables workflows to interact with AI agents described by A2A.Properties
The A2A JSON-RPC method to send.Supported values:
message/send, message/stream, tasks/get, tasks/list, tasks/cancel, tasks/resubscribe, tasks/pushNotificationConfig/set, tasks/pushNotificationConfig/get, tasks/pushNotificationConfig/list, tasks/pushNotificationConfig/delete, agent/getAuthenticatedExtendedCardThe AgentCard resource that describes the agent to call. Required if
server has not been set.An URI or an object that describes the A2A server to call. Required if
agentCard has not been set.The parameters for the A2A RPC method. For
message/send and message/stream methods, runtimes must default message.messageId to a uuid and message.role to user. Supports runtime expressions.The
security and securitySchemes fields of the AgentCard contain authentication requirements and schemes for communicating with the agent.On success, the output is the JSON-RPC result. On failure, runtimes must raise an error with type https://serverlessworkflow.io/spec/1.0.0/errors/runtime.For message/stream and tasks/resubscribe methods, the output is a sequentially ordered array of all result objects.Example
MCP Call
The MCP Call enables workflows to interact with Model Context Protocol (MCP) servers.Properties
The version of the MCP protocol to use.
The MCP method to call.Supported values:
tools/list- Lists available toolstools/call- Calls a specific toolprompts/list- Lists available promptsprompts/get- Gets a specific promptresources/list- Lists available resourcesresources/read- Reads a specific resourceresources/templates/list- Lists available resource templates
The MCP method parameters. Supports runtime expressions.
The duration after which the MCP call times out.
The transport to use to perform the MCP call.
Describes the client used to perform the MCP call.
On success, the output of the call is the JSON-RPC result. On failure, runtimes must raise an error with type
https://serverlessworkflow.io/spec/1.0.0/errors/runtime.