> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flexagon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Using the Extension

> The extension popup can be opened and closed using the keyboard shortcut Ctrl+Shift+E (or Cmd+Shift+E for Mac) Sending a Webhook After initial setup,

> [!TIP]
>
> The extension popup can be opened and closed using the keyboard shortcut **Ctrl+Shift+E** (or **Cmd+Shift+E** for Mac)

## Sending a Webhook

After initial setup, the extension popup will open to the **Send** page, selecting the first action where your current URL matches with the action’s URL RegEx pattern. From this page, you can modify the form as needed and send a webhook to FlexDeploy.

* Select a different action in the dropdown, if the action wasn’t automatically set correctly.

* Update the webhook URL as needed.

* Enter values for any properties not already filled in.

  * For single item properties, simply enter the correct value in the input field.

  * For list data properties, select whichever option(s) in the dropdown you would like sent with the payload. Additionally, you can type a new option and click Enter to add and select a new option.

* If the webhook Function requires authentication, configure the **User API Token** and **Encryption Key** in the browser extension Settings page. The extension uses the Encryption Key to decrypt the stored API Token before sending the webhook request.

* The Encryption Key is retained when the browser extension popup is closed and reopened. However, it is cleared when the browser is restarted. After restarting the browser, you will be prompted to enter the same Encryption Key on the extension's opening page to continue using the stored API Token.

After reviewing, click **Send** to send the payload to FlexDeploy. After receiving a response, the result will be indicated with a ![(tick)](https://flexagon.atlassian.net/wiki/s/-510684821/6452/64e1779b1cc4eed32fd26c0f5af1f87b02d05b81/_/images/icons/emoticons/check.png) for a valid response or a :Failed: with the error message for a failed response. You can check the console logs for more details after a failed response.

Check the incoming webhook messages page in your FlexDeploy instance to see how the webhook was received and processed.

## Creating/Updating an Action

From the **Actions** menu, you can create and configure your own actions which will define the content being sent to FlexDeploy. Each action will be linked to some webhook URL defined by you, so you could have different actions for each webhook function you want to run in FlexDeploy.

> [!WARNING]
>
> Actions are saved in the browser’s local storage, so actions will be cleared whenever browsing data is cleared.

### Action Details

<table><colgroup><col /><col /></colgroup><tbody><tr><th>**Name**</th><th>**Description**</th></tr><tr><td>Name</td><td>Name to identify your action</td></tr><tr><td>Base Action</td><td>Technology template to use, which will add some technology-specific properties to the action and set a URL match pattern. Currently, base actions are available for Oracle APEX, ORDS, OIC, OPA, OBIEE, OTBI, OAC, Azure Power BI, Oracle Visual Builder, and Salesforce.</td></tr><tr><td>Webhook URL</td><td>URL to send to FlexDeploy. This will be in the format \<FlexDeploy base URL>/flexdeploy/webhooks/v1/\<webhook function URI>. The value here will be concatenated to the base URL configured in the extension settings.</td></tr><tr><td>URL Match Pattern</td><td>A regular expression to determine when the extension should default to this action when the popup is opened. For help generating an expression, see [regex101: build, test, and debug regex](https://regex101.com/).*Example*: **.*/apex/f.*** for an APEX action</td></tr><tr><td>Properties</td><td>Define any additional information you want to send along with your webhook. See more details in the table below.</td></tr></tbody></table>

### Properties

<table><colgroup><col /><col /></colgroup><tbody><tr><th>**Name**</th><th>**Description**</th></tr><tr><td>Name</td><td>Name for your property.</td></tr><tr><td>Data Type</td><td>Options are single item or list data. All values are sent as string.</td></tr><tr><td>Default Value Type</td><td>**Literal** - Literal text**Selector** - A CSS selector to derive the property’s value from page content.</td></tr><tr><td>Default Value</td><td>The literal text or selector to be used for finding the default value.</td></tr><tr><td>Subfield</td><td>Optionally, provide a subfield for the value for each list item. (applicable when using a selector for calculating the default value)</td></tr></tbody></table>
