Your Implementation Required
This endpoint must be implemented on your server
Enginy calls this endpoint to log conversation activity from campaigns including LinkedIn messages, emails, InMails, and connection requests.
Request
Activity type: EMAIL, LINKEDIN, LINKEDIN_CONNECTION, LINKEDIN_INMAIL
Activity subject (formatted with sequence info and sender)
Message body content (may include HTML for emails)
INBOUND (from contact) or OUTBOUND (from your team)
Owner/sender user ID in your CRM
When the activity happened (ISO 8601)
Associated contact’s CRM ID
Associated company’s CRM ID
Additional metadata (messageId, sequenceIndex, sequenceMessageCount)
{
"type": "LINKEDIN",
"subject": "[1/3] [FROM Acme Corp] John Smith",
"body": "Hi Jane, I noticed your company is expanding...",
"direction": "OUTBOUND",
"ownerId": "user-123",
"occurredAt": "2024-12-31T10:00:00Z",
"contactId": "contact_8f3k2j",
"companyId": "account_4k8j2m",
"metadata": {
"messageId": "linkedin-msg-123",
"sequenceIndex": 1,
"sequenceMessageCount": 3
}
}
Response
Return the created activity with at least an id field.
Unique identifier for the activity (required to prevent duplicates)
{
"id": "activity-abc123",
"type": "LINKEDIN",
"subject": "[1/3] [FROM Acme Corp] John Smith",
"direction": "OUTBOUND",
"occurredAt": "2024-12-31T10:00:00Z"
}
Activity Types
| Type | Description |
|---|
EMAIL | Email messages sent/received |
LINKEDIN | LinkedIn messages sent/received |
LINKEDIN_INMAIL | LinkedIn InMail sent/received |
LINKEDIN_CONNECTION | Connection requests sent/accepted |
Enginy formats subjects to provide context:
Outbound: [{index}/{total}] [FROM {Company}] {SenderName}
[1/3] [FROM Acme Corp] John Smith
Inbound: [{ContactCompany}] {ContactName}
[TechStartup Inc] Jane Doe
The id field is required in the response. Enginy stores this ID to prevent duplicate activity logs.