N O T I C E


MSPbots WIKI is moving to a new home at support.mspbots.ai to give you the best experience in browsing our Knowledge Base resources and addressing your concerns. Click here for more info!


The API write-back can be customized by configuring the REST API Call bot block. Customizing the API write-back and creating an API REST block enables MSPbots to establish a seamless integration with your systems and allows us to retrieve relevant data so we can create reports that will help you monitor your performance, receive alerts, and perform necessary actions programmatically.

This article is a guide on how to configure the REST API Call bot block. It will use the Monitoring [Opened Tickets Today - Template] for_test bot as an example.

What‘s on this page:


Prerequisites


  1. A bot of the trigger type has been created.
  2. A widget or dataset has been created to filter integration data according to your needs.
  3. The API documentation for the corresponding integration has been found, and APIs that meet your requirements have been identified.

Required Permissions


To follow this guide, you need admin-level permissions to perform the operations.

To set up the bot block


  1. Go to Bots on the MSPbots menu. 
    MSPbots bots
  2. Open the bot where you need to add a REST API Call block. Let's use the bot Monitoring [Opened Tickets Today - Template] for_test as an example.
    my bot
  3. When the selected bot opens, go to the Design tab. If another window opens, close it. 
    bot design
  4. In the trigger block, configure the widget or dataset that you have already created as a data source according to your needs. For detailed configuration information of the trigger block, please refer to 2. Set up the bot trigger.

  5. Hover over the horizontal line between the blocks. Click , select Add a Block, and select the new block. 
    add a block
  6. Type REST API Call in the search bar and click REST API Call.
    rest api call
  7. Next, hover over the ellipsis for the REST API Call block and select Edit.
    edit block
  8. When the REST API Call window opens, enter the url address of the API that will receive requests you want to call, for example, https://mspbotstest.halopsa.com/api/Tickets.
    restful api
  9. (Optional) Select an integration.
    If you are configuring a REST API from an existing integration with MSPbots, select that software from the integration list, such as halo. Otherwise, do not configure this parameter and proceed with the next step.
    select integration
  10. Select the HTTP method used when calling the API. The commonly used methods when using this block are post and delete. If you want to learn examples of these two methods, please refer to Examples of commonly used HTTP Methods when using the REST API Call block.
    • get - Retrieves information from the database without modifying or adding data. The results are consistent regardless of how many operations are performed.
    • post: Submits data and adds operations to the server.
    • put: Modifies the existing data on the server. This is similar to POST except that it modifies instead of adding.
    • delete: Removes a specific resource and deletes a record in a database.
    • options: Before using any of these methods, you can check the browser request to ensure the server will accept it.
      http method
  11. Next, set up the headers and input the relevant key and value. Headers are additional information included in the API call, which may include authentication tokens and content types. 

    As our Bot already supports authentication information by default, you don't need to add any extra authentication information to REST API Call block.


    header key_value
    Click Add to add more keys and values.
    add key-value

    To remove a pair of key and value, click Delete

  12. Set up the params. Select either the URL query and request body method to pass parameters to the server.
    1. query
      URL query parameters refer to additional parameters or information passed to the server through key-value pairs attached to the URL. Query parameters are commonly used for filtering, sorting, pagination, or passing other optional parameters. They are placed after the question mark symbol (?) in the URL and key-value pairs are separated by an equals sign (=), while multiple query parameters are connected with an ampersand (&). By utilizing URL query parameters, we can pass additional parameters in the API call and customize the results requested.
      query method
    2. body
      The request body is the HTTP request data that is included in a POST or PUT request. It is only configured when the method is POST or PUT. This data can be in different formats such as JSON, XML, or form data. These parameters are usually used for submitting forms, uploading files, or sending other types of data.
      request body
      The params available for the request body method are noneform-datax-www-form-urlencoded, JSON, and XML
      request body methods
  13. Click Next to configure any remaining blocks, and click Finish when done.
  14. Click Save to keep your settings.

Examples of commonly used HTTP Methods when using the REST API Call block


post - Create tickets to the Halo app with the filtered data that meets the criteria.

*For more detailed information, please refer to: How to Create or Modify Halo Tickets using a Rest API-based Bot.

Parameter Field 

Description

url

Fill in the interface address for creating or modifying tickets in Halo: https://{host}/api/Tickets, for example: https://mspbotstest.halopsa.com/api/Tickets.

Integration

Halo

method

post

headers

Can be left empty.

params




  1. Click body.
  2. Select json
  3. Input parameter fields in the JSON body, using the following columns as an example to create tickets.
    [
        {
            "actioncode":0,
            "dateoccurred":"2023-12-15T14:35:55.618Z",
            "summary":"{job_title}",
            "details":"{user_name}",
            "status_id":"2",
            "tickettype_id":"{update_source}"
        }
    ]

    • About the example:
      • The "actioncode", "dateoccurred", "summary", "details", "status_id", "tickettype_id" are from the official API documentation of Halo, https://halo.haloservicedesk.com/apidoc/resources/tickets. These fields are generally obtained from the official API documentation of the integration.

      • The {job_title}, {user_name}, {update_source} are from the data you added in the widget or dataset in the Trigger block. Please note that the format of the field must be {Field}.

delete - Delete tickets in the Halo app that meet the filtering criteria.



url

Please fill in the interface address to delete tickets in Halo: https://{host}/api/Tickets, for example: https://mspbotstest.halopsa.com/api/Tickets/{id}.

IntegrationHalo
methoddelete
headers

Can be left empty.

params
  1. Click body.
  2. Select json
  3. Input parameter fields in the JSON body, using the following columns as an example.
    [
        {
             "id":"{ticket_id}"
             "reason":"{delete_reason}"
        }
    ]

    • About the example:
      • The "id", "reason" are from the official API documentation of Halo, https://halo.haloservicedesk.com/apidoc/resources/tickets. These fields are generally obtained from the official API documentation of the integration.

      • The {ticket_id}, {delete_reason} are from the data you added in the widget or dataset in the Trigger block. Please note that the format of the field must be {Field}.

Related topics