OQL · Entities
Actions
OQL field reference for actions. Tasks and next actions linked to contacts. Core to the Action Stream methodology.
Maintained by the OnePageCRM engineering team · Last updated Jul 16, 2026
Actions are the tasks and next actions linked to contacts. They are core to the Action Stream methodology that OnePageCRM is built around.
Default sort: weight descending. When you omit order_by,
actions return in Action Stream priority
order, the same
order the OnePageCRM app uses.
Fields
Legend: F filterable, S sortable, A aggregatable, G groupable.
| Field | Type | F | S | A | G | Description |
|---|---|---|---|---|---|---|
id | ID | Y | — | — | — | Action ID |
text | string | Y | — | — | — | Action text (max 140 chars) |
contact_id | ID | Y | — | — | Y | Associated contact ID |
assignee_id | ID | Y | — | — | Y | Assigned user ID |
completed | boolean | Y | — | — | Y | Whether the action is completed |
status | string | Y | Y | — | Y | One of asap, date, date_time, waiting, queued |
date | date | Y | Y | — | Y | Due date (in assignee’s timezone) |
exact_time | time | Y | Y | — | — | Exact time on time-scheduled actions |
waiting_since | time | Y | Y | — | — | When a waiting action started waiting (auto-set; read-only) |
completed_at | time | Y | Y | — | Y | When the action was completed |
weight | number | — | Y | — | — | Action Stream priority weight. Default sort field. |
created_at | time | Y | Y | — | Y | Record creation timestamp |
modified_at | time | Y | Y | — | Y | Last modification timestamp |
Notes
statuscontrols how the action behaves in the Action Stream:asap: do immediately, top of stream.date: scheduled fordate.date_time: scheduled fordateat anexact_time.waiting: waiting on the contact, below dated actions.queued: in the queue with no specific date.
waiting_sinceis stamped automatically the momentstatusbecomeswaiting; it is read-only. Sort or filter by it to surface the actions that have been waiting longest.- Completed actions have
completed: trueand acompleted_attimestamp. - Lookups:
contact(viacontact_id). Pull the contact’s fields inline ascontact.<field>— for examplecontact.last_nameorcontact.owner_id. See Concepts › Lookups.
Example queries
Today’s open actions for me:
{
"from": "actions",
"where": {
"assignee_id": "ME()",
"completed": false,
"date": "TODAY()"
}
}
Overdue actions:
{
"from": "actions",
"where": {
"assignee_id": "ME()",
"completed": false,
"date": { "<": "TODAY()" }
}
}
How many actions did the team complete this week:
{
"from": "actions",
"select": ["assignee_id", "count()"],
"where": {
"completed": true,
"completed_at": { ">=": "THIS_WEEK()" }
},
"group_by": ["assignee_id"]
}
All open actions on a specific contact:
{
"from": "actions",
"where": {
"contact_id": "507f1f77bcf86cd799439011",
"completed": false
}
}