Skip to main content
POST
/
v1
/
profile
/
engagement
/
bulk
curl -X POST https://api.trigify.io/v1/profile/engagement/bulk \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "profiles": [
      {
        "profile_url": "https://www.linkedin.com/in/amelia-chen",
        "webhook_url": "https://ops.example.com/webhooks/trigify/profile-engagement"
      },
      {
        "profile_url": "https://www.linkedin.com/in/marco-alvarez"
      }
    ]
  }'
{
  "message": "<string>",
  "success": true,
  "data": [
    {
      "profile_url": "<string>",
      "status": "created",
      "webhook_status": "created"
    }
  ]
}
Use this endpoint to bulk create or refresh tracked LinkedIn profile monitors for the authenticated organisation.
Enterprise-only endpoint. Contact us at [email protected] to discuss access.
This endpoint configures monitoring only. Credits are charged later when Trigify collects new profile engagement results, not when you upload profiles.

Overview

This endpoint bulk upserts tracked LinkedIn person profiles for profile engagement monitoring. Trigify canonicalizes each profile_url, revives archived monitors when the same person is re-uploaded, and automatically ensures the profile is attached to the organisation’s all-leads engagement group. If you include a webhook_url, Trigify also upserts a single webhook destination for that tracked profile so new engagement results can be pushed out as they are collected.

Authentication And Permissions

  • send your API key in x-api-key
  • required permission: track:engagement:create
  • required plan: ENTERPRISE or CUSTOM
curl -X POST https://api.trigify.io/v1/profile/engagement/bulk \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "profiles": [
      {
        "profile_url": "https://www.linkedin.com/in/amelia-chen",
        "webhook_url": "https://ops.example.com/webhooks/trigify/profile-engagement"
      },
      {
        "profile_url": "https://www.linkedin.com/in/marco-alvarez"
      }
    ]
  }'

Request Highlights

  • profiles: array of tracked profile inputs, max 100
  • each profile accepts:
    • profile_url: LinkedIn person profile URL
    • webhook_url: optional HTTPS webhook URL for that tracked profile
Only LinkedIn person /in/ profile URLs are accepted. Equivalent LinkedIn profile URLs are canonicalized before insert, so exact retries and formatting variations do not create duplicate tracked profile rows.

What Happens During Upload

  1. Trigify resolves or creates the organisation’s internal LinkedIn connection automatically.
  2. Each canonicalized profile_url is upserted into tracked profile monitoring.
  3. Archived monitors for the same profile are revived instead of duplicated.
  4. Every tracked profile is attached to the organisation’s all-leads engagement group.
  5. Optional webhook configuration is created or updated per profile.

Webhook Rules

  • one webhook URL can be attached per tracked profile
  • if the tracked profile already exists, supplying webhook_url updates or creates that profile’s webhook configuration
  • webhook URLs must use https
  • duplicate payload rows for the same canonical profile are collapsed when the webhook URL is identical
  • duplicate payload rows for the same canonical profile are rejected when the webhook URL conflicts

Example Response

{
  "success": true,
  "message": "Tracked LinkedIn profiles uploaded successfully",
  "data": [
    {
      "profile_url": "https://www.linkedin.com/in/amelia-chen",
      "status": "created",
      "webhook_status": "created"
    },
    {
      "profile_url": "https://www.linkedin.com/in/marco-alvarez",
      "status": "existing",
      "webhook_status": "none"
    }
  ]
}

Response Shape

Each returned item includes:
  • profile_url: canonical LinkedIn profile URL
  • status: created or existing
  • webhook_status: created, updated, unchanged, or none
The response also includes x-spent-credits: 0 because uploading monitors does not consume credits. After upload, use:

Headers

x-api-key
string

Body

application/json
profiles
object[]
required

Tracked LinkedIn profiles to create or refresh (max 100).

Required array length: 1 - 100 elements

Response

201 - application/json

Tracked profiles created or refreshed successfully

message
string
required
success
boolean
required
data
object[]
required