Building integrations

How do I update a dataset, dataform, or another item's table from a process?

Build an integration with a process trigger, then use a Dataset, Dataform, or Process action to update the target record, matched by its key or ID.

How-to

Short answer: Create an integration with a process trigger and add the right update action for the target: a dataset, a dataform, or another process.

Why it happens

Form settings can't write to another flow. Moving data between two flows always needs an integration.

How to fix it

  1. Create an integration with a Kissflow Process trigger, such as When an item completes its workflow, and test it.
  2. Add the action for your target, as below.
  3. Test the action, then turn on the integration.

Update a dataset row

  1. Add Kissflow Dataset > Create or update a dataset record and map the fields. See the Dataset connector.
  2. Map the dataset Key to a unique text value from your process. It updates the row whose Key matches; an unmapped Key makes the run fail.
  3. To update many rows from a table, click Add fields from the Sample Table, select the Key column, and map the table field to it. For a unique key per row, add a text column to the table that holds the system _id. Or use Bulk update dataset records (up to 200 records).

Update a dataform record

  1. Get the record first with Fetch an item, which looks it up by its item ID.
  2. Use Update an item with that ID and the new values. See the Dataform connector.

Update an item in another process

  1. Use Search an item on a shared field, then Update an item.
  2. If the rows go into another process's table, point Update an item at the process that owns the table, and map that item's _id as the Process Instance ID.
  3. In the table mapping, pick the table in Choose source first, then map each column. The integration fails when Choose source is empty.
  4. To add one row per workflow step, such as an approval log, use the trigger When an item advances to next step and map the system field _current_context as the table source. Each run adds one row.
  5. To add several rows from a list, use the control connector's Loop action with the table as the source, and put the update action inside it.

Important

The Loop action processes only the first 100 records. Items submitted at the same moment may not see each other's dataset updates in lookups; adding workflow steps before completion in the second process helps.

Related answers