This article explains all the API related details on integrating Salesgear with Zapier.
Authentication API
The authentication API is used to authenticate the user to integrate Salesgear with Zapier. It uses an API key scheme to authenticate the user. The user should provide their email address associated with Salesgear and the API key available in their Salesgear account.
API Configuration:
Method: GET
Query Parameters:
Parameter name | Data type | Required/Optional | Description |
String | Required | User's email address in Salesgear | |
API key | String | Required | Unique key for every Salesgear user to authenticate the integration |
Sample response:
{
apiKey:â...â, email:â...â
}2. Triggers
a) Subscribe API
The subscribe API is used for webhook subscriptions. This will be called whenever a zap is configured in Zapier with any of the below triggers:
Email sent
Email opened
The link clicked in an email
Email reply
Email bounce
Contact opt-out
Method: POST
Sample request:
{
webHookUrl : {{bundle.targetUrl}},
event: SENT || OPENED || CLICKED || REPLIED || BOUNCED || OPTED_OUT
}Sample response:
HTTP Response code 200
{
âIdâ:â1234â
}
b) Unsubscribe API
The unsubscribe API is used to remove a webhook subscription. This will be called when the user turns off the zap in Zapier. Therefore, it sends no data.
Method: DELETE
Request body:
{
webHookUrl : {{bundle.targetUrl}}
}Sample response:
- Void - Http Response : 200 || 500
3. Actions
a) Create contact API
The âcreate contactâ API allows the users to create a new contact in Salesgear based on an event happening in any other tool.
Therefore, according to the userâs configurations, when an action is fired from any tool, a new contact with the following fields will be created -
firstName
lastName
jobTitle
email ( Email field should be mandatory)
phoneNumber
mobileNumber
otherNumber
company
industry
street
city
state
country
zipCode
linkedinId
website
facebook
twitter
customField1
customField2
customField3
customField4
customField5
customField6
customField7
customField8
customField9
customField10
customField11
customField12
customField13
customField14
customField15
customField16
API Configuration:
Method: POST
Sample request:
Parameter name | Data type | Required/Optional | Description |
String | Required | The email ID of the user whose activities on Salesgear will be updated or to update other systems based on the use case | |
API key | String | Required | Unique key for every Salesgear user to authenticate the integration |
Request body:
firstName : {{bundle.inputData.firstName}}
lastName : {{bundle.inputData.lastName}}
email : {{bundle.inputData.email}}
.
.
.
customField16 : {{bundle.inputData.customField16}}Sample response:
{
status: âsuccessâ | âfailureâ
}b) Update contact API
The âupdate contactâ API updates an existing contact in Salesgear based on an event happening in any other tool.
Therefore, according to the userâs configurations, when an action is fired from any tool, any of the following fields of existing contact will be updated -
firstName
lastName
jobTitle
email ( Email field should be mandatory)
phoneNumber
mobileNumber
otherNumber
company
industry
street
city
state
country
zipCode
linkedinId
website
facebook
twitter
customField1
customField2
customField3
customField4
customField5
customField6
customField7
customField8
customField9
customField10
customField11
customField12
customField13
customField14
customField15
customField16
API Configuration:
Method: POST
Sample request:
Parameter name | Data type | Required/Optional | Description |
String | Required | The email ID of the user whose activities on Salesgear will be updated or to update other systems based on the use case | |
API key | String | Required | Unique key for every Salesgear user to authenticate the integration |
Request body:
firstName : {{bundle.inputData.firstName}}
lastName : {{bundle.inputData.lastName}}
email : {{bundle.inputData.email}}
.
.
.
customField16 : {{bundle.inputData.customField16}}Sample response:
{
status: âsuccessâ | âfailureâ
}
4. Perform list API
Perform list API is used to get the real-time sample data from Salesgear when the user tests the zap.
Method: GET
Query Parameters:
Parameter name | Data type | Required/Optional | Description |
String | Required | The email ID of the user whose activities on Salesgear will be updated or to update other systems based on the use case | |
API key | String | Required | Unique key for every Salesgear user to authenticate the integration |
Event | Can be any one of these options - Sent, opened, clicked, replied, bounced, opted_out |
Sample response that will be pushed to Zapier:
{
"sequenceName": "Outbound Sequence",
"subject": "Lauren, need your confirmation",
"emailContent": "Hi Lauren, This is Emily, and I'm the Product Specialist for Slack. I got to know that your call with John, one of our SDRs, went well and you wanted to take a demo. Will Jan 11, 2022 - next Tuesday, 3 PM work for you? I look forward to hearing from you. Please feel free to suggest another date or time if the above doesn't work for you. Regards, Emily",
"replyEmailContent": "Sure, let's talk next Tuesday",
"sentDate": "03/01/2022",
"firstName": "Lauren",
"lastName": "Reeves",
"jobTitle": "Director of Sales",
"email": "lauren@salesgear.io",
"phone": "+1 (650) 410 8496",
"mobilePhone": "+1 (555) 555-1234",
"otherPhone": "(309) 657-7557",
"company": "Salesgear",
"industry": "IT",
"street": "4227 Garfield Road",
"city": "Peoria",
"country": "United States",
"zipCode": "61615",
"linkedinId": "https://www.linkedin.com/company/salesgeario/",
"website": "www.salesgear.io",
"facebook": "https://www.facebook.com/salesgeario/",
"twitter": "@salesgear1",
"customField1": "Date of birth",
"customField2": "Skype ID",
"customField3": "Preferred communication mode: Email or Phone",
"customField4": "Department",
"customField5": "Source",
"customField6": "Preferred language",
"customField7": "Level of interest",
"customField8": "Contact type: Prospect/Customer",
"customField9": "Contact stage",
"customField10": "Secondary email address",
"customField11": "Number of employees",
"customField12": "Annual revenue",
"customField13": "Customer wants to make a decision by end of January",
"customField14": "SQL",
"customField15": "Customer is currently using a competitor",
"customField16": "7 Licenses"
}
