Overview
A simple example of integration with Salesforce through Mulesoft. Presented here as a PoC.
Below are sample diagrams to illustrate how I usually specify the flow.

I'm sorry this doesn't work anymore
since the MuleSoft trial license has expired,
but it worked.. I swear!!
Architecture
System landscape: Salesforce REST Apex service exposed to provide CV details from database, TextLocal SMS provider service to provide notification when CV requested, Anypoint Mulesoft platform in the middle to orchestrate requests and convert data to PDF.

Runtime: Mule 4.1.4, v0.1 Core, Java 8
Salesforce API version: 45
Java libraries used:
Specification
Process Diagram
Step # Message Comment
1.1 GET request to Mule app
(Resource: cvprofiler.us-e2.cloudhub.io/cvprofile)
2.1 GET request to Salesforce REST service
(Resource: https://eu19.salesforce.com/services/apexrest/whois)
2.2 {
 "lastName": "Ivanova",
 "firstName": "Jane",
 "headLine": "Integration Engineer",
 ...
 "contacts": [ {
  "contact": "+7 916 687 90 17",
  "type": "phone"
 }, {
  "contact": "jane.ivanova.work@gmail.com",
  "type": "email"
 } ]
}
Response from Salesforce with C details
3.1 URL-encoded POST request with parameters:
 apikey = eTeE3Fre1sd0sdj9j4Hk6dysFq3vsd
 message = Some geek has just requested your CV!
 sender = nucleusfox
 numbers = 447123456789
Example:
https://api.txtlocal.com/send/?apikey=eTeE3Fre1sd0sdj9j4Hk6dysFq3vsd&message=Some geek has just requested your CV!&sender=nucleusfox&numbers=447123456789
POST request to SMS provider
(Resource: https://api.txtlocal.com/send/)
3.2 {
 "balance":1162,
 "batch_id":123456789,
 "cost":1,
 "num_messages":1,
 "message":{
  "num_parts":1,
  "sender":"nucleusfox",
  "content":"Some geek has just requested your CV!"
 },
 "messages":[{
  "id":"1151346216",
  "recipient":447123456789
 },
 {
  "id":"1151347780",
  "recipient":447987654321
 }],
 "status":"success"
}
Response from SMS provider
4 Method convertTextToPDF of class ConverterPDF used for JSON convertion into PDF file.
Convert text to PDF in class ConverterPDF
1.2 {
 "lastName": "Ivanova",
 "firstName": "Jane",
 "headLine": "Integration Engineer",
 ...
 "contacts": [ {
  "contact": "+7 916 687 90 17",
  "type": "phone"
 }, {
  "contact": "jane.ivanova.work@gmail.com",
  "type": "email"
 } ]
}
Response from Mule app to the original page
Data Model
PersonProfile. Main object for profile details.
Field Type Occurs Description
firstName String 1-1 First name
lastName String 1-1 Last name
additionalEducation Structure AdditionalEducation 0-N List of additional courses
education Structure 0-N List of education gained
certificates Structure AdditionalEducation 0-N List of certificates achieved
sites Structure Site 0-N List of web sites (networks, profiles, personal) with more details.
experience Structure Experience 0-N Work experience.
contacts Structure ContactRecord 0-N Contacts available.

ContactRecord. Contact information details.
Field Type Occurs Description
contact String 1-1 Phone / Email
type String 1-1 Phone / Email
Experience. Work experience description.
Field Type Occurs Description
summary String 1-1 Short summary of experience
responsibilities String 0-N List of responsibilities
positionTitle String 1-1 Position title
achievements String 0-N List of achievements
yearFrom String 1-1 Year of start of work
yearTo String 1-1 Year of end of work
location String 0-1 Location of work
company String 1-1 Company

Education. University degree awarded.
Field Type Occurs Description
speciality String 1-1 Program speciality
major String 1-1 Program major
degree String 1-1 Degree awarded
graduationYear String 1-1 Year of graduation (real or planed)

AdditionalEducation. Additional courses taken.
Field Type Occurs Description
institution String 1-1 Institute or company carried course and/or certificate awarded
year String 1-1 Year of receiving additional education
name String 1-1 Name of course / certificate
URL String 0-1 Link to certificate if available

Site. Web site with personal details or profile.
Field Type Occurs Description
comment String 1-1 Comment to the content of site
type String 1-1 Type of site
URL String 1-1 URL of site

Powered by nucleusfox's brain.