Skip to main content

Activities (Base Entity)

EntityActivity

Activities are the core operational records in TribeCRM — they represent everything from sales opportunities and invoices to tasks, emails, and support tickets. The Activity parent type holds common fields like Subject, Number, Amount, and financial totals shared by all subtypes.

The Activity endpoint provides a unified view across all activity subtypes. Use the subtype-specific endpoints (e.g., Activity_SalesOpportunity, Activity_Invoice) when you need to work with a single type.

Base Entity

Activity is a base entity and cannot be created directly. You must create a concrete subtype. See Subtypes for the full list.

Endpoints

List Activities

Retrieve a paginated list of all activities across all types.

GET/v1/odata/Activity

Single Activity

Retrieve a single activity by its ID.

GET/v1/odata/Activity({id})

With expanded relations:

GET/v1/odata/Activity({id})?$expand=Relationship,Contact,ProductLines

Create Activity

The Activity endpoint does not support direct creation. Use a subtype-specific endpoint instead:

POST/v1/odata/Activity_SalesOpportunity
POST/v1/odata/Activity_Offer
POST/v1/odata/Activity_SalesOrder
POST/v1/odata/Activity_Invoice
POST/v1/odata/Activity_Task
POST/v1/odata/Activity_Event
POST/v1/odata/Activity_SupportTicket
POST/v1/odata/Activity_Project

See Subtypes for the full list.

Update Activity

Update an existing activity. Provide only the fields to update.

PUT/v1/odata/Activity({id})

Delete Activity

Delete an activity by ID.

DELETE/v1/odata/Activity({id})

Subtypes

Activity is the abstract parent type. All activity records are one of these concrete subtypes:

SubtypeOData Entity SetDescription
Sales OpportunitiesActivity_SalesOpportunitySales pipeline opportunities
Quotes (Offers)Activity_OfferPrice quotations
Sales OrdersActivity_SalesOrderConfirmed orders
InvoicesActivity_InvoiceInvoices
SubscriptionsActivity_SubscriptionRecurring subscriptions
TasksActivity_TaskTasks / to-dos
EventsActivity_EventCalendar events
AppointmentsActivity_AppointmentAppointments
EmailsActivity_EmailEmails
ProjectsActivity_ProjectProjects
Support TicketsActivity_SupportTicketSupport tickets
Work OrdersActivity_WorkOrderWork orders
CampaignsActivity_CampaignMarketing campaigns
DocumentsActivity_DocumentDocuments
LinkedIn MessagesActivity_LinkedInMessageLinkedIn messages

Subtypes inherit all Activity fields and may add their own specific fields.

Fields

Standard Fields (all entities)

FieldTypeDescription
IDGuidPrimary key (UUID)
_TypeStringEntity type discriminator (e.g., Activity.SalesOpportunity)
_NameStringComputed display name
SortIndexDoubleSorting order
CreationDateDateTimeOffsetDate the record was created
LastMutationDateDateTimeOffsetDate of the last modification
IsActiveBooleanWhether the record is active
IsClosedBooleanWhether the record is closed

Activity Fields

FieldTypeDescription
SubjectStringActivity subject / title
NumberStringAuto-generated activity number (e.g., 2026-00001)
AmountDoubleActivity amount
CurrencyStringCurrency code (e.g., EUR)
IsVatIncludedBooleanWhether prices include VAT
DiscountPercentageDoubleDiscount percentage
RelationDescriptionStringDescription of the linked relation
NumberOfProductLinesDoubleNumber of product lines
NumberOfOpenTasksDoubleNumber of open tasks linked to this activity
NumberOfPlannedActionsDoubleNumber of planned actions
BillingAmountDoubleAmount to be invoiced
BillingAmountInCurrencyDoubleAmount to be invoiced (in currency)
AmountInCurrencyDoubleAmount (in currency)

Financial Totals

FieldTypeDescription
TotalSalesExcludingVATDoubleSubtotal excluding VAT
TotalSalesIncludingVATDoubleTotal including VAT
TotalSalesExcludingVATInCurrencyDoubleSubtotal excluding VAT (in currency)
TotalSalesIncludingVATInCurrencyDoubleTotal including VAT (in currency)
VatAmountDoubleVAT amount
VatAmountInCurrencyDoubleVAT amount (in currency)
VatAmountIncludingDiscountDoubleVAT amount after discount
TotalDiscountExcludingVATDoubleTotal discount amount
TotalDiscountExcludingVATInCurrencyDoubleTotal discount amount (in currency)
TotalMarginDoubleTotal profit margin
TotalPurchaseAmountDoubleTotal purchase/cost amount

Recurring vs Non-Recurring Totals

FieldTypeDescription
TotalRecurringSalesExcludingVATDoubleRecurring subtotal excl. VAT
TotalRecurringSalesIncludingVATDoubleRecurring total incl. VAT
TotalRecurringDiscountExcludingVATDoubleRecurring discount
TotalRecurringVatAmountDoubleRecurring VAT
TotalRecurringMarginDoubleRecurring margin
TotalRecurringPurchaseAmountDoubleRecurring cost
TotalNonRecurringSalesExcludingVATDoubleOne-time subtotal excl. VAT
TotalNonRecurringSalesIncludingVATDoubleOne-time total incl. VAT
TotalNonRecurringDiscountExcludingVATDoubleOne-time discount
TotalNonRecurringVatAmountDoubleOne-time VAT
TotalNonRecurringMarginDoubleOne-time margin
TotalNonRecurringPurchaseAmountDoubleOne-time cost

Relationships

RelationshipTarget EntityCardinalityDescription
RelationshipRelationshipN:1Linked relation (customer/contact)
ContactRelationship.Person.ContactN:1Contact person
ProductLinesProductLine1:NProduct lines / line items
InvolvedInvolved1:NInvolved parties
LinkedActivitiesActivity1:NLinked activities
ActivityActivityN:1Parent activity
TimeRegistrationsTimeRegistration1:NTime registrations
PriceListPriceListN:1Price list
MilestoneProjectMilestoneN:1Project milestone
EmployeeAllocationsEmployeeAllocation1:NEmployee allocations
EventParticipationEventParticipationN:1Event participation details

Expanding Relationships

GET/v1/odata/Activity({id})?$expand=Relationship
GET/v1/odata/Activity({id})?$expand=Relationship,Contact,ProductLines

You can navigate directly to related entities:

GET/v1/odata/Activity({id})/ProductLines
GET/v1/odata/Activity({id})/Involved
DELETE/v1/odata/Activity({id})/PriceList/$ref

Filtering Examples

:::warning Filtering by _Type is not supported To narrow by activity subtype, query that subtype's own entity set instead (e.g. /v1/odata/Activity_Invoice, /v1/odata/Activity_SalesOpportunity). See Filtering by Type. :::

GET/v1/odata/Activity?$filter=contains(Subject, '{Subject}')&$top={top}
GET/v1/odata/Activity?$filter=Amount gt {Amount}&$top={top}
GET/v1/odata/Activity?$filter=Number eq '{Number}'&$top={top}
GET/v1/odata/Activity?$filter=CreationDate gt {CreationDate}&$top={top}
GET/v1/odata/Activity?$filter=IsClosed eq {IsClosed}&$top={top}
GET/v1/odata/Activity?$filter=TotalSalesExcludingVAT gt {TotalSalesExcludingVAT}&$top={top}