Build Custom Elements

You can use Element Builder to build your own elements to create custom integrations to API providers. You can build elements for Rest APIs, SOAP APIs, or even database applications. Publish finished elements to the Elements Catalog while automatically generating interactive API Documentation. You can combine services by creating a hub or mapping your new element to an existing hub. You can also use the normalized resources that we have already organized into hubs, and leverage the same resources across any other element that you build.

Users of this guide should be familiar with APIs, JavaScript, and JSON. To create an element we recommend that you have a thorough understanding of:

The Workflow

While you can work on different parts of an element throughout the entire creation process, in general you will follow the high-level workflow shown below.

1
Info

2
Properties

3
Authentication

4
Config & Parameters

5
Hooks

6
Events

7
Resources

1 Define the basic element information (name, key, description, authentication type, API type, documentation URL, API version, and image).

2 Configure the element properties (base URL, pagination, and header information).

3 Set up authentication information based on authentication types.

4 Define the configurations and related parameters needed to authenticate.

5 Write custom pre-request and post-request hooks.

6 Set up polling or webhook events.

7 Define the API provider resources to connect to.

Before You Begin

Before you begin, here is a sampling of questions you need to know the answers to. You can find most of the information needed in the API provider's documentation

Manage Custom Elements

If you have already built or imported a custom element, you can manage the configuration to keep up with changes at the API provider, add or remove resources, or fine-tune the element. You can identify a custom element by the private label that appears on the element card.

To manage an existing custom element, hover over the element card, and then click Configuration. Configuration

Use the Element Builder toolbar to move through the various pages in Element Builder where you configure an element and it resources, clone an element, and delete an element.

Custom Element Toolbar

1 Information navigates to the custom element start page where you configure information like the name, description, and hub.

2 Setup navigates to the custom element Setup page where you configure the properties, authentication, configuration, parameters, hooks, and events.

3 Resources navigates to the custom element Resources page where you create and manage the custom resources of the element.

4 Revisions navigates to the audit log.

5 API Docs navigates to the read-only API Docs for the element where you review the docs and use an authenticated element instance to test requests.

6 Clone Element begins the element cloning process.

Clone and Delete Custom Elements

Use the custom element toolbar to make a copy — or clone — a custom element or to delete a custom element.

To clone or delete a custom element:

  1. Open the element configuration. Configuration
  2. Click Alt Text to clone the element.
  3. Click Alt Text to delete the element.

Custom Element Checklist

After you build an element, we recommend that you review the checklist below:

Each GET resources includes CEQL (the where clause) and pagination.

The element includes an informative description.

If building an OAuth 2.0 element in different Cloud Elements environments, confirm that the API providers supports all environments.

Check pagination — pageSize and Pagination type — to ensure correct information.

POST and PATCH resource bodies include the correct object data type and models.

Map an authenticated element instance to a common resource.

For polling events, confirm the correct configuration of dates, using the same format as the API provider. Also ensure that the time zone format matches.

For bulk, confirm the dates are configured using the same format as the API provider.

Element Conventions

To align your custom elements with those created by Cloud Elements, we recommend that you follow our conventions: