The REST connector will allow users to integrate to many rest web services.  You will need to refer to the web service api to understand how SmartConnect and the web service you are using need to be setup as every web service is different.

SmartConnect currently comes with some default web services already setup.  This includes Campaign Monitor, Concur, Hubspot, Timely and Zendesk.  These are one click setups to get you going quickly that will setup parameters, return types, methods, and success definitions.  To get started with any of these default web service providers you need to provide your authorization credentials.  Each web service connects differently so you will need to check each web service’s documentation. 

Setting up a custom REST Provider

  1. Open the REST Service Providers window located under the Maintenance Tab>>Service Providers.
  2. Click the Add button to setup a new REST Provider
  3. Enter a Provider Name and setup the following sections for your REST Provider

Parameters – You will need to refer to the API reference to know what parameters you will need.

  1. Click the (+) on the parameters section to setup a parameter. 
  2. Enter a Parameter Name.
  3. Enter the Technical Name.
  4. Enter a default value if this parameter will usually have a set specific value. You will have the option to override this value in the map setup window if the parameter is not a header.
  5. If the parameter needs to be passed in the header mark the Is Header checkbox. You will not be able to override in the map setup window.
  6. Hash Parameter – Not currently used
    HashSecret – Not currently used
  7. Is Timestamp – Enable this option for parameters using dates
  8. Set By Method – Enable this option to query the value from a specific Method currently setup
    1. Choose the Method
      1. Enter the select string – For example, to select the id of a hubspot contact the string would be contact[0].vid. 

Return Types – Refer to you API to know what response format you will need.

  1. Enter a Return Type Name
  2. Select the Return Type Format according to the API
  3. Show Advanced will allow extra processing to be done to get the data from the method. For example, some providers add extra data to the return which will make the json invalid. You can use vb.net or C# to format the data correctly using the Initial Processing section.  This code will run as soon as the method returns a result.  This would be used when you need to run something against all data returned.  Field Value Processing will run every time you try to get a value from the returned json.  Some providers will return all data in an array and this code will allow you to select a single value from the array.
  4. Field Actions
    1. Add The fields that will be used in the response
      To add a parent field, select the Field Actions drop down and select Add Parent Field
      1. Enter the Field Name as found in the API reference
      2. Set the Field Type
      3. Set the Grouping
      4. Mark Show in Data Source if you want the field to show when using this Return Type on a Data Source
      5. If you would like to change the field name enter the value in Overwrite Field Name
      6. Select Token – Allows you to select a defined value from within an array of data.
    2. To add a child field, select a field that will be the parent field and then select the Field Actions drop down and select Add Child Field
      1. Enter the Field Name as found in the API reference
      2. Set the Field Type
      3. Set the Grouping
      4. Mark Show in Data Source if you want the field to show when using this Return Type on a Data Source
      5. If you would like to change the field name enter the value in Overwrite Field Name
      6. Select Token – Allows you to select a defined value from within an array of data.
    3. To remove a field, select the field to be removed and then select the Field Actions drop down and select Remove Field
    4. Load Fields From File – This option allows you to select a JSON or XML file and import the fields rather than adding manually. You will need to go mark the Show in Data Source box for the imported fields as they will not import to show by default.
      1. Select a JSON or XML file that is correctly formatted with the fields needed for the Return Type.


Groups – Groups are used to organize your methods. 

  1. To create a group, click the (+) on the groups tab.
  2. A new blank line will be added to the Group Name column. Enter your desired group name.

Methods – Setup methods available in the web service API being used.

  1. Click the (+) to start creating a new method.
  2. Enter a Method Name.
  3. Select the return type that will handle the response.
  4. Select the Group you would like this method to appear under in the Map Setup window.
  5. Select all the parameters needed for this method.
  6. Enter the URL for the method. You can pass parameters into the URL using curly braces.  For Example, https://api.hubapi.com/contacts/v1/contact?hapikey={hapikey} will pass in the hapikey parameter value.
  7. Enter the appropriate verb for the method: GET, PUT, POST, PATCH or DELETE
  8. Enter the Content Type
  9. Enter the Method Accepts
  10. Select a Success Definition Name – Optional
  11. Mark Show as Source to use this method as a source or mark Show as Destination to use it as a Destination

Method Fields- Add fields to the method that will be requested by the web service when creating data.

  1. Any methods you have created will be available on this tab. Select the method and click the Edit Fields button or double click the method name to edit the fields.
  2. Add fields to the method as defined in the API reference for the specific method.
    1. To add a parent field, select the Field Actions drop down and select Add Parent Field
      1. Enter the Field Name as found in the API reference
      2. Enter the Field Display Name
      3. Set the Value Type as found in the API reference
      4. Mark the required checkbox if the field must be submitted
      5. Enter a Default Value if needed otherwise the mapped value will be used
    2. To add a child field, select a field that will be the parent field and then select the Field Actions drop down and select Add Child Field
      1. Parent Field will auto populate accordingly
      2. Enter the Field Name as found in the API reference
      3. Enter the Field Display Name
      4. Set the Value Type as found in the API reference
      5. Mark the required checkbox if the field must be submitted
      6. Enter a Default Value if needed otherwise the mapped value will be used
    3. To remove a field, select the field to be removed and then select the Field Actions drop down and select Remove Field
    4. After adding a field click Save Method Fields then Update Method Body
  3. Load Fields from File – This option allows you to select a JSON file and import the fields rather than adding manually.

Success Definitions- Handles the response status codes for REST destinations such as OK(200), Forbidden(403), etc.

  1. To create a Success Definition, click the (+) on the Success Definitions tab.
    1. Enter a Success Definition Name – Used to select the definition for methods
    2. Enter a default error message. This is the error that will be displayed if an error is encountered that has not been defined.
    3. Click the (+) button to add status codes.
      1. Select a Status Code
      2. Enter the Error Message you would like to display when the status code is received.
      3. Mark the Successful box if you want the map to report success when the Status Code is received.