Can't figure out the new 'bot' feature to automate updating a field on a record

Quick and dirty:
I have an app to manage reservations for an annual reunion trip. When a reservation is made, there are monetary details established, such as overall cost. Payments can be recorded to help keep track of what reservations have been paid in full or not.

’Reservation’ table houses details about the reservation. Included are the ‘Total Cost’ and the ‘Total Payments’
’Payments’ table houses details about the payments made for a given reservation.

When a payment is added, updated, or deleted in the ‘Payments’ table, the ‘Total Payment’ amount should be updated for that reservation in the ‘Reservation’ table.

Bot setup:

  • I have an ‘Action’ name ‘Update Payment’ on the ‘Reservation’ table that sets a given value, in this case ‘Total Payment’ based on a formula.
  • I have an ‘Event’ that monitors data change on the ‘Payments’ table for all events
  • I have a ‘Task’ called ‘Update Payment’ that is set to Change Data on the ‘Reservation’ table that calls the ‘Update Payment’ action (from bullet 1)
  • I have a ‘Process’ called ‘Update Payment Amount’ for the ‘Reservation’ table that calls on the ‘Update Payment’ task

I’m getting an error after building the Bot that says

The event ‘Payment Added’ is not compatible with process ‘Update Payment Amount’

I cannot figure out why as there is not a ton of detail as to what might be causing the issue. I’ve built and rebuilt the bot numerous times having zero success. Any thoughts on what might be causing this?

Reference - I had the legacy workflow feature setup successfully to do something similar to what I’m attempting to do with the new Bot feature.

The Bot connects between the event and the process. The event has a payload schema/type, in your example the schema if of the Payments table. The Process has an input type, your example the ‘Update Payment Amount’ process has an input with the schema of the Reservation table. So the error is pointing out that those dont match.

So you have a couple of options

  1. Use a task that calls an action that is “Execute an action on a set of rows” that action will use information from the updated payment row to get the correct row in the reservation table and update it.
  2. Create a process that takes the Payments table as an input have it call a child process which is your ‘Update Payment Amount’ process. The call process step will allow you to provide the key in order to lookup the correct row in the Reservation table.

Hope that helps.

1 Like