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

# Getting Started with FlowLink Actions

## Creating a FlowLink Action

<Steps>
  <Step>
    Log in to your HubSpot account and navigate to **Automation → Workflows**.

    <Frame>
      ![Creating a FlowLink Action](https://framerusercontent.com/images/nFIAHzKjIaiYGLnbWnX3mvxkA.png)
    </Frame>
  </Step>

  <Step>
    Create a new workflow or edit an existing one.

    <Frame>
      ![Creating a FlowLink Action](https://framerusercontent.com/images/QnBkqzMxKvnuxeDKsIiLE69ZYU.png)
    </Frame>
  </Step>

  <Step>
    Create a blank workflow.

    <Frame>
      ![Creating a FlowLink Action](https://framerusercontent.com/images/akyWdBGUlQOPXqJPGuJBqLLuvY.png)
    </Frame>
  </Step>

  <Step>
    Set up your trigger.

    <Frame>
      ![Creating a FlowLink Action](https://framerusercontent.com/images/sQzY5UXNjdJzNaOIaxxt83LXyQ.png)
    </Frame>
  </Step>

  <Step>
    In the workflow editor, click the **"+"** icon to add a new action.

    <Frame>
      ![Creating a FlowLink Action](https://framerusercontent.com/images/F9blhb3fjLGe3KfbJbagldHp4QI.png)
    </Frame>
  </Step>

  <Step>
    In the actions menu, look for the **"Integrations"** or **"Apps"** section and select **"FlowLink"**.

    <Frame>
      ![Creating a FlowLink Action](https://framerusercontent.com/images/s5JVsnzkFbRIMTHg9l8X9lpbZtk.png)
    </Frame>
  </Step>
</Steps>

***

## Basic Configuration

### HTTP Method

Select the HTTP method for your request:

<Frame>
  ![HTTP Method](https://framerusercontent.com/images/p79damQqNWRzF0bNDqFrysr2ig.png)
</Frame>

* **GET** — Retrieve data
* **POST** — Create a new resource
* **PUT** — Update an existing resource
* **PATCH** — Partially modify a resource
* **DELETE** — Remove a resource

### Target URL

Enter the full URL where you want to send the webhook request.

**Example:** `https://api.example.com/endpoint`

<Frame>
  ![Target URL](https://framerusercontent.com/images/4CkoKUtbtcmFylR6YKslCJM4E.png)
</Frame>

### Authentication

Select from the following options:

* **None** — For public APIs
* **Basic** — Enter username and password
* **Bearer** — Provide a token
* **API Key** — Can be included in header or query parameters

**Examples:**

* Basic: Username: `myuser`, Password: `mypassword`
* Bearer: Token: `abcdef123456`
* API Key: Key Name: `x-api-key`, Key: `your-api-key-here`

<Frame>
  ![Authentication](https://framerusercontent.com/images/YX8zx4CEtz0dMVCrPRC77Yr09o.png)
</Frame>

Indicate whether the API Key should be used in the **Header** or **Query**.

<Frame>
  ![API Key placement](https://framerusercontent.com/images/E7vSnN7LONTuV2sq9mF2ozNPg.png)
</Frame>

***

## Advanced Settings

### Body Configuration (POST, PUT, PATCH only)

Click on the **"Body"** field and insert HubSpot properties using `{{property.name}}` syntax. Structure your data in JSON format.

**Example:**

```json theme={null}
{
  "customerName": "{{contact.firstname}} {{contact.lastname}}",
  "email": "{{contact.email}}",
  "lastPurchaseAmount": "{{deal.amount}}",
  "lastPurchaseDate": "{{deal.closedate}}"
}
```

### Query Parameters (GET, DELETE, POST, PUT, PATCH)

Add key-value pairs using HubSpot properties or static values, separated by `&`.

**Example:**

`customerId={{contact.id}}&orderDate={{deal.closedate}}`

Resulting URL: `https://api.example.com/orders?customerId=1234567&orderDate=2023-09-03`

<Frame>
  ![Query Parameters](https://framerusercontent.com/images/fx5IJd24dF6KwBOAjeJYXMGQlDM.png)
</Frame>

### Custom Headers

Add any required custom headers, useful for API versioning or additional authentication. Use comma-separated key-value pairs.

**Example:** `X-API-Version=v2, x-custom-header=value`

<Frame>
  ![Custom Headers](https://framerusercontent.com/images/4X6I5QlXHBe6YpzDOxev6agYz64.png)
</Frame>

### Escape Values to Valid JSON

To escape a value, use the `escape` function:

```json theme={null}
{
  "name": "escape({{ enrolled_object.dealname }})"
}
```

### Save Your Configuration

Once finished configuring the webhook, click **"Save"**.

<Frame>
  ![Save Configuration](https://framerusercontent.com/images/Af1JtmIe5WJ1YzHIyKxi8VFrpU.png)
</Frame>

Your webhook is now ready to run whenever triggered.

<Frame>
  ![Webhook Ready](https://framerusercontent.com/images/PKiasCqTwTjPyLMee8SXWLbhK3w.png)
</Frame>

<Tip>
  **Got unique integration needs?**\
  Our custom team can build tailored integrations, specialized data mappings, and workflow automations to perfectly match your specific business processes.

  [Advanced integration settings](https://custom.cloudify.biz/)
</Tip>
