Version | Description |
1.0 | Add “GetCampaignStatistics” endpoint |
1.1 | Add “ImportMember” endpoint |
1.2 | Add “UpdateContact” endpoint |
1.2 | Add “GetContact” (by memberId) endpoint |
1.2 | Add “DeleteContact” endpoint |
1.2 | Add “ListContacts” (by campaignId) endpoint |
1.2 | Add “ListCampaigns” endpoint |
1.3 | Add “GetContact” (by public identifier) endpoint |
1.3 | Add “ListContacts” (by public identifiers) endpoint |
Webhooks
Webhooks allow to make outgoing calls from Salesflow to any external site by URL,
provided by the 3rd-party site. Webhooks can be configured on the campaign
settings page under “Integrations” section and are triggered by one of the following
events:
MEMBER_CONNECTED – the system has identified that a given campaign member
changed his status to “CONNECTED”
REPLY_DETECTED – the system has identified an incoming message from a
given contact. Not called if a given contact is muted
INVITATION_WITHDRAWN – the system has successfully withdrawn an invitation
for a given contact

Data sample
The data sent by the system is a regular POST request, containing a normal JSON as
the request body. The following data sample illustrates this:
{
"IntegrationType": "INTEGRATION_TYPE_WEBHOOK",
"IntegrationRunOn": "INTEGRATION_RUN_ON_CONNECTED",
"MemberId": 0,
"LinkedInMemberId": 1234567890,
"FirstName": "John",
"LastName": "Smith",
"Occupation": "Founder and Chief Executive Officer at Smith & Co",
"Company": "Smith & Co",
"Location": "Miami/Fort Lauderdale Area",
"PhoneNumber": "123 4567890",
"Email": "[email protected]",
"Address": "",
"BirthdayYear": 1980,
"BirthdayMonth": 12,
"BirthdayDay": 1,
"DateAdded": "2021-02-18T15:33:44.5905705+00:00",
"ConnectedAt": "2021-02-18T16:33:44.5905705+00:00",
"MemberUrl": "https://linkedin.com/in/john-smith-123321",
"Industry": "Banking",
"Distance": "DISTANCE_3",
"CurrentPosition": "Chief Executive Officer",
"Status": "MEMBER_CONNECTED",
"HasReply": false,
"IsMuted": false,
"IsSeen": false,
"ConnectionsCount": 100,
"FollowersCount": 100,
"IsSalesNavigator": false,
"LinkedInAccount": {
"FirstName": "Bob",
"LastName": "White",
"Username": "[email protected]"
},
"Custom1": "CustomValue1",
"Custom2": "CustomValue2",
"Custom3": "CustomValue3",
"Custom4": "CustomValue4",
"Custom5": "CustomValue5",
"Custom6": "CustomValue6",
"Custom7": "CustomValue7",
"Custom8": "CustomValue8",
"Custom9": "CustomValue9",
"Custom10": "CustomValue10",
"MemberActionsFormatted": "<p>Connection message [2/18/2021 4:33 PM]: This is a test co
nnection message</p>\r\n\r\n<p>John Smith [2/18/2021 4:33 PM]: This is a test inbound messa
ge</p>",
"MemberCampaigns": [
{
"CampaignName": "Test campaign"
}
]
}
API Calls
API calls allow any 3rd party system to interact with our system. Currently we support a very basic set of methods, however, we are going to significantly expand this functionality very soon.
GetCampaignStatistics
This method retrieves campaign statistics for a given campaignId
Endpoint: https://app.salesflow.io/api/
Resource: statistics/GetCampaignStatisticsParameters:
accountId – selected accountId
campaignId – selected campaignId
token – API token, obtained for selected accountId
example
{
"CampaignId": 31767,
"Total": 555,
"InMails": 0,
"Imported": 2,
"Connections": 1,
"Messages": 0,
"Pending": 552,
"Replies": 0,
"Withdrawn": 0,
"Invitations": 0,
"UpdatedAt": "/Date(1618336539820)/",
"Elapsed": 3.5381
}
ImportMember
This method allows to add a new contact (campaign member) to a given campaign (the same can be done with CSV import feature)
Endpoint: https://mvc.salesflow.io/api/
Resource: members/Import
Parameters:
accountId – selected accountId
campaignId – selected campaignId
token – API token, obtained for selected accountId
linkedInUrl – LinkedIn profile URL of a contact to be added
(optional): firstName, lastName, occupation, location
Example:
UpdateContact
This method allows to update an existing contact (campaign member)
Endpoint: https://mvc.salesflow.io/api/
Method: POSTResource: members/{memberId}
Query Parameters:
memberId – selected memberId
accountId – selected accountId
token – API token, obtained for selected accountId
Body Parameters:
firstName – first name, maximum length = 63
lastName – last name, maximum length = 63
location – location, maximum length = 127
occupation – occupation, maximum length = 1023
industry – industry, maximum length = 1023
email – email, maximum length = 1023
phone – phone, maximum length = 1023
Example:
curl 'https://mvc.salesflow.io/api/members/46875434?token=abcdefghijklmnop123&accountId=321' \
--header 'Content-Type: application/json' \
--data-raw '{
"lastName": "Doe",
"FirstName": "John",
"Location": "New York",
"Occupation": "CEO",
"Industry": "marketing",
"Email": "[email protected]",
"Phone": "1555123458"
}'
Sample Data Response:
{
"MemberId": 46875434,
"FirstName": "John",
"LastName": "Doe",
"Location": "New York",
"Occupation": "CEO",
"Industry": "marketing",
"Email": "[email protected]",
"Phone": "1555123456",
“PublicIdentifier”: “identity100”
}
GetContact (by memberId)
This method allows to get contact (campaign member)
Endpoint: https://mvc.salesflow.io/api/
Method: GET
Resource: members/{memberId}Parameters:
memberId – selected memberId
accountId – selected accountId
token – API token, obtained for selected accountId
Example: https://mvc.salesflow.io/api/members/46875434?token=abcdefghijklmnop123&accountId=321
Sample Data Response:
{
"MemberId": 46875434,
"FirstName": "John",
"LastName": "Doe",
"Location": "New York",
"Occupation": "CEO",
"Industry": "marketing",
"Email": "[email protected]",
"Phone": "1555123456",
“PublicIdentifier”: “identity100”
}
GetContact (by public identifier)
This method allows to get contact (campaign member)
Endpoint: https://mvc.salesflow.io/api/
Method: GET
Resource: members
Parameters:
publicIdentifier – member’s public identifier
accountId – selected accountId
token – API token, obtained for selected accountId
Example:
Sample Data Response:
{
"MemberId": 46875434,
"FirstName": "John",
"LastName": "Doe",
"Location": "New York",
"Occupation": "CEO",
"Industry": "marketing",
"Email": "[email protected]",
"Phone": "1555123456",
“PublicIdentifier”: “identity100”
}
DeleteContact
This method allows to delete contact (campaign member)
Endpoint: https://mvc.salesflow.io/api/
Method: DELETE
Resource: members/{memberId}
Parameters:
memberId – selected memberId
accountId – selected accountId
token – API token, obtained for selected accountId
Example:
curl — request DELETE ‘https://mvc.salesflow.io/api/members/46875434?token=abcdefghijklmnop123&accountId=321’
Sample Data Response:
{
"Status": 204,
"Message": null
}
Resource: members
ListContacts (by public identifiers)
This method allows to get a list of available contacts by provided public identifiers
Endpoint: https://mvc.salesflow.io/api/
Method: POST
Resource: members/list-contacts
Query parameters:
accountId – selected accountId
token – API token, obtained for selected accountId
Body Parameters:
PublicIdentifiers – Collection of public identifiers
Publicidentifiers collection can’t be null or empty.
Collection can have more than 20 elements.
Every element of ‘Publicidentifiers’ collection can’t be null or empty.
Example:
curl ‘https://mvc.salesflow.io/api/list-contacts?token=abcdefghijklmnop123&accountId=321’ \
--header 'Content-Type: application/json' \
--data-raw '{
"PublicIdentifiers": [
"identity1",
"identity2",
"identity3" ]
}’
Sample Data Response:
[
{
"MemberId": 46875434,
"FirstName": "John",
"LastName": "Doe",
"Location": "New York",
"Occupation": "CEO",
"Industry": "marketing",
"Email": "[email protected]",
"Phone": "1555123456",
“PublicIdentifier”: “identity1”
},
{
"MemberId": 46875435,
"FirstName": "Nick",
"LastName": "Foo",
"Location": "London",
"Occupation": "Full stack .NET developer, open for new opportunities",
"Industry": null,
"Email": null,
"Phone": null
“PublicIdentifier”: “identity3”
}
]
ListContacts (by campaignId)
This method allows to get a list of available contacts (campaign members) for a selected campaign
Endpoint: https://mvc.salesflow.io/api/
Method: GET
Resource: members/list-contacts
Parameters:
accountId – selected accountId
campaignId – selected campaignId
token – API token, obtained for selected accountId
Example:
Sample Data Response:
[
{
"MemberId": 46875434,
"FirstName": "John",
"LastName": "Doe",
"Location": "New York",
"Occupation": "CEO",
"Industry": "marketing",
"Email": "[email protected]",
"Phone": "1555123456"
},
{
"MemberId": 46875435,
"FirstName": "Nick",
"LastName": "Foo",
"Location": "London",
"Occupation": "Full stack .NET developer, open for new opportunities",
"Industry": null,
"Email": null,
"Phone": null
}
]
ListCampaigns
This method allows to get a list of available campaigns
Endpoint: https://mvc.salesflow.io/api/
Method: GET
Resource: campaigns/list-campaigns
Parameters:
accountId – selected accountId
token – API token, obtained for selected accountId
Example:
Sample Data Response:
[
{
"CampaignId": 29854,
"CampaignName": "Sales"
},
{
"CampaignId": 29889,
"CampaignName": "Java developers"
}
]