# Integration

## Overview

Integration widgets are list widgets that empower you to establish connections with various third-party software or platforms.

## API

Labii has developed an API widget that allows users to easily integrate 3rd party APIs with their databases. This widget enables users to automate the process of populating data into columns, allowing them to quickly and efficiently access data from external sources.

The API widget supports the methods of GET/POST/PATCH/DELETE.

{% embed url="<https://youtu.be/9RYhfDoCJuI>" %}

**Readonly view:**

<figure><img src="/files/uOZAoYOAFOcNeGrNs04V" alt=""><figcaption></figcaption></figure>

**Edit view:**

<figure><img src="/files/yKZyfI1stP33Az7RWeAD" alt=""><figcaption></figcaption></figure>

**Form view:**

Save as the edit view.

**Configuration:**

<figure><img src="/files/tfNP1rpjwVRVllRKKrwI" alt=""><figcaption></figcaption></figure>

* **Authorization** - Bearer Token or any other authorization string. Bearer Tokens are the predominant type of access token used with OAuth 2.0. For example: `Bearer eyJraWQiOiIy`
* **Methods** - An API method embodies a method request and a method response.
  * **Method**
  * **Base URL** - The base URL is the internet host name for the REST API.
    * Use `{{id}}` to replace with current data.
    * Use `{{name}}` to replace with the name.
    * Contact <developer@labii.com> if the domain is blocked.
  * **Text** - Text to display for the button, defaults to method
  * **Icon** - The icon for the method.
  * **Should auto update when empty** - If checked, this method will be executed when no data in current column. Default to `false`.
* **Fields** - Fields to get from / post to the API.
  * **Methods** - The method to use this key.
    * **Get**
    * **Post**
    * **Patch**
    * **Posted** - Use Posted to update ID column after POST.
  * **Key**
    * GET: The key to access the value of this property. For example, to access the first name nested inside the name, use the `name.first_name` key. To return the entire object, leave it empty.
    * POST: The key to construct the data that will be posted. For example, to create the json data for `{name: {first_name: ''}}`, we would use the `name.first_name` key.
    * Use `{{id}}` to replace with current data.
  * **Script**
    * GET: The script will further prepare the data for return.
    * POST: The script to prepare Labii data for post.
    * The key value is passed as data.
  * **Field** - This is the field that will be used to store/get the data for the key.
* **Columns** - Columns to get from / post to the API.
  * **Methods** - The method to use this key.
    * **Get**
    * **Post**
    * **Patch**
    * **Posted** - Use Posted to update ID column after POST.
  * **Key**
    * GET: The key to access the value of this property. For example, to access the first name nested inside the name, use the `name.first_name` key. To return the entire object, leave it empty.
    * POST: The key to construct the data that will be posted. For example, to create the json data for `{name: {first_name: ''}}`, we would use the `name.first_name` key.
    * Use `{{id}}` to replace with current data.
  * **Script**
    * GET: The script will further prepare the data for return.
    * POST: The script to prepare Labii data for post.
    * The key value is passed as data.
  * **Column** - Columns to get from / post to the API.

**Default value:**

Same as the import value.

**Import value:**

Any text


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.labii.com/widgets/column-widgets/integration-1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
