Create a FireForm integration with SharePoint Online

On this page:


Overview

Follow the steps below to integrate SharePoint Online with FireForm.

Step 1: Configure SharePoint Online

Before you integrate your SharePoint app with FireForm, you will need to register your SharePoint app and configure its permissions. You will also need to know your SharePoint app's client id and client secret; to generate a client id and client secret, register your SharePoint app with OAuth.

Note:
Create the object list in SharePoint before you start the steps below.
  1. Go to your SharePoint site.
  2. To open the app registration for your site, go to https://indiana.sharepoint.com/sites/YourSharePointSite/_layouts/15/appregnew.aspx and replace YourSharePointSite with your SharePoint Online site name.
  3. Enter the following:
    • Client ID: The GUID for your SharePoint app. Select Generate.
    • Client Secret: The password for your SharePoint app. Select Generate.
    • Title: The display name for your SharePoint app; make sure the name you choose is user friendly.
    • App Domain: Your SharePoint app's remote server host. Use your tenant domain (for example, tenantcode-fireform.eas.iu.edu).
    • Redirect URL: Remote application end point. Use your tenant environment URL (for example, https://tenantcode-fireform.eas.iu.edu/online).
    Note:
    Save the client id and client secret in a secure location; you will need them when you configure the integration in FireForm.
  4. Select Create, and a message will display that says, "The app identifier has been successfully created". Select OK.
  5. You will need to grant app-only permissions to your SharePoint app; to do so:
    1. Go to https://indiana.sharepoint.com/sites/YourSharePointSite/_layouts/15/appinv.aspx and replace YourSharePointSite with your SharePoint Online site name.
    2. Enter the client id in the "App ID" field, and select Lookup.
    3. In the "Permission Request XML" field, specify the level of access the app will have. For an example of how to structure your XML, see the following. Replace [scope] and [permission] with the values below:
      <AppPermissionRequests AllowAppOnlyPolicy="true">
      <AppPermissionRequest Scope="[scope]" Right="[permission]" />
      </AppPermissionRequests>
      • Replace [scope] with one of the following URLs to set the scope of the app (use as is, do not modify):
        • Site collection: http://sharepoint/content/sitecollection
        • Sub Site : http://sharepoint/content/sitecollection/web
        • List/Library: http://sharepoint/content/sitecollection/web/list
      • Replace [permission] with one of the following values to set the permission level for the app (use as is, do not modify):
        • Only read access: "Read"
        • Add/edit/delete: "Write"
        • Full permissions: "FullControl"
      • Example:
        <AppPermissionRequests AllowAppOnlyPolicy="true">
        <AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="FullControl" />
        <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl" />
        <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="FullControl" />
        </AppPermissionRequests>
    4. Note:
      Once you create the above permissions, you can't view or change them, so it's recommended that you save them in a secure location.
    5. Select Create.
  6. A new page will load and display the message, "Do you trust YourSharePointApp?", with the name of your app in place of YourSharePointApp. The scope and level of access you granted your app will display as well.
  7. Select Trust It. To see all of your trusted SharePoint apps, go to https://indiana.sharepoint.com/sites/YourSharePointSite/_layouts/15/appprincipals.aspx?Scope=Web, and replace YourSharePointSite with your SharePoint Online site name.

The object needs to be built in your SharePoint application before you configure the SharePoint integration in FireForm. The “Title” in the SharePoint list can be renamed but FireForm will still need to refer to it as "Title".

Step 2: Configure the integration in FireForm

FireForm integrated data source

Follow the steps in FireForm integrated data source, using the following information to connect to SharePoint Online:

  • Name: Enter a name
  • Description: Enter a description
  • HTTP Method: GET for integrated data sources
  • End Point URL: Enter the following URL, replacing [YourSharePointSite] and [YourSharePointSiteList] with the FireForm URL encoded for the site list:
    https://indiana.sharepoint.com/sites/[YourSharePointSite]/_api/web/lists/getbytitle('[YourSharePointSiteList]')/items
  • Use Custom HTTP Header: Check this option.
  • Custom HTTP Header:
    {
     	'Accept': 'application/json;odata=nometadata'
    }
  • Authorization Type: Select OAuth 2.0.
  • Grant Type: Select Client Credential.
  • Access Token URL:
    https://accounts.accesscontrol.windows.net/1113be34-aed1-4d00-ab4b-cdd02510be91/tokens/OAuth/2
  • Client ID: Enter the following, replacing [GENERATED CLIENT-ID] with the client ID you generated in Step 1, above:
    [GENERATED CLIENT-ID]@1113be34-aed1-4d00-ab4b-cdd02510be91
  • Client Secret: Enter the client secret you generated in Step 1, above.
  • Scope / Resource:
    00000003-0000-0ff1-ce00-000000000000/indiana.sharepoint.com@1113be34-aed1-4d00-ab4b-cdd02510be91
  • Client Authentication: Select Send client credentials in body.
  • Element Type: Select from the drop-down menu (List, Text, or Dynamic Content, etc.).
  • Result Path: Enter value.
  • ID Element: Enter the element name from SharePoint.
  • Label Element: Enter the list column header from SharePoint.
  • Sort Alphabetical: Checkbox, (optional).
  • Sort as Date/Time Descending Checkbox, (optional).
  • Sort as Date/Time Ascending Checkbox, (optional).
  • Make Results Distinct by ID Element and Label Element: Checkbox, (optional).

To test the integration, select Test. If the integration was successful, a success message will appear, along with a sample of the data. To see a date/time stamp of the integration history, select History.

To add the integration element to your form, use an integrated type of element and select Integrated Data Source from the drop-down menu of the element. Make sure Key/Value Pairs is selected, and choose Save.

FireForm integration

Follow the steps in Create a FireForm integration, using the following information to connect to SharePoint Online:

  • Name: Enter a name
  • HTTP Method: POST for integration rule
  • End Point URL: Enter the following URL, replacing [YourSharePointSite] and [YourSharePointSiteList] with the FireForm URL encoded for the site list:
    https://indiana.sharepoint.com/sites/[YourSharePointSite]/_api/web/lists/getbytitle('[YourSharePointSiteList]')/items
  • Use Custom HTTP Header: Check this option.
  • Custom HTTP Header:
    {
     	'Accept': 'application/json;odata=nometadata'
    }
  • Authorization Type: Select OAuth 2.0.
  • Grant Type: Select Client Credential.
  • Access Token URL:
    https://accounts.accesscontrol.windows.net/1113be34-aed1-4d00-ab4b-cdd02510be91/tokens/OAuth/2
  • Client ID: Enter the following, replacing [GENERATED CLIENT-ID] with the client ID you generated in Step 1, above:
    [GENERATED CLIENT-ID]@1113be34-aed1-4d00-ab4b-cdd02510be91
  • Client Secret: Enter the client secret you generated in Step 1, above.
  • Scope / Resource:
    00000003-0000-0ff1-ce00-000000000000/indiana.sharepoint.com@1113be34-aed1-4d00-ab4b-cdd02510be91
  • Client Authentication: Select Send client credentials in body.
  • Data Format:
    • Send Key-Value Pairs: Select File, then Attachment, and then Key-Value Pairs. From the drop-down menu, select FireForm Attachment. Enter id in the "Target" field, and select Save.
    • Send Raw Data: Enter the JSON code in the "Send Raw Data" field.

Related documents

This is document bgsm in the Knowledge Base.
Last modified on 2023-07-18 12:12:53.