<aside> đź’ˇ These features are in Beta. Please contact your support team if you have questions or feedback

</aside>

gRPC is a system for connecting internal services, that typically runs much faster than REST API calls. Remote Procedure Call interfaces are described using Protocol Buffers, and require some additional setup beyond what you’d use for traditional API calls - in exchange for some upfront setup work, you can call Workflows faster than ever before.

Who can use this: gRPC connections currently only work for our “private cloud” customers. If you’re logging into app.usemodernlogic.com then this won’t work for you.

Why would I want this: it’s fast! Somewhere between 7-10x faster than regular API calls. Companies with very tight SLA requirements can see significant performance gains here

Inbound gRPC Setup

Starting in Version 2.7.0, if a Workflow can be called using gRPC, you’ll see a gRPC endpoint displayed when the Input block is selected.

Screen Shot 2022-04-07 at 2.56.20 PM.png

The download icon next to the endpoint URL will download a .proto file, which is necessary to set up the call to Execute the workflow. You’ll need four items to call a workflow:

  1. the grpc endpoint URL displayed on the Input panel

  2. executeWorkflow.proto - the file downloaded above, name may vary

  3. a valid token Making API calls to Modern Logic

  4. workflow_input.json - a payload file (where you pass the fields into the workflow). See example below, and make sure the fields you want to pass are included in Customer, and you update the workflowId

{
  "payload": {
    "customer": {
      "first_name": "Jackson",
      "last_name": "Smith",
      "email": "[email protected]"
    }

  },
  "workflowId": 13,
  "async": false
}

You can then try hitting your workflow using grpcurl

grpcurl --import-path /path/to/proto -proto /path/to/proto/executeWorkflow.proto -H 'Authorization: Bearer <token>' -d @ grpc-dev.usemodernlogic.com:443 shieldrule.WorkflowGrpcService/executeWorkflow < workflow_input.json

Outbound GRPC connections