Client Web SDK

Integrate an Agent with the Client SDK

Introduction

AirOps provides an easy and secure way to bring your AirOps Workflows to end user web experiences. To facilitate secure access to our Workflow directly from client-side code, we have implemented a Client SDK with an authorization mechanism.

This document will guide you through the process of installing and integrating our Client SDK with your server-side code, enabling your end-users to securely access Workflows endpoints.

Checkout our apps and chat playgrounds with code examples.

Authentication

To authenticate with our API using the SDK, you'll need three pieces of information:

  1. Your workspace ID: Settings > Workspace ID

  2. User ID (any unique identifier will work)

  3. Your API key: Settings > API Key

First, use the API key to hash your user id on your back-end server. This will result in a hashed user id that is unique to your API key and user ID combination.

Here's a sample implementation of the identity verification process for your server:

require "openssl"

def user_id_hash
  api_key = "YOUR_API_KEY" # your workspace token (keep safe!)
  user_id = "YOUR_USER_ID"

  # Convert your api key to bytes
  key = api_key.encode("utf-8")

  # Hash the message using HMAC-SHA256 and the key
  hash = OpenSSL::HMAC.hexdigest('sha256', key, user_id)
end

Running Workflows via Client SDK

Install NPM Package

Or use the CDN

Identify the User

Private Agent

Public Agent

Use It to Execute a Workflow

Once you have successfully initialized the SDK, you can begin using the methods available to interact with our API. Note that the methods will return promises.

Example Response

The response from the execute method will contain the execution id that can be used to retrieve results later along with two methods to wait for results or cancel the execution:

Execute a Workflow with Streaming

In order to stream the Workflow results you will need to enable stream and pass a callback function to the execute method. Optionally you can pass some extra callback function to get a notification when the Workflow is finished.

Pull Results Async

You can implement your own pulling logic using the getResults method.

Chat Assistant

Example Response

The response from the chatStream method will contain the sessionId and a result method to wait for the response. In order to continue with the chat pass the session Id along with the message.

Error Handling

Last updated

Was this helpful?