Multi-Role Approval: Pass One Record Between People
Logiforms has built-in approval profiles for the most common cases:
- Dynamic Approval Mode sends the submission to one approver, who approves or rejects it.
- User Approval Mode asks a group of Logiforms users to vote, and the submission is approved when enough of them approve it.
Use one of those if it fits. This article covers a more advanced technique for when one record has to pass between several people, and each person fills in their own part. For example, an admin starts a request and picks a broker, the broker adds notes and sends it to the client, and the client adds comments and sends it back to the admin for review.
Video guide
Prefer to watch? This video builds the form step by step, then tests the whole process from the admin to the broker, the client, and back.
If the video does not open, watch it on Screencast.
How it works
- Everyone works on one record in one form. Hidden control fields record who has the record now (Owner) and whether they paused it (Paused).
- Each role has its own form view that holds only that role's fields and buttons.
- Each role's buttons update the control fields and submit. A notification rule then emails the next person a Direct Edit Link to their own view.
- When the record is back with the admin, the Direct Edit Link is switched off.
Before you start
- Only one notification profile is sent each time the record is saved. The first profile whose rule matches is used. See Notification Profiles - Overview. This design works with that because only one person owns the record at a time.
- The example uses three roles (Admin, Broker, Client). Use your own role names, but spell them the same way everywhere. If a button sets Client and a rule checks for client, the record stops moving.
Step 1: Add the fields
- Open the form in the Form Designer and add each role's fields. In the example: Company and Broker Email (admin), Broker Notes and Client Email (broker), and Client Comments (client).
- Add a group named Control Fields with three Text Fields: Owner, State, and Paused. Leave their default values blank.
- Select the Control Fields group and set Hidden to true.
Step 2: Add each role's buttons
- Add a group for each role's buttons (for example Broker Buttons and Client Buttons), and add Single Buttons to them from Insert Element > Single Button.
- Select a button. Under Button General Setting, click the Actions icon, click New, and add an Update Values action. Then click New again and add a Submit Form action after it.
- Set the Update Values action on each button as follows:
Button Update Values Admin: Submit (the form's own button set) Owner = Broker, State = active, Paused = No (no Submit Form action needed) Broker: Send to Client Owner = Client, Paused = No Broker: Pause Paused = Yes Client: Return to Admin Owner = Admin, State = review, Paused = No Client: Pause Paused = Yes
Pause saves what the person typed without passing the record on. They can open the same link later and continue.
Step 3: Show each role only its own buttons
- Select the Broker Buttons group and click the Dependency icon. Click Click to Edit Rule, set the filter to Owner equals Broker, and save. Leave On Match Action as Make Field Visible (but not required) on Dependency match. See Dependencies.
- Do the same for Client Buttons with Owner equals Client.
- On the form's own Submit button set, use Owner is empty, so it only shows when the admin starts a new record.
- Hide the other roles' fields from the admin too. Add the dependency Owner IsNotEmpty to Broker Notes, Client Email, and Client Comments. When the admin starts a new record, they only see Company and Broker Email.
Step 4: Create a form view for each role
- In the Form Designer toolbar, open the Form View menu and click Create & Manage Views. Click Create New View, name it (for example Broker View), keep Start with a copy of the Primary Form, and click Create New Form View.
- Open the view from the Form View menu. Delete every field and button group that the broker should not see or change. Keep the Control Fields group.
- Save, then repeat for the Client View.
Delete the other roles' fields from the view instead of hiding them. A field that is only hidden is still sent to the browser with its value. A field that is not on the view is not sent at all. When someone saves through a view, the fields that are not on it keep their values.
Step 5: Get the Direct Edit Link for each view
- Switch the Form View menu back to Primary View. In the toolbar, click Integration, then Next.
- On Select Form View, choose the role's view and click Next. This step appears once your form has a view.
- Choose Direct Link, then Direct Edit Link, and copy the Link Code. It ends with
&formviewid=and the view's ID, which opens that view. See Auto Login to Edit. - Repeat for each view.
Step 6: Create a notification for each role
- Go to Post Processing > Notification Email Alerts and click Add Notification Profile. Choose the standard email notification and name it, for example To Broker.
- Set Mode to Both (Use profile for inserts and updates), because every hand-off after the first is an update. Clear Default Profile.
- On Email Settings, set Recipients to the role's email field (for example
[Broker Email]), fill in the sender and subject, and paste that role's Direct Edit Link into the email body. - Repeat for To Client (sent to
[Client Email]with the Client View link) and To Admin (sent to the admin's address).
Step 7: Add the notification rules
On the Rules tab, click Add New Rule for each profile. See Creating Rules.
| Rule | Profile | Filters |
|---|---|---|
| Broker turn | To Broker | Owner equals Broker AND Paused does not equal Yes |
| Client turn | To Client | Owner equals Client AND Paused does not equal Yes |
| Admin review | To Admin | Owner equals Admin |
The Paused does not equal Yes filter matters. Without it, every Pause matches the rule again and resends the email.
Step 8: Switch off the link at the end
- Go to Settings > Security Settings. Under Direct Edit Settings, click Edit Rule next to Disable Direct Edit Condition and use Owner equals Admin. See Restrict Access via the Direct Edit Link System.
- Click Edit Disabled Message and write what people see when they open an old link, for example "This link is no longer active because the request has been sent back for review."
Step 9: Save and test
- Save the form, then go to Settings > Rebuild Form & Clear Cache.
- Submit the form as the admin. In your database, the record should show Owner = Broker, and the broker should get the To Broker email.
- Open the broker's link, click Pause, and open the link again. The notes should still be there, and no second email should be sent.
- Send the record to the client, then back to the admin. The admin's link should now show your disabled message, and the record should hold every role's entries.
Security
A Direct Edit Link opens the record without a login, so anyone who has the link can open it. A form view controls what each person sees. It is not a login. Always build the link with the [lfuuid] wildcard, never the Record ID, and switch the link off when the work is done (Step 8). If the record holds sensitive information, put the form behind a workflow portal login instead of emailing links. See Security Overview.
0 Comments