Skip to main content

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