Documentation Index

Fetch the complete documentation index at: https://documentation.decisions.com/llms.txt

Use this file to discover all available pages before exploring further.

Integration with External Services via gRPC

Prev Next

Overview

gRPC (Remote Procedure Call) is an open source framework that enables client and server applications to communicate efficiently by predefining what methods are available to use. This allows users to more easily build distributed systems, especially systems involving microservices and server-to-server communication. Examples include banking services, e-commerce platforms, video streaming, mobile applications, and many more. gRPC uses protocol buffers, a mechanism for serializing structured data into a compact binary format. Support for gRPC is only available in v9.15 and above.


Settings and Configuration

The following table describes all the settings to configure a gRPC Service.

SettingDescription
NameUser-defined name for the gRPC service reference. Steps with this name will be available in the toolbox under Integration > External Services.
DescriptionDescription of what the gRPC Service is intended for.
Service URLSpecifies the address where the application will send requests to or receive responses from. It typically includes the protocol (e.g., http:// or https://) and the domain or IP address of the web service.
Service Definition Proto FilesThe .proto files define the gRPC services, RPC methods, and message types the integration will use. These allow the client to understand how to communicate with the server.
Reflection URLThe address of a gRPC server that exposes the gRPC Server Reflection service. 
Proto File Directory ZipA ZIP archive containing a directory of .proto files and any imported dependencies.
Services to IncludeSpecifies which gRPC services to include from the provided .proto definitions. 
Additional HTTP HeadersCustom metadata headers to send with every gRPC request.
Authentication TypeDetermines how the client authenticates with the gRPC server. The options are: No Authentication, Use Basic Authentication, Use Windows Auth (Requires Advanced Setup), and Use OAuth.
Ignore Server Certificate ErrorsIf enabled, the client accepts invalid or untrusted TLS certificates. This option is not recommended unless used for development or testing.
Enable Mutual AuthenticationEnables mutual TLS, where both the client and server authenticate each other using TLS certificates. If enabled, a P12/PFX Certificate and P12/PFX Password must be provided.

Example: Route Guide

The following example utilizes the Route Guide example. It was configured with the open-source instructions found here.

  1. Navigate to Project > Manage > Integrations > External Services. Click Add gRPC Service.
  2. Provide a name for the service, define the service URL, and upload the .proto files from a zip file. Select RouteGuide (in route_guide.proto) under Services to Include. Hit Save Integration.
  3. After creating the service, go to the Designer Folder and create a Flow. Open the Toolbox and navigate to Integration > GRPC > GRPC_Service > RouteGuide. The service methods imported from the .proto file(s) will appear as steps. Drag over any steps to the workspace, and connect the step to the Start and End steps. 
  4. Click Debug on the top action bar to review the output of each step.