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

# Use Brandfetch with Make

Make.com is a no-code automation platform that lets you connect Brandfetch to thousands of other apps, including Airtable, HubSpot, Slack, and Google Sheets. With the Brandfetch integration installed, you can enrich any workflow with logos, colors, fonts, and company data without writing a line of code.

This guide walks you through connecting Brandfetch to Make and building your first scenario: automatically enriching an Airtable CRM with brand data.

## Prerequisites

Before you start, you'll need:

* A [Make](https://www.make.com) account (the free tier is enough to follow along)
* A [Brandfetch account](https://developers.brandfetch.com/) with an active API key

## Getting started

<Steps>
  <Step title="Install the Brandfetch app in Make">
    Install the Brandfetch app from the Make integrations directory. Once installed, Brandfetch will appear in the module picker whenever you build a scenario.

    <Card title="Brandfetch on Make" icon="puzzle-piece" href="https://www.make.com/en/integrations/brandfetch">
      Install the Brandfetch integration from the official Make directory.
    </Card>
  </Step>

  <Step title="Create a connection">
    A *connection* tells Make how to authenticate with Brandfetch. You only need to set it up once, and every scenario you build can reuse it.

    1. In Make, open any scenario and add a Brandfetch module.
    2. Click **Create a connection**.
    3. Give it a memorable name (e.g. `Brandfetch — Production`).
    4. Copy your API key from the [API keys page](https://developers.brandfetch.com/dashboard/keys) and paste it into the **API Key** field.
    5. Click **Save**.
  </Step>

  <Step title="Build your first scenario">
    Let's enrich an Airtable CRM with brand data. Whenever a new lead is added with a company domain, the scenario fetches the company's logo, colors, and name, then writes them back to the same record.

    **High-level flow:**

    1. **Trigger:** Airtable *Watch Records* on your leads table.
    2. **Enrich:** Brandfetch *Get brand by domain*, using the domain field from the trigger.
    3. **Update:** Airtable *Update a Record*, mapping the Brandfetch output (logo URL, primary color, company name) back to the original record.

    Run the scenario once to confirm the mapping works, then turn on scheduling so it runs automatically as new leads come in.

    <Tip>
      The same pattern works with HubSpot, Pipedrive, Salesforce, Google Sheets, or any tool that stores a list of domains. Just swap the trigger and update modules.
    </Tip>
  </Step>
</Steps>

## Available modules

The Brandfetch app on Make exposes five modules:

1. **Get brand by domain** (Action)
   * Input: Domain name (e.g. `apple.com`)
   * Output: Brand data including logos, colors, and company information
2. **Get brand by crypto symbol** (Action)
   * Input: Crypto ticker (e.g. `BTC`)
   * Output: Brand data including logos, colors, and company information
3. **Get brand by ISIN** (Action)
   * Input: ISIN identifier
   * Output: Brand data including logos, colors, and company information
4. **Get brand by stock/ETF ticker** (Action)
   * Input: Stock or ETF ticker (e.g. `AAPL`)
   * Output: Brand data including logos, colors, and company information
5. **Make an API call** (Universal)
   * Input: Any Brandfetch API endpoint and parameters
   * Output: Brand data including logos, colors, and company information

## Common scenarios

A few patterns that work well with Brandfetch on Make:

* **CRM enrichment** — Auto-populate Airtable, HubSpot, or Salesforce records with logos and brand data as new leads arrive.
* **Lead alerts in Slack** — Post a new-lead message to Slack with the company's logo and brand colors inline.
* **Create branded presentations** — Auto-generate Google Slides or PowerPoint decks pre-populated with a prospect's logo, colors, and fonts.
* **Financial dashboards** — Look up brand data by ticker or ISIN to enrich portfolio trackers and investor reports.

## Error handling

When a Brandfetch module fails, Make surfaces the underlying API error code and message. The table below lists errors you might run into and how to resolve them.

| Status | Title                            | Description                                                                                                                             |
| ------ | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `400`  | Bad Request                      | The request is malformed or missing required parameters.                                                                                |
| `401`  | Unauthorized                     | The API key is missing, invalid, or expired. Manage your keys on the [API keys page](https://developers.brandfetch.com/dashboard/keys). |
| `404`  | Not Found or Invalid Domain Name | No brand matches the input. Confirm it exists at [brandfetch.com](https://brandfetch.com/).                                             |
| `429`  | API key quota exceeded           | You've hit your plan's request limit. Upgrade in the [developer dashboard](https://developers.brandfetch.com/).                         |

### Keep your scenarios running smoothly

Make offers five error handlers — **Ignore**, **Break**, **Resume**, **Commit**, and **Rollback** — that you can attach to any Brandfetch module. With the module's configuration dialog closed, right-click the module on the scenario canvas and choose **Add error handler**.

For details on each handler, see Make's [error handling documentation](https://help.make.com/error-handling).

## Extract domain name from email

Most CRMs store an email but not a separate domain field. You can derive the domain on the fly inside the Brandfetch module using Make's built-in functions.

Paste the expression below straight into the **Domain** field:

```
{{ifempty(split(trim(email); "@")[2]; "")}}
```

`email` should reference the email field from the trigger module.
