Skip to content

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.

FieldTypeFSAGDescription
idIDYAction ID
textstringYAction text (max 140 chars)
contact_idIDYYAssociated contact ID
assignee_idIDYYAssigned user ID
completedbooleanYYWhether the action is completed
statusstringYYYOne of asap, date, date_time, waiting, queued
datedateYYYDue date (in assignee’s timezone)
exact_timetimeYYExact time on time-scheduled actions
waiting_sincetimeYYWhen a waiting action started waiting (auto-set; read-only)
completed_attimeYYYWhen the action was completed
weightnumberYAction Stream priority weight. Default sort field.
created_attimeYYYRecord creation timestamp
modified_attimeYYYLast modification timestamp

Notes

  • status controls how the action behaves in the Action Stream:
    • asap: do immediately, top of stream.
    • date: scheduled for date.
    • date_time: scheduled for date at an exact_time.
    • waiting: waiting on the contact, below dated actions.
    • queued: in the queue with no specific date.
  • waiting_since is stamped automatically the moment status becomes waiting; it is read-only. Sort or filter by it to surface the actions that have been waiting longest.
  • Completed actions have completed: true and a completed_at timestamp.
  • Lookups: contact (via contact_id). Pull the contact’s fields inline as contact.<field> — for example contact.last_name or contact.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
  }
}