Synergize External Approval
External Approval is a Transflo (formerly Microdea) solution that helps track the results of the negotiations for spot rates, while providing full visibility into the process. The parties to an agreement can quickly confirm that the terms are acceptable.
Establishing a price for your services is a key part of the transportation industry. Negotiations can go back and forth between Brokers or Carriers and a third-party shipper or another carrier.
Shippers or the third-party carrier get a document by email with a link that allows them to accept the agreement or reject it with reasons.
The value that External Approval delivers:
-
Manage rate confirmations without manual printing and processing of documents, increasing efficiency
-
Allow Brokers and first-party carriers to retrieve and view rate confirmations later for audit purposes
External Approval uses several Synergize technologies including Workflow and Process Server. In the following diagram, a typical business process related to rate confirmation is represented. The individual queues (colored document stacks in the diagram), the processes (gray lightning bolts), and the flows (gray arrows) vary by industry:

For the documents used as the basis for approvals to be both stored in Synergize and made available to a third-party, configuration is required. A TMS document can be routed into the initial inSynergize queue in several ways. Often an SPS process is set up to monitor a hot folder where the external approval documents are saved. SPS then saves the document into Synergize in the correct initial queue.
-
Navigate to the URL, enter your credentials, and click Log in.
The default URL for external approval configuration is:
http://<Hostname>/ExternalApprovalCfg/ExternalApprovalCfgUI/
-
Provide the following information:
-
Synergize repository name
-
Username (LDAP)
-
External Approval queue name (pending queue)
-
Accepted queue name
-
Rejected queue name
-
User interface labels for:
-
Application sheet title
-
Confirmation text
-
The username you configure here acts on behalf of the system to process documents through the External Approval workflow. The user:
-
must be set up with enough privileges to edit documents and move them through the workflow.
-
must be an LDAP User (not a Web User) resolved in the Synergize EMC security model.
-
must have "Edit Annotations" authority set in EMC.
-
must have the authority to process out of the External Approval (pending) queue in Workflow Designer.
-
should not be able to process out of any other queues.
-
should not have override or scenario override authority in Workflow Designer.
-
-
Configure Synergize Process Server (SPS). For each External Approval setup, several actions need to be configured.
You can set up the Process Server process in many ways. For example, you can enter the following information into the indicated SPS actions:
Action Name
Property
Example Value
Synergize Connection
Server
Synergize repository server name
Repository
Synergize repository name
Username
Synergize repository login username
Password
Synergize repository password
Synergize Document Search
SearchQuery
Workflow = Initial queue name
Create External Approval Link
DocumentID
Bound to current document ID
DocumentUrl
Base URL of rate confirmation view
EmailAddress
Bound to current document ApproverEmail
Session Expired in Days
Number of days before emailed link expires
Send Email
Address
Bound to current document ApproverEmail
SendAsHtml
True

If you set up a web server outside your corporate firewall (in what they usually call the DMZ), you should be able to configure this application to run successfully. The following diagram assumes that you're using a standard firewall and a Microsoft IIS server in the DMZ.
-
Ensure that you have the following prerequisites installed:
-
On your internal IIS Web Server:
ASP .Net Core module (link is a direct download)
-
On your external IIS Web Server:
-
-
Use this combination of modules to create a reverse proxy configuration. Select Enable Proxy on the external IIS server.
-
Set up a reverse proxy. In computer networks, a reverse proxy is a type of proxy server that retrieves resources on behalf of a client from one or more servers. These resources are then returned to the client, appearing as if they originated from the proxy server itself. A typical use for a reverse proxy is to provide internet Users access to a server that is behind a firewall. Reverse proxies can also be used to balance load among several back-end servers, or to provide caching for a slower back-end server.
Recommended: On the IIS server outside the firewall (in the DMZ) use a website for Synergize applications.
-
You can create a new website or use the customer's existing website.
-
Alternatively, you can use individual virtual directories for each Microdea application that needs to be redirected through the firewall.
-
-
Ensure you have the IIS module called Application Request Routing, which will also install the URL Rewrite module.
-
Start With the example web.config file. Use this web.config file as a starting point (copy it into the website or the virtual directory):
1
<?xmlversion="1.0" encoding="UTF-8"?>
2
<configuration>
3
<system.webServer>
4
<rewrite>
5
<outboundRules>
6
<rulename="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1" enabled="true">
7
<matchfilterByTags="A, Form, Img" pattern="^http(s)?://internalconnector.microdea.com/(.*)" />
8
<actiontype="Rewrite" value="http{R:1}://connector.microdea.com/{R:2}" />
9
</rule>
10
<rulename="Restore" preCondition="Precondition"enabled="true">
11
<matchserverVariable="HTTP_ACCEPT_ENCODING" pattern="^(.*)" />
12
<actiontype="Rewrite" value="{HTTP_X_ORIGINAL_ACCEPT_ENCODING}" />
13
</rule>
14
<preConditions>
15
<preConditionname="ResponseIsHtml1">
16
<addinput="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
17
</preCondition>
18
<preConditionname="Precondition">
19
<addinput="{HTTP_X_ORIGINAL_ACCEPT_ENCODING}"pattern=".*" />
20
</preCondition>
21
</preConditions>
22
</outboundRules>
23
<rules>
24
<rulename="ReverseProxyInboundRule1" enabled="true" stopProcessing="true">
25
<matchurl="(.*)" />
26
<actiontype="Rewrite" url="http://internalconnector.microdea.com/{R:1}" />
27
<serverVariables>
28
<setname="HTTP_X_ORIGINAL_ACCEPT_ENCODING" value="{HTTP_ACCEPT_ENCODING}" />
29
<setname="HTTP_ACCEPT_ENCODING" value="" />
30
</serverVariables>
31
</rule>
32
</rules>
33
</rewrite>
34
<defaultDocument>
35
<files>
36
<clear />
37
<addvalue="index.html" />
38
<addvalue="Default.htm" />
39
<addvalue="Default.asp" />
40
<addvalue="index.htm" />
41
<addvalue="iisstart.htm" />
42
<addvalue="default.aspx" />
43
</files>
44
</defaultDocument>
45
</system.webServer>
46
</configuration>
-
Edit the placeholder values. Use IIS Manager to edit the values in the web.config file. Select URL Rewrite from the collection of IIS modules for the website or virtual directory.
-
In this example, the starting web.config has been installed in a virtual directory called ExternalProxy:
-
Edit the inbound rules, which is labeled with the <rules> tag in the web.config file. The main change is to enter the correct internal URL for this redirected request in the Rewrite URL field.
-
Edit the outbound rules. Change the match Pattern and the Action Properties Value to match your deployment.
-
As an advanced user with experience in regular expressions you can do something out of the ordinary with the URL rewrite, using any expression you want. Click on Test pattern and enter the expected external URL to see if it matches. For example:

When you log in for the first time, you may experience a delay of up to a minute because the application is loading and caching on the web server for the first time. This known issue occurs only if you are the first person to log in to the application since the cache was cleared.
Recommended Settings:
-
Work with your administrator to set the application pool to "always on".
-
Ask your administrator to turn on the IIS web server preload function (Preload Enabled) for the application. This will reduce first time login delays.
-
We also recommend setting Maximum URL Segments to 32.
-
To reduce the frequency of the initial load, Administrators can also increase the time between app recycling. Usually an app recycles on a regular basis to flush out memory and ensure that the app remains speedy. Increasing this time runs the risk of using more memory and actually slowing down the app. However, the initial load will be experienced less frequently.

If you receive an email from a broker or carrier with whom you have been negotiating, you have a chance to accept or reject the quoted rate. In the email, you'll see a link which goes to the External Approval document. You can review the document and accept it, confirming the rate negotiation and being bound to it.
If circumstances have changed since the negotiations or the document shows erroneous information, you can reject the quoted rate. Provide a reason for rejecting the rate agreement in the comments field.
You are identified by your email address, and you can enter your name as well. Any acceptance or rejection is recorded with your email address and a timestamp.