Dedicated CRM

OnePageCRM

Not a CRM - fails on core objects, opportunity reporting

Every verdict, with its evidence

Core objects

In part

All four record types exist and are distinct. The API reference enumerates Contacts, Companies, Deals and Actions as separate resources with their own endpoint families, and contacts, companies and deals each have their own user-defined field endpoint, so the person and the organization are genuinely separate objects rather than two types of one. Two constraints hold it below full. First, the company is not an independently creatable record: the vendor's own OQL reference states that companies "aren't standalone", that one is created automatically from a contact's company name, and that a contact references its company through `company_id`. There is no POST endpoint for a company and no help article describing adding an organization directly - the Organizations section covers only linking, moving, splitting, bulk updating and renaming organizations derived from contacts. Second, the activity attaches to the opportunity only through the contact. The action object carries `contact_id`, `assignee_id` and `author_id` and no deal reference, the action endpoints nest under contacts but never under deals, and the deal's six documented operations include no actions collection. Calls and meetings carry `contact_id` only as well.

Source: https://developer.onepagecrm.com/api/reference/, https://developer.onepagecrm.com/oql/entities/companies/, https://developer.onepagecrm.com/oql/entities/actions/, https://developer.onepagecrm.com/api/reference/actions/, https://developer.onepagecrm.com/api/reference/companies/, https://developer.onepagecrm.com/api/reference/deals/, https://help.onepagecrm.com/category/934-organizations

Verification: Verified

Pipeline stages

In full

A deal carries `pipeline_id` and `stage`, with `last_stage` recording the stage a closed deal ended in. Stages belong to the pipeline rather than to the account: the vendor documents configuring deal stages from the gear icon on each pipeline, and states that where sales processes differ you may want multiple pipelines with different deal stages. Stages can be added, renamed, removed and reordered, up to nine per pipeline, and the ordering is held on the stage's own percentage value - the vendor states that stages are sorted by the number in the percentage column from lowest to highest and that each stage must have a different value. The order therefore sits on the data rather than on a view.

Source: https://developer.onepagecrm.com/oql/entities/deals/, https://help.onepagecrm.com/article/919-custom-pipeline-stages, https://help.onepagecrm.com/article/734-multiple-pipelines

Verification: Verified

Status

In full

The deal object enumeration lists a `status` attribute on the deal itself, with the documented values pending, won and lost, held separately from `pipeline_id` and `stage`. Whether a deal is still running is therefore readable from the deal record without inspecting the stage it sits in. The create-a-deal reference repeats it, describing status as the deal status of pending, won or lost, defaulting to pending.

Source: https://developer.onepagecrm.com/oql/entities/deals/, https://developer.onepagecrm.com/api/reference/deals/post-deals/

Verification: Verified

Resolution

In part

Won and lost are two of the three values of the same `status` attribute that also carries pending. The outcome is recorded on the deal and is not inferred from a stage name, but it is derived from the field whose job is to say whether the deal is still open, and no separate outcome attribute appears in the deal enumeration.

Source: https://developer.onepagecrm.com/oql/entities/deals/, https://developer.onepagecrm.com/api/reference/deals/post-deals/

Verification: Verified

Value

In full

The deal ships `amount`, with `total_amount` calculated as amount multiplied by the number of months on recurring deals, alongside `cost`, `total_cost` and `margin`. The figure is treated as money: the account owner or an administrator sets a currency for the entire account, and that currency is applied to deal amounts, the pipeline page, the activity page, the dashboard and custom reports.

Source: https://developer.onepagecrm.com/oql/entities/deals/, https://help.onepagecrm.com/article/913-localization-settings, https://help.onepagecrm.com/article/817-manage-deals

Verification: Verified

Scope of work

In full

Deal Items attach to the deal as line items. The create-a-deal reference accepts a `deal_items` array whose entries carry name, description, cost, price, quantity and a predefined item reference, and the deal object carries `has_deal_items`. Items are drawn from the Catalog, which the vendor describes as the list of the products and services you sell, singly or as bundles, with description, price and quantity editable on the individual deal, and the deal help article states that the amount is calculated automatically when saved deal items are added. A free-text description is also available on the deal.

Source: https://developer.onepagecrm.com/api/reference/deals/post-deals/, https://help.onepagecrm.com/article/783-catalog, https://help.onepagecrm.com/article/817-manage-deals, https://developer.onepagecrm.com/api/reference/

Verification: Verified

Expected close date

In full

`expected_close_date` ships on the deal, documented as the anticipated closing date and applying to pending deals, and it appears on the deal creation form. It is a separate attribute from `close_date`.

Source: https://developer.onepagecrm.com/oql/entities/deals/, https://developer.onepagecrm.com/api/reference/deals/post-deals/, https://help.onepagecrm.com/article/817-manage-deals

Verification: Verified

Actual close date

In full

`close_date` is a second, distinct date attribute on the deal, documented as the actual closing date and applying to won and lost deals, while `expected_close_date` covers pending ones. Close Date is also selectable as a column on the Deal List.

Source: https://developer.onepagecrm.com/oql/entities/deals/, https://developer.onepagecrm.com/api/reference/deals/post-deals/, https://help.onepagecrm.com/article/953-deal-list

Verification: Verified

Opportunity owner

In full

`owner_id` ships on the deal, documented as the user who owns it and defaulting to the logged-in user, and it is separate from the `author` recorded on creation. Deal owner is a required field on the deal form, deals can be reassigned to another user, and Owner is available as a Deal List column.

Source: https://developer.onepagecrm.com/oql/entities/deals/, https://developer.onepagecrm.com/api/reference/deals/post-deals/, https://help.onepagecrm.com/article/817-manage-deals, https://help.onepagecrm.com/article/953-deal-list

Verification: Verified

Linked buyer

In full

`contact_id` is a required field when creating a deal, documented as the ID of the contact to whom the deal belongs, and the deal response carries contact_info and a linked_contacts array. Up to fifty contacts can be linked to one deal, with a main contact and the rest shown beneath it. The link is to the person; there is no organization reference on the deal.

Source: https://developer.onepagecrm.com/api/reference/deals/post-deals/, https://developer.onepagecrm.com/oql/entities/deals/, https://help.onepagecrm.com/article/806-link-contacts-to-deals

Verification: Verified

Record preservation

In full

Closed deals stay in the account and stay measurable. The Deal List filters by deal status with separate Pending, Won and Lost views and offers Close Date and Reason Lost as columns, the dashboard counts won deals with their monetary amount and charts pending, won and lost deals per user, and the activity page's Deals tab reports new, won and lost deals with totals. Archiving is a separate, optional tidying step and the vendor states that archiving a deal will not delete the won deal from the account, with archived deals still viewable in the Deal List and on the contact timeline. Won deals may additionally be moved into a delivery pipeline for post-sale tracking, which is a further pipeline rather than a removal.

Source: https://help.onepagecrm.com/article/953-deal-list, https://help.onepagecrm.com/article/747-dashboard, https://help.onepagecrm.com/article/746-activities, https://help.onepagecrm.com/article/813-archive-deals, https://help.onepagecrm.com/article/732-delivery-pipeline

Verification: Verified

Structured lost reasons

In full

The deal object carries `reason_lost_id` with a read-only `reason_lost` label. Marking a deal lost prompts the user to select the Reason Lost from a dropdown whose values an account owner or administrator adds, edits and removes. The values are countable: the vendor states that the breakdown of all the reasons for a team's lost deals can be included in a custom report, and the dashboard carries a Deal Reason Lost pie chart described as the percentage of deals lost under each reason. Reason Lost is also selectable as a Deal List column.

Source: https://developer.onepagecrm.com/oql/entities/deals/, https://help.onepagecrm.com/article/486-reason-lost, https://help.onepagecrm.com/article/814-lost-deals, https://help.onepagecrm.com/article/747-dashboard, https://help.onepagecrm.com/article/953-deal-list

Verification: Verified

Email sync

In full

A mailbox is connected to the account and the sync runs both ways. With full sync switched on the vendor states that all emails for OnePageCRM contacts are logged automatically and that any incoming or outgoing email, whether sent from the email client or from the CRM, is captured automatically; users also send individually and in bulk from inside OnePageCRM, with messages going out through the connected mail account. Gmail and Outlook 365 are named, and SMTP/IMAP accounts can be connected separately. A manual mode and an email capture address exist as alternatives for teams that do not want everything logged, and historical mail can be fetched.

Source: https://help.onepagecrm.com/article/695-connect-email, https://help.onepagecrm.com/article/289-how-to-set-up-email-sync, https://help.onepagecrm.com/category/931-email-sync

Verification: Verified

Calendar sync

In part

The connection is to the activity object but runs one way only. Next Actions reach Google Calendar, Outlook Calendar or Apple Calendar in two documented ways: pushed one at a time from the Next Action box, or pushed automatically through a Calendar Feed URL subscribed to in the external calendar. The vendor describes the feed as allowing Next Actions to be automatically pushed to the calendar and names the fields carried across - contact name, action text, date or date and time, phone numbers and address. No vendor article describes events created in Google, Outlook or Apple calendars appearing in OnePageCRM, or edits made in the calendar returning to the action.

Source: https://help.onepagecrm.com/article/868-calendar-feed-crm-integration, https://help.onepagecrm.com/article/129-push-next-actions-to-gcal-or-outlook, https://help.onepagecrm.com/article/860-outlook-crm-integration

Verification: Verified

Schedulable activity types

In part

Work is scheduled as an Action, which carries text of up to 140 characters, an assignee, a date and an optional exact time, and a `status` of asap, date, date_time, waiting or queued. That status is a scheduling mode, not a kind of work: the action enumeration carries no type attribute, and the vendor's own article on action types describes Next, Scheduled and Queued actions rather than calls, meetings or tasks. Calls and meetings exist as objects but the vendor documents them as logged after the fact, with the meeting's `meeting_time` defaulting to now on creation. A naming convention in the action text is workable and reportable: OQL marks the action's `text` field filterable, the in-product custom search offers Next Action Text as a search field, and Predefined Actions and Predefined Action Groups let a team standardize the wording.

Source: https://developer.onepagecrm.com/oql/entities/actions/, https://help.onepagecrm.com/article/718-action-types, https://help.onepagecrm.com/article/720-manage-actions, https://developer.onepagecrm.com/oql/entities/meetings/, https://help.onepagecrm.com/article/417-how-to-search-contacts-and-activity, https://developer.onepagecrm.com/api/reference/

Verification: Verified

Opportunity reporting

Not at all

One of the three exists, and the rule requires two. Forecasting is native and purpose-built: the Pipeline Forecast View summarizes pending and won deals by month, quarter or year against targets, showing total won or an expected total combining won and pending, and a pipeline can be configured to weight each deal by its stage percentage, so a deal of a thousand at fifty percent shows as five hundred. The other two are absent because nothing computes a rate. The dashboard's deal widgets are counts and amounts - total, new, won and pending deals, pending, won and lost per user, average deal velocity per stage per user - and its only percentages are the share of losses attributed to each Reason Lost and won deals measured against a target, neither of which is a win rate. Custom Reports offer counts of new, won and lost deals grouped by user with total columns, with no percentage or ratio measure documented. The activity page reports new, won and lost deals with totals. Nothing anywhere expresses the proportion of deals moving from one stage to the next: Deal Velocity measures days spent in each stage, the Kanban view shows deal cards, and no funnel or conversion report is documented.

Source: https://help.onepagecrm.com/article/729-forecast-view, https://help.onepagecrm.com/article/733-pipeline-configuration, https://help.onepagecrm.com/article/747-dashboard, https://help.onepagecrm.com/article/745-custom-reports, https://help.onepagecrm.com/article/746-activities, https://help.onepagecrm.com/article/730-deal-velocity, https://help.onepagecrm.com/article/728-kanban-view, https://help.onepagecrm.com/article/953-deal-list, https://help.onepagecrm.com/category/932-reporting-notifications

Verification: Verified