My Experience Building A Document Integration Process
Why am I writing this article?
What is a document integration process?
What is the use case?
Where and how do I start designing a integration process?
2. What do I need to connect and access each system?
3. Do these accounts have permission to the data your accessing (records, tables, servers)?
4. How are you going to connect these systems together?
5. How often is this process going to be executed?
6. Identify the source data and or document(s) that will be used to begin the process.
Recommended by LinkedIn
7. Transform the data and document(s) into a format your target system accepts.
3. Ensure all lines end in CRLF i.e. \r\n in multipart requests so after your message shape, add a data process shape to do a search for [\n] and replace with [\r][\n]
4. Use a Set Properties shape for any header or path variables used in your HTTP Client Operation. *Don't set these parameters in the HTTP Connector shape. Doing so will send an empty payload. I learned this the hard way...
5. Set the request content type in the HTTP Client Operation to exactly this "multipart/form-data; boundary=testboundary". You will have to type this into the Content Type field. You can use any boundary you want, but keep it simple.
8. Update the Salesforce Content Version record [Custom Field] used to track if the document was sent over successfully. I used the document id returned in the multipart form data response in step 7. Saving the destination ID to the custom field on the Content Version record will allow you to confirm/reference the document in the destination system.
9. When you are able to successfully test your integration. Add error handling to your process. Expect everything to fail. I mean everything... There are going to be unexpected errors that come up in the future. So prepare and document error handling steps to accommodate for the errors you know are possible.
I left out quite a bit in this article, but this was my general experience creating this process. Did I create the most efficient integration solution for the use case? Probably not. There is always going to be some developer out there manically laughing who created a similar process in assembly.
I wrote this article to help encourage others. Don't be afraid to fail. Trust me, I am a professional at failing. Let me know what you think of this article in the comment section below.
Thank you for reading.
-Faraj Daoud
Fascinating post, I’ll have to look into Boomi. Sounds like an interesting integration middleware. I’m assuming it is priced per call?
Great post (and job) Faraj. Looks like Boomi is a nice tool for these types of integrations.