# Comment envoyer les entreprises qui recrutent dans Salesforce avec Make ?

> Source: https://www.rodz.io/fr/guides/cas-usage/offres-emploi-vers-salesforce-avec-make/
> Mis à jour le 2026-10-12 · Peter Cools · Recette · Offres d'emploi (recrutements) · Salesforce

## En bref

Rodz n'a pas de destination Salesforce native : passez par Make. Créez un scénario qui démarre sur un webhook personnalisé, collez son URL comme webhookUrl d'un signal Offres d'emploi, puis ajoutez les modules Salesforce : chercher le compte par domaine, le créer ou le mettre à jour, créer le lead du recruteur et une tâche avec l'offre. Chaque offre qui correspond à vos filtres coûte 2 crédits.

## Chiffres clés

- Une offre d'emploi coûte **2 crédits** par lead, plus 0,5 crédit par email trouvé et 5 crédits par téléphone trouvé, facturés uniquement en cas de succès.
- Sans ciblage par persona, `contact` vaut `""` : le lead est l'entreprise qui recrute. Avec, Rodz ajoute un décideur de l'entreprise.
- Une livraison en échec temporaire (timeout ou `5xx`) est retentée ; une réponse `4xx` ne l’est pas.
- Rodz identifie **400 000+ signaux par mois** (moyenne de juillet à septembre 2026).

Coût: 2 crédits par lead (+0,5 crédit par email trouvé)

## Avant de commencer

- Un compte Rodz avec des crédits (le compte de test en inclut 100) et une clé API (Intégrations → API).
- Un compte Make et une connexion Salesforce autorisée à créer des comptes, des leads et des tâches.
- Vos critères d'offres : intitulés à inclure et exclure, mots-clés de description, localisations, taille d'entreprise.

## Étapes

### 1. Créez le scénario Make et son webhook

Dans Make, créez un scénario et choisissez le déclencheur **Webhooks → Custom webhook**. Ajoutez un webhook, nommez-le (par exemple « Rodz offres d'emploi ») et copiez son URL. Make répond `200` dès réception, ce qui convient à Rodz.

### 2. Créez le signal Offres d'emploi avec cette URL

Dans Rodz, ajoutez le signal **Offres d'emploi** et collez l'URL Make dans le champ webhook. Filtrez sur les intitulés qui révèlent votre besoin (par exemple « Account Executive », « Head of Sales » pour un outil commercial), la taille d'entreprise et les pays. Sans localisation, la recherche est mondiale : réglez la limite quotidienne en conséquence.

Activez le ciblage par persona si vous voulez un décideur en plus de l'entreprise. Laissez le signal en **brouillon** pour l'instant.

`Création par l'API (statut draft)`

```bash
curl -X POST "https://api.rodz.io/api/v1/signals/job-offers" \
  -H "Authorization: Bearer $RODZ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Éditeurs SaaS qui recrutent des commerciaux",
    "webhookUrl": "https://hook.eu1.make.com/votre-identifiant",
    "dailyLeadLimit": 40,
    "status": "draft",
    "config": {
      "jobTitleInclude": ["Account Executive", "Head of Sales"],
      "jobTitleExclude": ["Stage", "Alternance"],
      "locations": ["France"],
      "companySizeFilters": ["51-200", "201-500"],
      "publishedDate": "7d",
      "enablePersonaTargeting": true,
      "targetPersonas": ["Sales Director"],
      "getEmails": true
    }
  }'
```

### 3. Apprenez la structure du payload à Make

Dans le module webhook, cliquez sur **Redetermine data structure** : Make attend un premier message. Envoyez-le depuis Rodz avec `POST /api/v1/signals/{signal_id}/test-webhook`. Make enregistre alors les champs `signal`, `contact` et `company`. Ajoutez juste après un **filtre** qui arrête les messages où `signal.is_test` est vrai.

`Envoyer un payload de test`

```bash
curl -X POST "https://api.rodz.io/api/v1/signals/$SIGNAL_ID/test-webhook" \
  -H "Authorization: Bearer $RODZ_API_KEY"
```

### 4. Créez ou mettez à jour le compte Salesforce

Ajoutez **Salesforce → Search Records** sur l'objet Account, avec un critère sur le site web (`company.website`). Suivez d'un **Router** : si un compte est trouvé, **Update a Record** ; sinon, **Create a Record** (Account) avec le nom, le site, le secteur et l'effectif. Le domaine est la clé la plus fiable pour éviter les comptes en double.

### 5. Créez le lead et la tâche de suivi

Sur la route principale, ajoutez un filtre « `contact.email` existe » puis **Create a Record** sur l'objet Lead (prénom, nom, email, poste, entreprise). Ajoutez enfin **Create a Record** sur l'objet Task, rattaché au compte, avec pour sujet l'intitulé de l'offre et pour description son lien et sa date. Activez le scénario, puis passez le signal Rodz en **Actif**.

## Exemple de payload

Ce que reçoit le webhook Make pour une offre, avec le ciblage par persona activé (sans lui, `contact` vaut `""`).

```json
{
  "signal": {
    "id": "d4f5a6b7-c8d9-4e0f-a1b2-c3d4e5f6a7b8",
    "name": "Éditeurs SaaS qui recrutent des commerciaux",
    "type": "job_offers",
    "last_signal": "Job Offer",
    "last_signal_date": "2026-10-09",
    "job_offer_url": "https://jobs.example.com/offres/account-executive-12345",
    "job_offer_title": "Account Executive Mid-Market",
    "job_offer_location": "Lyon (France)",
    "job_offer_description": "Nous recrutons un Account Executive pour gérer tout le cycle de vente...",
    "job_offer_date": "2026-10-07",
    "job_offer_published_date": "2026-10-07",
    "job_offer_source": "LinkedIn",
    "matched_keywords": "Account Executive"
  },
  "contact": {
    "lead_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "created_at": "2026-10-09T09:40:00+00:00",
    "first_name": "Thomas",
    "last_name": "Bernard",
    "email": "thomas.bernard@tech-corp.example",
    "phone": "",
    "title": "Directeur commercial",
    "location": "Lyon, Auvergne-Rhône-Alpes, France",
    "country_code": "FR",
    "city": "Lyon",
    "linkedin_profile_url": "https://www.linkedin.com/in/thomas-bernard-example",
    "sales_navigator_profile_url": "",
    "matched_persona": "Sales Director"
  },
  "company": {
    "name": "Tech Corp",
    "website": "https://tech-corp.example",
    "linkedin_url": "https://www.linkedin.com/company/tech-corp-example",
    "industry": "Software Development",
    "location": "Lyon, France",
    "employee_count": 140,
    "employee_range": "51-200",
    "hq_country_code": "FR",
    "hq_city": "Lyon"
  }
}
```

## Correspondance des champs Rodz → Salesforce

| Champ Rodz (payload)                                      | Objet Salesforce | Champ Salesforce                     |
| --------------------------------------------------------- | ---------------- | ------------------------------------ |
| `company.name`                                            | Account          | Account Name                         |
| `company.website`                                         | Account          | Website (clé de recherche)           |
| `company.industry`                                        | Account          | Industry                             |
| `company.employee_count`                                  | Account          | Employees                            |
| `company.hq_city`, `company.hq_country_code`              | Account          | Billing City, Billing Country        |
| `contact.first_name`, `contact.last_name`                 | Lead             | First Name, Last Name                |
| `contact.email`, `contact.title`                          | Lead             | Email, Title                         |
| `company.name`                                            | Lead             | Company                              |
| `signal.job_offer_title`                                  | Task             | Subject                              |
| `signal.job_offer_url`, `signal.job_offer_published_date` | Task             | Description                          |
| `signal.name`                                             | Lead             | Lead Source ou un champ personnalisé |

Le champ Industry de Salesforce est une liste de valeurs : si le secteur Rodz n'y figure pas, écrivez-le dans un champ texte personnalisé.

## Pourquoi une offre d'emploi est un signal d'achat

Une entreprise qui recrute pour une fonction investit dans cette fonction : un poste de commercial ouvert annonce des besoins d'outils commerciaux, un poste de data engineer des besoins de données. La tâche Salesforce donne au commercial le contexte exact (l'offre et sa date) pour ouvrir la conversation.

Si Pipedrive est votre CRM, la destination est native : voyez [offres d'emploi vers Pipedrive](/fr/guides/cas-usage/offres-emploi-vers-pipedrive/).

## Dépannage

- **Make ne reçoit rien** : le scénario doit être actif (ou en écoute pendant le test) et l'URL collée dans le signal doit être celle du webhook Make.
- **Erreur Salesforce sur Industry** : la valeur n'existe pas dans la liste de sélection ; mappez-la vers un champ texte.
- **Leads sans email** : le ciblage par persona ou l'option Trouver les e-mails est désactivé, ou aucun email n'a été trouvé (non facturé). Le filtre de l'étape 5 évite alors de créer un lead vide.

## Questions fréquentes

### Rodz a-t-il une intégration Salesforce native ?

Pas dans les destinations publiques de Rodz (HubSpot, Pipedrive, Google Sheets, lemlist, webhook personnalisé...). Pour Salesforce, Rodz envoie chaque lead à un webhook : Make, comme ici, ou votre propre récepteur qui appelle l'API Salesforce.

### Make vérifie-t-il la signature HMAC de Rodz ?

Pas avec le module Custom webhook standard : il lit le JSON, pas les octets bruts sur lesquels la signature est calculée. Gardez l'URL Make privée. Si vous devez vérifier chaque livraison, placez devant le récepteur signé de la [recette webhook HMAC](/fr/guides/api/recepteur-webhook-hmac/), qui transmet ensuite à Make ou à Salesforce.

### Comment éviter les comptes en double dans Salesforce ?

Cherchez le compte par domaine (`company.website`) avant de le créer, comme à l'étape 4. Rodz retente une livraison en échec avec le même en-tête `X-Webhook-Id` : enregistrez-le dans un data store Make si vous voulez ignorer une seconde arrivée.

### Lead ou Contact dans Salesforce ?

Un Lead convient à une prospection froide : il sera converti plus tard. Si l'entreprise est déjà un compte suivi, créez plutôt un Contact rattaché au compte trouvé à l'étape 4. Les deux sont des modules Create a Record avec un objet différent.

### Combien d'offres vais-je recevoir ?

Autant que vos filtres en trouvent, dans la limite quotidienne du signal. Chaque offre livrée coûte 2 crédits. Si le volume est trop faible, l'entonnoir du signal (`GET /api/v1/signals/{signal_id}/funnel`) montre quel filtre écarte le plus d'offres.

## Sources

- [Référence de l'API Rodz : signal Offres d'emploi, webhooks, test-webhook](https://api.rodz.io/docs)
- [Make : webhooks](https://help.make.com/webhooks)
- [Make : application Salesforce](https://apps.make.com/salesforce)
- [Salesforce : vue d’ensemble des leads](https://help.salesforce.com/s/articleView?id=sf.leads_overview.htm)

## Guides associés

- https://www.rodz.io/fr/guides/cas-usage/offres-emploi-vers-pipedrive/
- https://www.rodz.io/fr/guides/api/recepteur-webhook-hmac/
- https://www.rodz.io/fr/guides/api/recuperer-les-leads-d-un-signal/
