The message sent needs to respect the following basic JSON structure:

{ 
  "eventName" : "eventName",
  "message": "message" 
}

Basic variations will be required for events that demand multiple parameters

// Example with FillForm
{ 
  "eventName": "FillForm",
  "message": { 
    "templateExecutionDataId": "00000000-0000-0000-0000-000000000000",
    "disableConfirmation": "true",
    "forgetDraftReference": "false" 
  } 
}

Responses will also follow the same structure

// First response message
{
  "eventName":"PreviousDraftLoading",
  "message":{
    "templateExecutionDataId":"00000000-0000-0000-0000-000000000000"
  }
}

// Second message
{
  "eventName":"FieldValueChanged",
  "message":{
    "fieldName":"DevTextBox",
    "newValue":"Button"
  }
}

// Last response message
{
  "eventName":"PreviousDraftLoaded",
  "message":{
    "templateExecutionDataId":"00000000-0000-0000-0000-000000000000"
  }
}