Overview
The purpose of this workflow is to capture leads from Tray's Webhook URL and use them to **create and update persons in **Pipedrive.
This workflow is fired every time an HTTP POST call is made to the webhook URL with the lead data:

Prerequisites
To implement this workflow, you will need the following:
- You have API credentials for the source system that will call the Tray Workflow Webhook and Pipedrive
Getting Live
Click the Use Template button to deploy the template in your chosen Workspace. Then take the following steps to configure the workflow and start submitting leads for processing:
The workflow will then start the process of pulling the leads into Pipedrive.
End Result

Key workflow steps
The following diagram gives a simplified breakdown of the key steps in the workflow:

Standardize
This Object Helpers step transforms the incoming data from Webhook trigger into a standard object with fields in the following format:
First Name --> first_name
Last Name --> last_name
Lead Source --> lead_source
etc.
For each lead, we will then have a simple object which can be easily accessed by later Pipedrive steps using jsonpaths such as $.steps.object-helpers-1.result.first_name:
PLEASE NOTE: When you use the Lead Ads Testing Tool many of the expected fields will return empty. When you create your own Leads Ads Form simply include more relevant values and the workflow will function as expected.

Validate Email
The lead’s email address is validated for the appropriate user@domain.com format
Create / Update Persons
A search is made for an existing person in Pipedrive using the lead’s email address as the unique identifier.
If a Pipedrive person** exists**, the person record is updated.
A new person record is** created if a Pipedrive person does not exist.**