Valtimo documentation
  • Welcome to Valtimo
  • Fundamentals
    • â„šī¸What is Valtimo
    • đŸ™ī¸Architectural overview
      • Choosing the right setup
      • âš™ī¸Available modules
    • Process Exchange
      • Process blueprints
      • Building blocks
    • 📖How to use this documentation
    • đŸ–ąī¸Getting started
      • Configuring the database
      • Modules
        • Core modules
          • Audit
          • Authorization
          • Camunda
          • Case
          • Connector
          • Contract
          • Core
          • Dashboard
          • Document
          • Document generation
          • Exporter
          • Form
          • Form flow
          • Form flow Valtimo
          • Importer
          • Localization
          • Local document generation
          • Local mail
          • Mail
          • Mandrill
          • Milestones
          • Plugins
          • Outbox
            • Outbox RabbitMQ
          • Process document
          • Resource
          • Temporary resource storage
          • Test utils common
          • Value resolvers
          • Valtimo dependencies
          • Valtimo dependency versions
          • Web
            • CORS
        • GZAC modules
          • Besluit
          • Besluiten API
          • Catalogi API
          • Contactmoment
          • Documenten API
          • Haalcentraal BRP
          • Klant
          • Notificaties API
          • Notificaties API Authentication
          • Objecten API
          • Objecten API Authentication
          • Object management
          • Objects API
          • Objecttypen API
          • OpenZaak
          • OpenZaak Plugin Authentication
          • OpenZaak resource
          • Portaaltaak
          • SmartDocuments
          • Valtimo GZAC dependencies
          • Verzoek
          • Wordpress mail
          • Zaken API
      • Compatibility matrix
  • Features
    • 🔏Access control
      • Configurable elements
      • Configuring roles
      • Configuring permissions
      • Configuring conditions
      • Configuring context conditions
      • For developers
        • Front-end access control
        • Creating a resource
        • Creating a relation to another resource
        • Running custom code without access control
    • đŸ—ƒī¸Case
      • Configuration
      • Document definition
      • List
      • Notes
      • Processes
      • Search fields
      • Statuses
      • Tabs
      • Tags
      • Widgets
        • Fields widget
        • Custom component widget
        • Form.io widget
        • Table widget
        • Collection widget
      • For developers
        • Search fields API
        • Case list tab order
        • Custom case list columns
        • Custom case tabs
        • Case migration
        • Custom case headers
        • Register Angular component
    • 📊Dashboard
      • Widget data sources
      • Widget display types
      • For developers
        • Custom dashboards
        • Custom data sources
        • Custom display types
        • Widget translations
    • 📋Forms
      • Creating FormIO forms in Valtimo
      • Interpolating data in Form.io
      • Configuring an Objecten API object form
      • For developers
        • Form field data resolver
    • 🔀Form flow
      • Creating a form flow definition
      • For developers
        • Custom form flow component
        • Whitelisting Spring beans for Form flow
    • 🌍Localization
      • For developers
    • Logging
      • For developers
    • âœ‰ī¸Outbox
      • For developers
    • 🔌Plugins
      • Configuring plugins
      • SmartDocuments plugin
      • Exact Plugin
      • For developers
        • Custom plugin definitions
    • ⭕Process
      • System processes
      • Correlating messages
      • Job service
      • For developers
        • Integrating spring beans in a process
        • Whitelisting Spring beans for Camunda
    • 🔗Process links
      • Creating a process link
      • Editing a process link
      • Unlinking a process link
    • ✅Tasks
      • Task list columns
    • đŸ”ĸValue resolvers
      • For developers
    • 📃ZGW
      • Documents
        • Access control
        • Uploading to Documenten API with metadata
      • Creating extra case tabs for Zaakobjects
      • ZGW plugins
        • Besluiten Plugin
        • Catalogi API plugin
        • Documenten API plugin
        • Object Token Auhentication Plugin
        • Objecten API Plugin
        • Objecttypen API Plugin
        • Open Zaak plugin
        • Portaaltaak Plugin
        • Verzoek Plugin
        • Zaken API plugin
  • Release notes
    • Release notes
    • 12.x.x
      • 12.13.0 (backend only)
      • 12.12.0
      • 12.11.0
      • 12.10.0
        • 12.10.1
        • 12.10.2
      • 12.9.0
      • 12.8.0
      • 12.7.0
        • 12.7.1
        • 12.7.2
      • 12.6.0
        • 12.6.1
      • 12.5.0
      • 12.4.0
        • 12.4.1
      • 12.3.0
        • 12.3.1
      • 12.2.0
      • 12.1.0
      • 12.0.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
        • Migration
          • Spring Boot 3
    • 11.x.x
      • 11.3.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 11.2.0 (RC)
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 11.1.5
        • Valtimo frontend libraries
      • 11.1.4
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 11.1.1
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 11.1.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 11.0.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
        • Migration
    • 10.x.x
      • 10.8.3
        • Valtimo backend libraries
      • 10.8.2
        • Valtimo frontend libraries
      • 10.8.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 10.7.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 10.6.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
        • Migration
      • 10.5.3
        • Valtimo backend libraries
      • 10.5.2
        • Valtimo backend libraries
      • 10.5.1
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 10.5.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
        • Migration
      • 10.4.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 10.3.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 10.2.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 10.1.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
        • Migration
      • 10.0.1
        • Valtimo frontend libraries
      • 10.0.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
        • Migration
    • 9.x.x
      • 9.26.2/5.15.1
        • Valtimo backend libraries (9.26.2)
        • Migration
      • 9.26.1/5.15.1
        • Valtimo backend libraries (9.26.1)
        • Valtimo frontend libraries (5.15.1)
      • 9.26.0/5.15.0
        • Valtimo backend libraries (9.26.0)
        • Valtimo frontend libraries (5.15.0)
        • Migration
      • 9.25.0/5.14.0
        • Valtimo backend libraries (9.25.0)
        • Valtimo frontend libraries (5.14.0)
      • 9.24.0/5.13.0
        • Valtimo backend libraries (9.24.0)
        • Valtimo frontend libraries (5.13.0)
      • 9.23.0/5.12.0
        • Valtimo backend libraries (9.23.0)
        • Valtimo frontend libraries (5.12.0)
      • 9.22.0/5.11.0
        • Valtimo backend libraries (9.22.0)
        • Valtimo frontend libraries (5.11.0)
        • Migration
      • 9.21.0/5.10.0
        • Valtimo backend libraries (9.21.0)
        • Valtimo frontend libraries (5.10.0)
        • Migration
      • 9.20.0/5.9.1
        • Valtimo backend libraries (9.20.0)
        • Valtimo frontend libraries (5.9.1)
        • Migration
      • 9.19.0/5.8.0
        • Valtimo backend libraries (9.19.0)
        • Valtimo frontend libraries (5.8.0)
        • Migration
      • 9.18.0/5.6.0
        • Valtimo backend libraries (9.18.0)
        • Valtimo frontend libraries (5.6.0)
        • Migration
      • 9.17.0/5.5.0
        • Valtimo backend libraries (9.17.0)
        • Valtimo frontend libraries (5.5.0)
      • 9.16.0/5.4.0
        • Valtimo backend libraries (9.16.0)
        • Valtimo frontend libraries (5.4.0)
  • Running Valtimo
    • Application configuration
      • Temporary file-storage
      • Configuring CORS
      • REST API endpoint security test
      • Content Security Policy (CSP)
      • Configuring Keycloak
      • Temporary file storage
      • Feature toggles
  • Customizing Valtimo
    • Front-end customization
      • Customizing Carbon theme
      • Custom logo
      • Custom components
        • Custom case management tab
  • Contributing to Valtimo
    • Contributing to Valtimo
    • Docs style guide for contributing
    • Branching and release strategy
    • Extend the core or build a plugin
Powered by GitBook
On this page
  • How does the plugin work
  • Configure the plugin
  • Configuring the 'Create Zaakdossier' process
  • Custom process
  • Configuring the handling process

Was this helpful?

  1. Features
  2. ZGW
  3. ZGW plugins

Verzoek Plugin

PreviousPortaaltaak PluginNextZaken API plugin

Last updated 11 months ago

Was this helpful?

The Verzoek plugin (formerly known as Productaanvraag) is used to create a Valtimo case with GZAC zaak. The verzoek plugin is triggered by a notification from the Notificaties API. Once the notification is received, the Verzoek plugin will use BPMN process to create a Valtimo case with a GZAC zaak.

How does the plugin work

The lifecycle of a verzoek is as follows:

  1. A Verzoek object is created in the Objecten API (for example, by OpenFormulieren). The Objecten API automatically creates a Noticitaties API notification to notify all applications that a new verzoek object was created.

  2. The Verzoek plugin in Valtimo receives the notification from Noticitaties API. The Verzoek plugin then retrieves the Verzoek object from the Objecten API. Using the data inside the verzoek object, the plugin will create a Valtimo case and start a BPMN process to handle the verzoek.

  3. The BPMN process can be configured to do a number of things. But if the default system process Create Zaakdossier is configured, it will:

    1. Create a zaak in the Zaken API.

    2. Use a DMN table to decide whether a 'natuurlijk persoon' or a 'niet natuurlijk persoon' is the initiator of the zaak.

    3. Link the zaak initiator to the zaak.

    4. Link all documents inside the verzoek to the zaak.

    5. Start a handeling BPMN process to further handle the verzoek.

    6. Delete the verzoek object from the Objecten API.

Configure the plugin

A plugin configuration is required before the plugin can be used. A general description on how to configure plugins can be found .

If the Verzoek plugin is not visible in the plugin menu, it is possible the application is missing a dependency. Instructions on how to add the Verzoek Plugin dependency can be found .

To configure this plugin the following properties have to be entered:

  • Notification API plugin (notificatiesApiPluginConfiguration). Reference to another plugin configuration that will be used to receive a notification when a new verzoek is made.

  • RSIN (rsin). Contains the RSIN of the organisation. The RSIN number (Rechtspersonen en Samenwerkingsverbanden Identificatie Nummer in Dutch) is an identification number for legal entities and partnerships. This will be used when storing document to indicate who is responsible for creating the zaak record in the API.

  • Verzoek types (verzoekProperties). The verzoek plugin can be configured to handle multiple verzoek types. Each verzoek type can be handled in a different way.

    • Type (type). The type of the verzoek. This type should match the type that is inside the verzoek object from the Objecten API, in property record.data.type.

    • Case definition (caseDefinitionName). The Valtimo case definition that should be created when a verzoek was made.

    • Object management configuration (objectManagementId). Reference to the object management configuration that describes the verzoek object. If no option is available in this field, an object management configuration has to be created first.

    • Role type (initiatorRoltypeUrl). The role of the person who created the verzoek. Usually this is the zaak initiator role. The person who created the verzoek is linked to the zaak using this role.

    • Role description (initiatorRolDescription). This text describes the role of the person who initiated the verzoek.

    • Process definition (processDefinitionKey). The definition of the handling process. This process is started as a follow-up process to further handle the verzoek.

    • Copy strategy (copyStrategy). This option determines whether the entire verzoek data is included in the Valtimo case, or only the defined fields.

      • Mapping (mapping). Determines which fields of the verzoek data are copied to the Valtimo case or to the process variable.

        • Source (source). A jsonpointer that points to a property inside the verzoek data that should be copied. When this field is left empty, the entire source JSON will be copied to the target location.

        • Target (target).

          • Starts with a doc prefix. A jsonpointer that points to a property inside the Valtimo case where the verzoek data should be pasted.

          • Starts with a pv prefix. A process variable where the verzoek data should be saved.

An example of plugin configuration with doc: prefix:

An example of plugin configuration with pv: prefix:

Configuring the 'Create Zaakdossier' process

When a verzoek object is created and Valtimo receives the notification, a process is started to handle additional steps needed for creating the zaak.

The process that is started needs to be configured in the plugin properties by setting the 'Process' property. Valtimo is shipped with the Create Zaakdossier process which has six tasks.

The Create Zaakdossier process is started with a few process variables that can be used inside the process links. These variables are:

  • RSIN. The RSIN configured in the Verzoek plugin.

  • zaakTypeUrl. The URL of the zaak-type that is associated to the document definition.

  • rolTypeUrl. The URL of the rol-type that is configured in the Verzoek plugin.

  • rolDescription. The rol description that is configured in the Verzoek plugin.

  • verzoekObjectUrl. The url from the verzoek object in the Objecten API.

  • initiatorType. The type of the initiator of this verzoek. Usually has the value 'kvk' or 'bsn'.

  • initiatorValue. The ID of the initiator. This is usually a BSN or KVK number.

  • processDefinitionKey. The key of the process-definition that should be started after this process.

  • documentUrls. A list of document URLs of documents stored in the Documenten API. Can be used as Collection in BPMN multi-instance elements to iterate over the list.

The tasks inside the Create Zaakdossier process need to be configured with process links before the process can be used. The following actions should be configured:

    • pv:RSIN

    • pv:zaakTypeUrl

    • pv:rolTypeUrl

    • pv:rolDescription

    • pv:initiatorValue

    • pv:documentUrl

    • pv:verzoekObjectUrl

The 'Create Zaakdossier' process has several tasks with default configurations:

  • Map betrokkene type - a task that uses a DMN table to determine what the zaak initiator type.

  • Link Document to zaak - This task links all the documents from the verzoek to the zaak.

  • Start handling process - This task starts a follow-up process that further handles the verzoek.

Custom process

Instead of using the Create Zaakdossier process it is possible to create another process that will handle zaak creation in a different way. The verzoek plugin must then be configured to use a custom process in the Process field. The custom process will then automatically be started with all necessary process variables.

Configuring the handling process

The system process Create Zaakdossier offers the possibility to start a follow-up process which will further handle the verzoek. This handling process is started by the task Start handling process. The verzoek plugin configuration property 'Process definition' decides which BPMN process will be started.

Process (processToStart). Reference to the process that will be started after the plugin received a notification from Notificaties API. This process can do additional steps like creating the zaak and handling file attachments. See on how to set up this process.

Create zaak - in the Zaken API plugin. This plugin link can be configured using the process variables above. Namely:

Create initiator ZaakRol - in the Zaken API plugin. This plugin link can be configured using the process variables above. Namely:

Link document to zaak - in the Zaken API plugin. This plugin link can be configured using the process variables above. Namely:

Delete Verzoek from ObjectsAPI - in the Objects API plugin. This plugin link can be configured using the process variables above. Namely:

📃
here
here
this section
Delete Verzoek object
Create Zaak
Create ZaakRol
Link document to zaak
example plugin configuration
example plugin configuration
Create Zaakdossier
betrokkene-type-mapping-dmn-table.png
img.png
start-handeling-process-configuration.png