Ga naar hoofdinhoud

Action Widgets

Overview

Action Widgets are Nextcloud Dashboard widgets that provide quick-action forms directly on the Nextcloud dashboard. They allow KCC agents and sales teams to perform common CRM operations without navigating into the full Pipelinq app.

Three widgets are provided:

WidgetDashboard IDPurposeOrder
Find Clientpipelinq_find_client_widgetSearch clients and take quick actions13
Start Requestpipelinq_start_request_widgetCreate new service requests inline14
Create Leadpipelinq_create_lead_widgetCreate new sales leads inline15

Standards Compliance

StandardReference
GEMMA CallcentercomponentQuick intake via dashboard
TEC CRM 1.1 (Lead Management)Lead creation from dashboard
TEC CRM 3.1 (Case Management)Request creation from dashboard
Nextcloud IWidget APIDashboard widget interface

Start Request Widget

Provides an inline form for creating service requests (verzoeken) directly from the Nextcloud dashboard.

Fields

FieldTypeRequiredDefault
TitleText inputYesn/a
ClientAutocompleteNon/a
CategoryText inputNon/a
PriorityDropdownNonormal
ChannelDropdownNon/a

Behavior

  • Title is required; form submission is blocked if empty.
  • Priority options: low, normal, high, urgent.
  • Channel options: phone, email, walk-in, web.
  • On submit, creates a request via OpenRegister API with status "new".
  • On success, displays confirmation message with a link to the created request.
  • Shows the 3 most recent requests below the form.

Create Lead Widget

Provides an inline form for creating sales leads with pipeline assignment.

Fields

FieldTypeRequiredDefault
TitleText inputYesn/a
ClientAutocompleteNon/a
PipelineDropdownNon/a
ValueNumber inputNon/a
SourceText inputNon/a

Behavior

  • Title is required; form submission is blocked if empty.
  • Pipeline dropdown loads available pipelines from OpenRegister.
  • On submit, creates a lead assigned to the first stage of the selected pipeline.
  • Supports quick-add mode: pressing Enter submits the form.

Find Client Widget

Provides a client search interface with quick action buttons.

  • Live filtering as the user types.
  • Displays client type icons to differentiate persons and organizations.

Actions per Client

ActionDescription
ViewNavigate to client detail page
Create RequestStart a new request pre-linked to this client
Create LeadStart a new lead pre-linked to this client
Copy EmailCopy client email to clipboard

New Client

  • A mini-form allows creating a new client directly from the widget.

Shared Infrastructure

ClientAutocomplete Component

All widgets share a ClientAutocomplete.vue component (src/components/widgets/ClientAutocomplete.vue) that:

  • Searches clients by name as the user types (2+ characters).
  • Queries the OpenRegister API for matching client objects.
  • Emits the selected client object to the parent widget.

Architecture

Each widget consists of three files:

LayerFile PatternPurpose
PHPlib/Dashboard/{Name}Widget.phpNextcloud IWidget registration
Vuesrc/views/widgets/{Name}Widget.vueWidget UI component
JSsrc/{name}Widget.jsWebpack entry point, registers with OCA.Dashboard

i18n

All visible text uses t('pipelinq', '...') for internationalization (Dutch + English).

Styling

All styling uses CSS variables only (NL Design System compatible, no hardcoded colors). Form inputs use @nextcloud/vue components (NcTextField, NcButton, NcSelect, etc.).

Change History

DateChangeIssues
2026-03-24Initial implementation (action-widgets)#83, #85–#97