One product, not a shared task engine
Ecosystem products do not migrate onto A3.Projects and do not break without it. They call its public API when the organisation has the matching subscription.
Calls run in one direction only
The other product calls the A3.Projects API. There is no polling the other way: the source product knows when its entity changed, while A3.Projects would have to poll everyone on a schedule.

The entity stays in its own product
A lawyer creates an instruction on a case in A3.Lawyer exactly as before. No feature moves over here.
The subscription is checked
Before the call the source product asks A3.ID whether the organisation has an active A3.Projects subscription.
An external assignment is created
Title, assignee, due date, entity type and a link back. An idempotency key stops a repeated call from creating a duplicate.
The work joins one list
The instruction sits next to ordinary tasks. Time is logged against it and it shows up in the overdue view.
The integration call always runs outside the main transaction of the source product. A lawyer instruction is saved even if A3.Projects is unavailable at that moment.
Who owns which fields
Splitting ownership is what makes a one-way integration honest. The user can see that the due date arrived from elsewhere and is not changed here.
Owned by the source product
- Title
- Due date
- Assignee
- Entity state
Owned by A3.Projects
- Comments
- Tags
- Time entries
- Project membership
What ecosystem products pass in
| Product | What the link carries |
|---|---|
| A3.ID | Sign-in, organisations, permissions and subscription. The only mandatory dependency |
| A3.HR | Employee cost rates, read-only in the product |
| A3.Lawyer | Matter assignments arrive as external assignments, and an act keeps a link to the contract act |
| A3.Accounting | Accounting assignments arrive as external assignments, project costs are entered by budget line for now |
| A3.Sales | An act for billable hours keeps a link to the bill, deals arrive as external assignments |
| A3.Meet | A call on a task, recording and transcript as an attachment, action items from minutes |
| A3.Drive | Files on tasks and comments. A mandatory dependency for attachments |
| A3.Trust | Counterparty screening requests arrive as external assignments |
Links that need work on the neighbouring products are listed on the roadmap page. Without them the calculation runs on manual rates and costs, and the interface says the channel is not set up.
Works together with
- A3.MeetA call starts from the task card, the recording is attached to the task, and action items from the meeting minutes become tasks.
- A3.DriveTask and comment attachments are stored in A3.Drive and open from the task card by link, without copies of the files.
- A3.HREmployee cost rates come from HR and are shown read-only, so margin is calculated on actual rates.
- A3.LawyerAssignments from lawyers land in the shared work list as external assignments with a link to the matter in A3.Lawyer.
Need your own integration?
The public API is documented and versioned by path. If your product can call REST, it can create external assignments.
