InfoPath: Keeping the Approval Process in the Form

Last week, I talked with Michael Gannotti on his weekly webcast called “Coffee Talk”.  My demonstration was of a workflow process in InfoPath.  The idea is that the process is much easier and simple for the end users when you keep the whole approval inside of the InfoPath form.  This way, people can easily fill out whatever the form is that they’re submitting, and when each approver receives an email from the workflow, they open up that same form and submit their approval.

Here’s the link to the video of the half-hour segment that we recorded, it was great fun, and how nerdy… we happened to be wearing the same shirt that day!

Video: Coffee Talk Guest Segment Featuring Laura Rogers On InfoPath Form Building And SharePoint

Also, stay tuned!  I’ve just started writing an InfoPath 2010 book for MS Press!

Update: Chapter 11 in my book outlines this whole process, step-by-step

59 comments

  • I create a lot of approval forms in InfoPath and generally use sections with conditional formatting to show/hide the various approval areas of the form, based on the form status. I noticed in the video that you use views to accomplish this. Are there any specific reasons why views are a better approach than hidden sections?

  • The example approval form with different views and sequential approvers is similar to a workflow I’ve been trying to solve. Your particular approch of having the users just interact with the form and not SP tasks is a great idea. I’ve found some example walkthroughs for approval workflows with InfoPath forms, but can you point me to one that includes the techniques you’ve included in this example? Or, is this creating example demonstrated in one of your books? I’d like to consider some of the techniques in my project. Thanks

  • Hi Laura: This is great stuff! I have two questions: 1. I notice you’ve kept the fields in ‘groups’ in the data source. Is there an advantage to this (other than organization). 2. Did you really enter all those ‘approver’ field sections individually? They look so much alike – is there a short-cut?

  • Great post, informative webcast! This is exactly the direction I needed, thanks Laura!

  • Keven, I use 3 views: new form, approvals, and read only. The reason that the new form and approvals are 2 different views, is because in the approvals view I set all of those original “new form” fields to read only, so that approvers can’t modify the fields, they can only approve or reject. Each different approval section is an optional section with rules. Robert, I just started writing an InfoPath book for MS Press, and it will be out this fall. It will have all of this in a couple of chapters. George, Mostly for organization, but also each different approver section is bound to the actual group in the data source. I created the first approver section, then I copied it to create the next, then I had to re-bind each field and tweak the rules.

  • Is it possible to buy those couple of chapters now? Seriously, I’m new to Sharepoint, I need exactly that process for the nonprofit I work for, and I’m beating my head against the wall getting some of the processes to work.

  • Tim, Ha ha, no it hasn’t even been written yet, and won’t be until the summer. Thanks for your enthusiasm though. Laura

  • To whomever is interested, I’m teaching this whole process with workflow as an online class this Thursday 5/12 for $99. http://www.sharepoint911.com/training/Pages/InfoPath2010FormApprovalProcess.aspx

  • Is this type of form approval process available to do in Infopath 2007? Also, does this form require infopath to view?

  • I see that had an online class for the workflow process last week, but unfortunatley I missed it. Is it possible to get the recorded online class that was held?

  • Marie, Yes it is possible in 2007. No it doesn’t require that the client have infopath IF you have the enterprise version of SharePoint.

  • Is it possible to buy the video from the 5/12 class?

  • Tim, Yes, it is. You may use the Contact Us form on our homepage to let us know how we can reach you.

  • Great video Laura, this really set me on the right track. Maybe I missed it, but did you describe what happens behind the Submit button when an approver “Submits” their approval or rejection? (I’m assuming it should only save and close the form instead of submitting a NEW form?)

  • It is a common misconception that the submit button is only used for new forms. The submit functionality is what saves the changes to the form. There is no “save” action available for buttons. Submit DOES save the form, and it depends on what you’ve set up as the form’s filename in the submit connection, as to how and when a new filename will be created.

  • hi Laura, How do you transfer the data in the new form to the Readonly view? pls help. I’m kinda lost in this context. Thanks! Rgds, Joe

  • re: To buy the video media of the 5/12 class? Hi Laura, T’s Joe here. I emailed in the contact us page to buy the video media of the 5/12 class. But i’ve not gotten any reply yet. As well, just called the number mentioned in the contact page and it led to a voice mail. Appreciate if you can let me know how i can buy the video media of the class ASAP. Many Thanks! Regards, Joe

  • Joe, Create a read only view, and delete everything on it, so it’s blank. Go to one of your other viiews, select all, and copy. Then go to the read only view and paste.

  • Hi Laura, I liked your idea of putting the approval part in the form itself. However how do i submit or receive the workflow status,outcomes and all those related stuffs. I am using Infopath 2010, sharepoint 2010. Do I use some kind of web service to connect to those workflows or ?? Could you please be specific.

  • Hi Bob, This part is actually a bit complex. There are 2 ways that you can learn this: 1. I’m teachinig a $99 online class this Friday on how to do this. http://www.sharepoint911.com/training/Pages/InfoPath2010FormApprovalProcess.aspx 2. I just wrote a new InfoPath book, and I dedicated an entire chapter to this solution. It’s so long and complex, it turned out to be 60 pages! http://amzn.to/rqFw47

  • Hi Laura,

    Using the Infopath based approval in multiple workflows for different processes in sharepoint, will generate multiple emails. Can you suggest any method where by the user can view their pending approvals (across multiple infopaths) and on click of it should open the appropriate infopath.

    This is equivalent to task list but I do not need any approvals to be executed via task list.

    Nikesh Shah

  • Laura,
    I have followed all of your steps (having to modify a bit since I’m still using 2007). Everything works beautifully except the notification to the submitter once the FormStatus = Completed or Rejected. The email is never sent & the workflow is done.
    Please let me know if there is a trick when using SPD2007.

    Thank you so much for your help. Happy Easter!

  • Hi Nikesh,
    I usually do this:
    When you promote the field for “next approver” from InfoPath, it doesn’t have to be a people field, it can just be the AccountID, just structured like domain\username or structured as an email address. Since you can’t do a filter on a view as “next approver” is equal to [me], you use the current user filter web part on the same page as the view, and send the username in a web part connection over to the form library web part. You can do this for each library or try to create a merged view or rollup view of multiple libraries, which is much more complicated.
    See: http://www.sharepoint911.com/blogs/laura/Lists/Posts/Post.aspx?ID=109
    and
    http://www.screencast.com/users/EndUserSharePoint/folders/SharePoint%20-%20Data%20View%20Web%20Part/media/7760c003-c96f-407d-96f6-25bccbfbb944

  • Gina,
    I guess this is what’s missing?
    condition:
    IF FormStatus = Completed
    OR IF FormStatus = Rejected

    action:
    send email

  • Yesterday I bought your book–been doing Chapter 11 all day yesterday and today–now I am at the final step–only I do not need to look up variable manager or vp approvers–as these are static personnel–that is: Approver 1 and Approver 2 are the same two people for whomever creates a form, I also have an Approver 3–which is the original creator of the form, so it is created goes to approver 1, then approver 2, then back to the original creator to sign off.

    The other problem I have is that when Approver 1 is out of the office then Approver 2 will do both approving stages. Now if for some reason Approver 1 and 2 are out of the office then Approver 1A and Approver 2A take over–so how do I send the approvals to two static people and also if an out of office occurs notify the other substitute approvers. Finally how do I send the approved form back to the original creator for a final sign off?

  • Hi Laura,
    I cannot open the video,because the limited internet. but I really need the soultuion about how to keep the approval process in the form like this article said. could you plz give me some brief steps about how to do this.
    thank you so much!

  • Thanks Steven for reading my book!
    There is no way in InfoPath / SharePoint to know anything about out of office replies. 3rd party workflow tools like Nintex will do fancy stuff like that. An out of box way would be to create SharePoint groups for those 2 different approval levels, and whomever is in the group will get the email. You’d have to know the person was going to be out of office and then put that second person in the SharePoint group so they get the emails. To send it back to the originator, you’d have to capture that info. So, create a field called Creator, and set the value to UserName() function. Then, you’d have to concatenate your domain name to the front of that.

    Alfred,
    Just read chapter 11 in my InfoPath book. It’s about 70 pages and it explains every single step.

  • This is an awesome post. I have a question as this relates to Infopath 2013 and Sharepoint Online as we use Office 365E3. There appears to be a limitation to Sharepoint online that you can not use the GetUserProfileByName due to the inability to turn off the LoopBack service. So I am looking at using the Sharepoint User List data connection, but when i add it to the form, i get all the users available instead of just the current user? as demonstrated here

    http://www.ilikesharepoint.de/2013/01/infopath-20102013-userinformationlist-query-for-current-logged-in-user/#comment-1764

    Is this making sense, any assistance or suggestions would be great.

    Thanks again,

  • Hi Nikki,
    Yep, you can still do it. Lori blogs about that here:
    http://www.pointgowin.com/seethepoint/Lists/Posts/Post.aspx?ID=55

  • Is it possible to work through this whole form through email? For example, if I have the form attachment being submitted through email, should the whole approval process still work? Or is it only possible to work on the form through SharePoint itself?

  • Susan,
    Yes, it is possible to use InfoPath’s “Email” type of data connection to do all of this via email without involving SharePoint at all. All of the people emailing it around would need to have the InfoPath Filler client installed on their computers, and also, you wouldn’t ever be able to go to SharePoint to look at / report on / sort through all of the forms that had been filled out.

  • Carla Valdegas - carla.valdegas@gexpro.com

    Hi Laura,
    I love your videos and I’ve learned alot.
    You have two great videos on InfoPath Keeping the Approval Process in the Form. You mention that there is a video I believe from Lori Gowin that shows how the form and the approvel process is created in the archives but unable to find it. Where can I find the video on the approval section creation.
    Thanks,
    Carla

  • Hi Carla,
    Lori’s blog is at pointgowin.com, but I’m not sure which particular post I was referring to.
    I did write an InfoPath 2010 Step By Step book, where I wrote an entire 70 page chapter describing the whole process. Even though it’s a 2010 book, it’s still applicable in 2013, since InfoPath didn’t change from one version to the next.

  • Hi Laura,

    Have been following your tutorials for a while and have implemented some nice tweaks to my forms as a result … Thanks

    My customer has a requirement for a user account request form which requires a user who is (natively) a late stage approver to cover an early stage approver. I am struggling to achieve a separation of ‘roles’ for this purpose. Is there an elegant method to achieve this.

    I am using views for each approval stage (plus request and several read only) and currently if I place the same user into the two role associated lookup lists (tied to retrieve data connectors) there is a form load conflict, if I try and place the approver as a discrete user role inside the form form the early stage and retain them in the lookup list for their true role again there is a form load conflict.

    I am trying to keep my form loads simple and so have created a hidden field _AppStage which is changed to the next Approval Stage by the rules applied to a submit button contained in the previous stages view [eg the Requester submits to library and the workflow is triggered to their Head of Dept, this sets the _AppStage to HOD and my form load is based on the ‘_AppStage = HOD’ and ‘User Current Role = HOD’] I cannot state the exact roles in use.

    I am considering using a method to get the individual retrieve data connections to fire on specific form loads [not automatically at every form load] so as to eliminate this ‘auto’ filling of the current role into the form background but cannot quite get my head around the logic, it seems to be cyclic in my approach.

    Any help, advice and guidance is greatly appreciated.

    Many Thanks

    Mark RC

  • Hi Laura, sorry but I forgot to include a Twitter id for notification with my submitted comment earlier today.

    It is …

    @markrc833

    I would appreciate it if an admin could integrate it into the comment. Many Thanks

  • Romon romon.ft@gmail.com

    Hi Laura,

    I cannot open the video, because the limited internet. but I really need the solution about how to keep the approval process in the form. Would you you please give me brief steps about how to do this.

    Thank you.

  • Hi Mark,
    Have you read my article about querying specific sharepoint list data? http://wonderlaura.com/2011/08/01/infopath-query-specific-sharepoint-list-data/
    It seems like that may help you. I also demonstrated it in a video https://www.youtube.com/watch?v=gWP61g3HvR0&index=57&list=PLkxSkUuLZ3fTmkn0BP8L0nPtSz3TzETl0

    Maybe you could create a lookup list for approvers with all of your data about stages in it, querying that list may be more simple?

  • hi. is beautiful

  • Is the book out yet?

  • Hi Laura,

    Quick question for you, I’m following your book to set up my form and I have set up two approvers (one that is needed sometimes based on a previous question in the form, and the 2nd approver is always needed). I can’t get the logic straight to set this up. I can apply the method you mention in the book for when they are both needed, but what if sometimes my 1st approver is not needed (I’ve hidden the section and disabled the submit button) but how can the form status then go to the second approver? Following your guide, you first set the status to Manager Approval on the first submit in the New View, then it goes to status VP Approval on the second submit to be able to go the third submit button. So if Manager Approval is only required sometimes, how can I make it go have a status of VP Approval?

  • Since you are doing the approvals within the infopath form, is there a way to handle due dates and emails sent out saying if something is past due (similar to SharePoint Designer)?

    • The emails are done with a SharePoint Designer workflow in my solution. SharePoint doesn’t have a good out of box way to handle overdue emails. See my other post all about overdue emails and information mgmt policies.

  • Hi Laura. Your book is excellent. Followed all the steps and everything works fine except that the submitter does not get an email notification when form is approved/rejected. Instead it goes to the manager yet workflow is defined to send to the user who created current item. Any assistance on this will be appreciated. It is quite frustrating

  • Hi Laura, a follow up question to my earlier question. Emails from workflow are being sent to the approvers and not the submitter although it is defined in the workflow settings as email user who created current item when the form status is either completed or rejected. Kindly respond

  • The “New” data is not read only on the Manager’s Approval piece. If I change that “new” portion to read-only the Manager’s Approval section also changes to Read-Only – what am I missing to get the initial data to be approved to read-only and still have the Manager’s Approval piece be fillable.

  • Hi Laura, I have purchased your book and followed the instructions to the tee for my InfoPath form and to connect using the SharePoint workflow. However, the workflow only sends the email to the first approver, it does not send an email to the next approver. When testing the reject button, it also does not send an email to the creator. As mentioned I have followed your directions explicably…any help you can offer is greatly appreciated as I have been struggling with this for over a week now. Thanks

    • Add logging to your workflow so that you’ll be able to look at the workflow history and be able to tell what it did and didn’t do, or if it errored out.

  • Hi Laura, thanks for getting back to me, the workflow shows it is completed, yet the form status is in the second stage.

    • I mean use actual logging, the “log to history list” action in multiple places in the workflow. Use it everywhere, after every single action, so you’ll be able to look at the history and see *exactly* what happened when it ran, not just that it ran and finished.

  • Yes, I did that and it only sends the first email out. It does not show any errors, just doesn’t do anything.

    • Put a log to history list action in your workflow, after your send email action, that says “Email was just sent to the approver” or something like that. Put log to history list actions like that after every single action in your workflow, saying that it just did “xyz”. I’ve never seen a workflow simply not send an email and not have some indication of that in the logging. Even if you have any conditions in your workflow, put log to history list actions in them, saying exactly what the condition was and what part of the workflow it’s currently in.

  • Laura, love the InfoPath 2010 Step by Step book. Fortunately my company is still way behind with their on Premise deployment so book is still super relevant for us. I have my own InfoPath forms based off a lot of your book. The approval part mirrors your Chapter 11 but have 5 approvers which isn’t an issue. Issue is the Manager of the form creator isn’t an approver. The first approver is always me. Is there any way to create a pc:person block or something that uses me as the first approver? Everything I read is about the logged in form creator, or their manager as your book references. Or picking your VP from the people picker. I have three of the 5 people in my approval that are the same people each time. the CIO, CISO, and myself. Any advice how to set the first approver to me and how to add a second one that is pre defined? Or maybe both would be the same if I knew how to define one?

    Thanks.

    JR

  • Thanks Laura. You made a reference to some previous videos in the video you linked that go over people pickers. Didn’t see people picker specifically covered in the video linked but maybe I missed it. Seemed mostly around lists and lists driving other lists, and calculations for 5 5 of such and such adds up to….

    JR

Leave a Reply