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

# Brevo

> Put a person's LinkedIn headline, job title and company in their Brevo attributes, from the LinkedIn URL in one, with n8n or your own code.

Our n8n node gets the LinkedIn profile from a contact's LinkedIn URL, and the workflow writes their headline, job title and company back to the contact. We fetch each profile live and charge the provider's [price](/pricing) to your [balance](/balance).

## 1. Add the attributes

In Brevo's contact attributes, add any of these text attributes you don't have yet: `LINKEDIN` (the profile's URL), `HEADLINE`, `JOB_TITLE` and `COMPANY`.

## 2. Build the workflow in n8n

Install our node first: [n8n](/n8n). Your Brevo API key is in Brevo, **SMTP & API**. Then add four nodes:

1. **Brevo Trigger**. Type: Marketing. Events: List Addition, when a person joins a list. Brevo sends their email but no attributes, so the next node gets them.
2. **Brevo**: Contact, Get. Contact Identifier: `{{ $json.email }}`.
3. **Datacircle**: LinkedIn Profile, Get. Profile URL: `{{ $json.attributes.LINKEDIN }}`. Provider: Up2Data, HarvestAPI or Fetchin.
4. **Brevo**: Contact, Update. Contact Identifier: `{{ $('Brevo').item.json.email }}`. Under Attributes, pick each attribute and give it its value:

| Attribute | Up2Data | HarvestAPI | Fetchin |
| - | - | - | - |
| `HEADLINE` | `{{ $json.data.headline }}` | `{{ $json.element.headline }}` | `{{ $json.title }}` |
| `JOB_TITLE` | `{{ $json.data.current_company?.title }}` | `{{ $json.element.currentPosition[0]?.position }}` | `{{ $json.jobTitle }}` |
| `COMPANY` | `{{ $json.data.current_company?.name }}` | `{{ $json.element.currentPosition[0]?.companyName }}` | `{{ $json.companyName }}` |

Then publish the workflow. A record with no LinkedIn URL gets our `400`, not charged.

## Without n8n

Your code makes three calls. In step 3, your code writes the profile's fields from the table above.

```bash theme={null}
# 1. The person's attributes, LINKEDIN among them
curl "https://api.brevo.com/v3/contacts/<email>" -H "api-key: $BREVO_API_KEY"

# 2. Their LinkedIn profile, through Datacircle
curl -X POST "https://api.datacircle.dev/v1/profiles/enrich" \
  -H "Authorization: Token $DATACIRCLE_API_KEY" -H "X-Data-Provider: up2data" \
  -H "Content-Type: application/json" -d '{"url": "<their LinkedIn URL>"}'

# 3. The headline, job title and company back to their attributes
curl -X PUT "https://api.brevo.com/v3/contacts/<email>" -H "api-key: $BREVO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"attributes": {"HEADLINE": "<headline>", "JOB_TITLE": "<job title>", "COMPANY": "<company>"}}'
```

[LinkedIn Profile API](/linkedin-profile) has the requests for the other providers.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.