Skip to main content

API Documentation for Zapier

Written by Premsanth Rajamani

This article explains all the API related details on integrating Salesgear with Zapier.

  1. 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

Email

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

Email

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

Email

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

Email

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",

"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",

"website": "www.salesgear.io",

"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"

}

Did this answer your question?