Your Implementation Required
This endpoint must be implemented on your server
When Activities Are Created
Enginy creates activity records when:| Event | Activity Type | Direction |
|---|---|---|
| LinkedIn message sent | LINKEDIN | OUTBOUND |
| LinkedIn message received | LINKEDIN | INBOUND |
| LinkedIn InMail sent | LINKEDIN_INMAIL | OUTBOUND |
| LinkedIn InMail received | LINKEDIN_INMAIL | INBOUND |
| Connection request sent | LINKEDIN_CONNECTION | OUTBOUND |
| Connection request accepted | LINKEDIN_CONNECTION | INBOUND |
| Email sent | EMAIL | OUTBOUND |
| Email received | EMAIL | INBOUND |
Activities are only logged for campaigns with message sync enabled. Configure this in your campaign
settings.
Subject Format
Enginy formats thesubject field to provide context about the message:
Outbound messages (from your team):
[1/3] [FROM Acme Corp] John Smith
Inbound messages (from the contact):
[TechStartup Inc] Jane Doe
Create Activity
Creates a new activity record in your CRM.Request Body
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Activity type: EMAIL, LINKEDIN, LINKEDIN_CONNECTION, LINKEDIN_INMAIL |
subject | string | No | Activity subject/title |
body | string | No | Activity body or message content (may include HTML) |
direction | string | No | INBOUND or OUTBOUND |
ownerId | string | No | Owner/user ID in your CRM |
occurredAt | string (ISO 8601) | No | When the activity happened |
contactId | string | No | Associated contact/lead CRM ID |
companyId | string | No | Associated company CRM ID |
metadata | object | No | Optional metadata (e.g., sequence index, message ID) |
Typical
metadata keys include messageId, sequenceIndex, and sequenceMessageCount. You can store them
for traceability or ignore them.Example: Email Activity
Example: LinkedIn Outbound Message
Example: LinkedIn Inbound Reply
Response
Return the created activity with at least anid field:
Activity Schema Reference
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes (response) | Unique identifier for the activity |
type | string | Yes | EMAIL, LINKEDIN, LINKEDIN_CONNECTION, LINKEDIN_INMAIL |
subject | string | No | Activity subject/title |
body | string | No | Activity body/content (may contain HTML) |
direction | string | No | INBOUND or OUTBOUND |
ownerId | string | No | Assigned user ID |
occurredAt | string (ISO 8601) | No | Timestamp of the activity |
contactId | string | No | Associated contact/lead CRM ID |
companyId | string | No | Associated company CRM ID |
metadata | object | No | Additional metadata |
Testing Your Activities API
Reference Implementation
GitHub Repository
See a complete working implementation of the activities endpoint, including how to display activities in
contact/company detail pages.