External Form Submit to SharePoint
Do you ever email a Word document to someone outside of your company, have them fill it in, and email it back to you? This appears to be a very common occurrence. The main problem with this, is that it’s very inefficient. When the document is emailed back, then the recipient has to spend time getting the data they need out of it, just by copying and pasting. Of course, big companies who have web development teams, are able to publish a public web form if they are so inclined, and customers and vendors could go there to securely fill out their information. This type of thing could be done for external forms. BUT in my experience with small to mid-size companies, or even large companies who just need to get something done quickly, people email out documents, and get them back… the inefficient way.
Don’t let this title mislead you. This isn’t about InfoPath forms, or even SharePoint list forms, and it’s not about anonymous form submission on a web page. Actually, this thing I’m showing you today is not new. It’s been around since Office/SharePoint 2007. This is SUPER useful, so I thought I’d go ahead and show you this trick. This can be done in SharePoint 2007, 2010, 2013, Office 365 (SharePoint Online), and (probably) SharePoint 2016. Note that this solution is unrelated to the concept of sharing with external users in Office 365. If you were doing that, then they’d be able to go to your site and just fill out a list form or edit a document directly. This solution is for situations where you have no way of granting the person access to SharePoint.
First, here are the high level steps:
- A content type is created, with site columns for all of the fields that need be filled out in this Microsoft Word “form”.
- A document is created in a library that uses this content type, and quick parts are inserted in the form.
- The document with quick parts in it is uploaded to the content type.
- A new file is created in the library, using this template (content type), and a copy of that file is emailed to your external person, customer, somebody outside of your company.
- That external person fills the document out and emails it back to the sender.
- The document is then uploaded back to that same library, and voila, you have a bunch of metadata captured!
Now that you have the gist of what I’m talking about, here are some more details and screenshots of how this is done. I’m creating a SOW (Statement of Work) that I need to be able to send to customers and have it returned to me.
- Go to Site Settings –> Content Types. Create a new content type called SOW. The parent content type is Document Content Types –> Document.
- Click Add from new site column, and add all of the columns you’ll need for your solution. Note that lookup fields and calculated columns don’t work well when used in Quick Parts, so I’m going to avoid them as much as possible.
- Create a document library. Go to the library’s Settings –> Advanced Settings, and enable the management of content types. Add your new content type by clicking Add from existing content types.
It’s up to you at this point if you want to delete the Document one or even just hide it.
- In your library, create a new file, of this new content type.
- Create the whole document so that it’s just like you want it to be, as a template for all statements of work. Make it look pretty, because this is your new standard.
Each time you need to have a place where the customer fills out a field, this is where you insert a Quick Part. On the Insert menu in Word, choose Quick Parts –> Document Property. There you’ll see all of the site columns that you created at step 2. See here, I have inserted my Customer Name.
- Here is another spot in the document, where I inserted a table, so that’s it’s nice and neat, and added the Quick Parts inside…
- Next, you can even lock the document down so that people can’t type wherever they want, and can only type in your fields. On the Review tab in Word, click Restrict Editing. Create a password.
- Choose the Editing Restrictions checkbox, and choose Filling in forms. Click Yes, Start Enforcing Protection. When prompted, create a password.
- Now, it’s important that you save this file (with no customer information filled out), and you can even just save it to your desktop temporarily.
- Go to your SOW content type, and click Advanced Settings. Option 1: Upload your new template directly to this page. Option 2: Put this template in a different library, and put the URL to it here. Click OK.
- When it’s time to create a file to send to a customer, click SOW (see step 4), open it in Word, and save it to give it a filename, such as the name of the customer.
- Click the File tab. This part will look a little different, depending on what version of Office you’re using, but on my Word 2016 it looks like this: Send the file as an attachment, to your external person.
- When they receive it, they edit it and save it, and then email it back to you. When you receive it, you just dump it back in the SOW library. If prompted to replace the existing file, you can go ahead and replace it. That was just the original blank on that you generated before sending it to the customer.
When you drop the file back in the SharePoint library, you’ll notice that all of the columns of metadata are filled in! Now, in my case, I’m going to have a workflow that runs when the file is modified, that will take all of that customer contact information and put it in my “customers” list, and set a status field to “SOW returned”. Note that if you are using the incoming email setting on your on premises library, and your customers are emailing directly to it, this will not trigger a workflow. Also, when you try to open up the file in Word Online, it will show it to you in Read mode, but not in online editing mode because of the restricted editing that we turned on at step 8.