Endpoints

Networking Endpoints

Manage networking campaigns, enroll profiles for connection outreach, and send connection requests or direct messages

The networking tag contains endpoints for automating LinkedIn connection campaigns, checking connection status, and sending connection requests or direct messages.

List Networking Campaigns

GET /v2/networking/campaigns

Lists workspace networking campaigns.

Authentication

Required: bearer token.

Example Request

curl -X GET "https://api.teamfluence.com/v2/networking/campaigns" \
  -H "Authorization: ******" \
  -H "Accept: application/json"

Response Fields (NetworkingCampaignList)

FieldTypeNotes
totalintegerTotal number of campaigns
itemsarrayList of campaign objects, see Campaign Object
has_morebooleanWhether more results are available
cursorstring | nullCursor token for the next page

Campaign Object

FieldTypeNotes
idstringCampaign identifier
namestringCampaign name
statusstringDRAFT, ACTIVE, COMPLETED, or ARCHIVED
creatorobjectWorkspace user who created the campaign, see Workspace Endpoints
participantsarrayWorkspace users participating in the campaign
descriptionstring | nullCampaign description
contactsarrayEnrolled contacts, see Contact Object

Contact Object

FieldTypeNotes
idstringContact identifier
first_namestring | nullContact first name
last_namestring | nullContact last name
linkedin_urnstring | nullLinkedIn URN identifier
linkedin_handlestring | nullLinkedIn public handle

Example Response

{
  "total": 1,
  "items": [
    {
      "id": "camp_abc123",
      "name": "Q3 Outbound",
      "status": "ACTIVE",
      "creator": {
        "id": "usr_123",
        "email": "owner@example.com",
        "first_name": "Alex",
        "last_name": "Doe",
        "is_active_seat": true,
        "integration_status": "CONNECTED",
        "linkedin_username": "alex-doe",
        "last_linkedin_update": "2026-07-20T11:41:09Z"
      },
      "participants": [],
      "description": "Outreach to Q3 pipeline contacts",
      "contacts": [
        {
          "id": "cont_001",
          "first_name": "Jane",
          "last_name": "Smith",
          "linkedin_urn": "ACoAAB1234567",
          "linkedin_handle": "jane-smith"
        }
      ]
    }
  ],
  "has_more": false,
  "cursor": null
}

Get Networking Campaign Details

GET /v2/networking/campaigns/{campaign_id}

Retrieves networking campaign details. The response uses the same campaign object described in Campaign Object.

Authentication

Required: bearer token.

Path Parameter

NameTypeRequired
campaign_idstringyes

Example Request

curl -X GET "https://api.teamfluence.com/v2/networking/campaigns/camp_abc123" \
  -H "Authorization: ******" \
  -H "Accept: application/json"

Responses

StatusDescription
200Campaign details returned as a Campaign Object
422Validation error — check campaign_id

Example Response

{
  "id": "camp_abc123",
  "name": "Q3 Outbound",
  "status": "ACTIVE",
  "creator": {
    "id": "usr_123",
    "email": "owner@example.com",
    "first_name": "Alex",
    "last_name": "Doe",
    "is_active_seat": true,
    "integration_status": "CONNECTED",
    "linkedin_username": "alex-doe",
    "last_linkedin_update": "2026-07-20T11:41:09Z"
  },
  "participants": [],
  "description": "Outreach to Q3 pipeline contacts",
  "contacts": [
    {
      "id": "cont_001",
      "first_name": "Jane",
      "last_name": "Smith",
      "linkedin_urn": "ACoAAB1234567",
      "linkedin_handle": "jane-smith"
    }
  ]
}

Extend Networking Campaign

PUT /v2/networking/campaigns/\{campaign_id\}

Adds one or more LinkedIn profiles to an existing networking campaign. Each profile will be enrolled for automated connection outreach.

Authentication

Required: bearer token.

Path Parameter

NameTypeRequired
campaign_idstringyes

Request Body

FieldTypeRequiredNotes
profilesarrayyesList of profiles to enroll

Profile Object

FieldTypeRequiredNotes
usernamestringyesLinkedIn username / public handle
linkedin_urnstring | nullnoLinkedIn URN identifier
first_namestring | nullnoProfile first name
last_namestring | nullnoProfile last name
emailstring | nullnoProfile email address
crm_idstring | nullnoExternal CRM record identifier

Example Request

curl -X PUT "https://api.teamfluence.com/v2/networking/campaigns/<campaign_id>" \
  -H "Authorization: Bearer $TEAMFLUENCE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "profiles": [
      {
        "username": "jane-smith",
        "first_name": "Jane",
        "last_name": "Smith",
        "email": "jane@acme.com",
        "crm_id": "crm_001"
      },
      {
        "username": "john-doe"
      }
    ]
  }'

Responses

StatusDescription
200Profiles successfully added to the campaign
422Validation error — check request body structure

Example Response

{}

Tip

Each profile requires at minimum a username (LinkedIn public handle). Providing crm_id enables cross-referencing with your CRM after campaign completion.

Check If Relation Exists

PATCH /v2/networking/connections/check

Checks if the target team member has an existing LinkedIn connection with a specified contact. You must specify either contact_urn or lead_id.

Authentication

Required: bearer token.

Request Body (RelationRequestBase)

FieldTypeRequiredNotes
team_member_idstringyesID of the team member whose connections are checked
contact_urnstring | nullnoLinkedIn URN of the contact, format ACoxxxxxxxxxxxx
lead_idstring | nullnoID of the lead this request relates to

Note

Provide either contact_urn or lead_id, not both.

Example Request

curl -X PATCH "https://api.teamfluence.com/v2/networking/connections/check" \
  -H "Authorization: ******" \
  -H "Content-Type: application/json" \
  -d '{
    "team_member_id": "usr_123",
    "lead_id": "lead_abc123"
  }'

Responses

StatusDescription
200Relation status returned as a RelationStatusResponse
422Validation error — check request body structure

Example Response

{
  "exists": true
}

Send Relation Request

POST /v2/networking/connections/send

Sends a LinkedIn connection request to a contact. You must specify either contact_urn or lead_id.

Authentication

Required: bearer token.

Request Body (RelationRequestPayload)

FieldTypeRequiredNotes
team_member_idstringyesID of the team member sending the request
contact_urnstring | nullnoLinkedIn URN of the contact, format ACoxxxxxxxxxxxx
lead_idstring | nullnoID of the lead this request relates to
messagestring | nullnoOptional note to include with the connection request

Note

Provide either contact_urn or lead_id, not both.

Example Request

curl -X POST "https://api.teamfluence.com/v2/networking/connections/send" \
  -H "Authorization: ******" \
  -H "Content-Type: application/json" \
  -d '{
    "team_member_id": "usr_123",
    "lead_id": "lead_abc123",
    "message": "Great connecting with you at the conference!"
  }'

Responses

StatusDescription
200Connection request sent successfully
400Invalid lead_id or contact_urn — didn't match any existing LinkedIn contact
403Invalid team_member_id
422Validation error — check request body structure

Example Response

{}

Send DM to Connection

POST /v2/networking/connections/direct-message

Sends a direct message to a contact if an existing LinkedIn connection exists. You must specify either contact_urn or lead_id.

Authentication

Required: bearer token.

Request Body (RelationRequestPayload)

FieldTypeRequiredNotes
team_member_idstringyesID of the team member sending the message
contact_urnstring | nullnoLinkedIn URN of the contact, format ACoxxxxxxxxxxxx
lead_idstring | nullnoID of the lead this request relates to
messagestring | nullnoDirect message content

Note

Provide either contact_urn or lead_id, not both.

Example Request

curl -X POST "https://api.teamfluence.com/v2/networking/connections/direct-message" \
  -H "Authorization: ******" \
  -H "Content-Type: application/json" \
  -d '{
    "team_member_id": "usr_123",
    "lead_id": "lead_abc123",
    "message": "Thanks for connecting! Let me know if you have any questions."
  }'

Responses

StatusDescription
200Direct message sent successfully
400Invalid lead_id or contact_urn — didn't match any existing LinkedIn contact
403Invalid team_member_id
406LinkedIn user is not connected with the current team member — send a relation request instead
422Validation error — check request body structure

Example Response

{}

Tip

Use Check If Relation Exists before sending a direct message to confirm a connection is already established.