Send To Quick Base, SendToQuickBase, Intuit, Quick Base, SoftTech, SoftTechExperts, SoftTech Experts, Outlook, Email, Tasks, Calendar, Meeting

SendToOutlook™ Instructions

SendToOutlook is a Windows program that allows the creating of any type of Microsoft Outlook item, such as an email, meeting, appointment, contact, etc. through the use of a standard URL link inside a web page, as a desktop shortcut, or anywhere a URL link can be specified, such as an Quick Base Formula URL field.

SendToOutlook allows the creation of any type of Outlook item, and any Outlook field can be set via the link. There's even an option to save or send the item without ever showing the Outlook window.

Start Here - Examples

View ready to copy SendToOutlook examples.

Setup Details

SendToOutlook URL Syntax

SendToOutlook:cmd?param1=value1...&paramN=valueN

Where cmd can be one of:


For example:
SendToOutlook:New?ItemType=Meeting&Subject=Pricing

SendToOutlook New Command   (Show me examples!)

Below is the general syntax of the New command. Most of the parameters are optional. Only ItemType is required. (The URL is shown across multiple lines, but like all URL's, it must be a single line in actual use.)

Syntax of URL for New Command:

SendToOutlook:New?ItemType=type
&Show=True or False
&ContinueOnError=True or False
&Folder=FolderPath
&SharedFolderFor=EmailAddress
&EmbedImages=True or False
&IncludeSignature=True or False
&HTMLBodyNLtoBR=True or False
&MultipleMessages=True or False
&DeleteFromSent=True or False
&TurnOffSendToQuickBase=True or False
&Picture=PicturePath
&AddUserDefinedField=FieldName
&OutlookFieldName1=value1
&OutlookFieldName2=value2
.
.
.
&OutlookFieldNameN=valueN
&STQBMappingRecordID=recordId

Click here to see examples using the New Command.

New Parameters

ItemType Parameter (Required)

The ItemType must be one of these values:

Show Parameter (Optional)

If the Show parameter is False, then the Outlook item is not displayed, but instead is automatically saved in Outlook. If the Show parameter is not specified, or any value besides False, then the new Outlook item is displayed.

In the case of an Email Message, if it is not shown, it will be sent.

ContinueOnError Parameter (Optional)

If the ContinueOnError parameter is True, then if an error occurs while trying to set the value of a specified Outlook field, it is skipped, and no message is displayed. Most common cause for an error is a data type mismatch. For example, trying to set a value for a date or numeric that isn't valid.

If the ContinueOnError parameter is not specified, or any value besides True, then a message is displayed and the item is not created.

Folder Parameter (Optional)

You can specify which Outlook folder the item should be saved into. Simply include on the URL Folder=folderpath. For example, &Folder=Public Folders\Calendar to create a calendar item in the Public Folders Calendar. If you do not specify this parameter, the Default Outlook folder is used, which is typically the desired location. For Exchange folders, the syntax would be something like this for a Calendar folder:
Mailbox - Username/Calendar/CalendarName.

SharedFolderFor Parameter (Optional)

You can specify which shared Outlook folder the item should be saved into. Simply include on the URL SharedFolderFor=EmailAddress. For example, &SharedFolderFor=joe@acme.com to create a calendar item in the shared folder for joe@acme.com.

If you have both Folder and SharedFolderFor parameters, the Folder parameter takes precedence. If the Folder is not located in Outlook, then the SharedFolderFor is used, if specified.

EmbedImages Parameter (Optional - Email Only)

With an email message that contains links to image files (e.g. http://www.abc.com/hello.jpg), by default, Outlook removes the links and embeds the images into the email message before sending it. Using this parameter, you can control this Outlook behavior. If you prefer the link to remain, that is, don't embed the image, pass the parameter &EmbedImages=False. Note that Outlook 2003 has an option to control this behavior, but Microsoft removed that option starting with Outlook 2007.

If the EmbedImages parameter is not specified, or any value besides True, then images are not embedded.

IncludeSignature Parameter (Optional - Email Only)

If this is set to True, and your Outlook setting has a signature defined for new email messages, it is included in the message.

Note that if your Outlook setting is to create HTML messages, you should use the SendToOutlook parameter HTMLBody instead of Body to get the correct signature.

Also note that if you have more than one Outlook email account setup, your default account is always used to create the new email message. Therefore, the signature associated with your default account is used.

If the IncludeSignature parameter is not specified, or any value besides True, then the signature is not included.

HTMLBodyNLtoBR Parameter (Optional)

If this is set to True, then when setting the HTMLBody, any newline characters in the value being set are changed to HTML break tags (<br>). This allows preserving line breaks when setting the HTMLBody from plain text.

MultipleMessages Parameter (Optional - Email Only)

If this is set to True, and the Show parameter is set to False, an individual email message for each recipient is created and sent instead of a single email message for everyone.

If the MultipleMessages parameter is not specified, or any value besides True, then a single email message is sent.

DeleteFromSent Parameter (Optional - Email Only)

If this is set to True, and the MultipleMessages parameter is set to True, after the email message has been sent by Outlook, it is deleted from the Sent Items folder.

If the DeleteFromSent parameter is not specified, or any value besides True, then messages are not deleted.

TurnOffSendToQuickBase Parameter (Optional)

If this is set to True, you are not prompted by SendToQuickBase upon sending or save an item.

If the TurnOffSendToQuickBase parameter is not specified, or any value besides True, then it has no effect on SendToQuickBase.

Picture Parameter (Optional - Contact Only)

Use this parameter to specify an image file for a Contact Picture. The value can be a local file, URL, or a Quick Base file attachment. For example, &Picture=http://www.SoftTechExperts.com/images/JoeAcunzoHeadshot.png. For details on the syntax of the value, see the Attachments section below.

AddUserDefinedField Parameter (Optional)

Outlook has a feature called User Defined Fields which allows you to add a new field to an Outlook item (Contact, Calendar item, Email, etc.). This SendToOutlook parameter allows you to add an Outlook User Defined Field to the item created by SendToOutlook.

For example, to add a field named Age to a Contact record, specify &AddUserDefinedField=Age.

Note that this does not set a value for the field. You must then specify the value as well. For example, to set Age to 55, specify &Age=55.

You can include as many AddUserDefinedField parameters as needed.

OutlookFieldName Parameters (Optional)

OutlookFieldName is one of the many Outlook fields and value is any legal value for that field.

The name shown in Outlook is the OutlookFieldName, just with the spaces removed. For example, on a Contact the field for "Job title" is "JobTitle". However, there is at least one exception. The field displayed as "Priority" on a Task is actually the "Importance" field. Refer to the complete list of Outlook fields for details.

OutlookFieldName is not case sensitive. For example, &Subject=Pricing is the same as &SUBJECT=Pricing, or any combination.

Multiple pairs of OutlookFieldName=value may be included in the link, for example: &Subject=Discuss Pricing&Location=Phone Call.

If a value contains an ampersand, it must be URL encoded as %26. For example, if the Subject is "Review & Approve" it must be specified as "&Subject=Review %26 Approve".

The value can be a Quick Base File Attachment URL instead of just text. The content of the File Attachment is saved into the Outlook field. See the Attachments section for details on syntax of the URL. You can also have SendToOutlook variables substituted inside the content.

STQBMappingRecordID Parameter (Optional)

This parameter is only relevant when SendToOutlook is used in conjunction with SendToQuickBase. The recordId value is the Record ID# of a record within the SendToQuickBase Mapping Library Application. This indicates that this mapping should be used, if found within the user's available SendToQuickBase mappings, if SendToQuickBase is used to save the Outlook item into Quick Base. This prevents prompting for the mapping to be used at time of saving into Quick Base in the event the user has more than one mapping that saves that type of Outlook item. at time of saving into Quick Base in the event the user has more than one mapping that saves that type of Outlook item. For example, in the event there are two mappings that both save Meetings, one associated with a Lead record, and another with a Contact record, using this parameter you can specify which mapping to be used, and the prompting is avoided.

Notes on Setting Email Addresses

To set the email addresses on an Email message, Meeting or assignment of a Task, use the Outlook fields named To, CC and BCC. For example:
&To=joe@example.com

These three fields accept multiple email addresses separated by a comma or semicolon. For example:
&To=joe@example.com;mary@example.com

Setting From Email Address

To set the From email address on an Email message, set the SenderEmailAddress to an email address associated with one of your Outlook Accounts.
For example:
&SenderEmailAddress=joe@example.com

Notes on Setting Attachments

To attach files to an email, task, contact, meeting, appointment, or post, use the Outlook field named Attachments. (Notice that's plural, with an s, even when specifying a single file.)

The file specified can be one of three types:

No matter which type of file used above, or combinations as well, multiple files can be specified separated by commas, for example:

Attachments=c:\docs\report.doc,http://docs.abc.com/report.doc

Note that if a filename or URL has a comma in it, you must enclose it within double quotes. For example:

Attachments="c:\docs\Acme, Inc.doc",c:\docs\report.doc

Quick Base File Attachments

The Quick Base file attachment must use the the Quick Base documented syntax:

  https://acme.quickbase.com/up/DBID/a/rRID/eFID/vVID

where DBID is the table ID, RID is the Record ID in decimal of the record containing the file attachment, FID is the field identifier in decimal of the field containing the file attachment, and VID is the version identifier in decimal. Version 0 will always return the most recent version.

For example, to attach from table id bd5ghmxj5, Record ID 76, Field ID 36, the latest Version, the URL would be:
https://acme.quickbase.com/up/bd5ghmxj5/a/r76/e36/v0.

Here is a sample Quick Base Formula URL that attaches the latest version ("v0") of the Quick Base field with FID 36 ("e36") and sends the email message without showing it to the user ("Show=False"):

"SendToOutlook:New?ItemType=Email" &
"&Show=False" &
"&To=" & URLEncode([To]) &
"&Subject=" & URLEncode([Subject]) &
"&Body=" & URLEndcode([Body]) &
"&Attachments=" & URLEncode("https://acme.quickbase.com/up/" & Dbid() & "/a/r" & [Record ID#] & "/e36/v0;Project Report.doc")

The last part of that Attachments string ";Project Report.doc" is optional and allows specifying a meaningful name for the file attachment. Simply use a semicolon followed by a descriptive name.

Overcoming Internet Browser's URL Length Limitation

Internet browsers have a length limitation for a URL, typically about 2,048 characters. SendToOutlook has a feature that can be used to overcome this limitation. Instead of invoking SendToOutlook with the actual command line, a Quick Base Formula Text field can be used to hold the command line instead. Then the actual SendToOutlook command passes the Quick Base Table ID, Record ID and Field ID.

NOTE: On the Quick Base Formula Text field you create, you cannot leave the Maximum Length set to zero. You must set it to a value that can hold the largest URL that could be constructed by your formula, such as 10000, or higher if necessary.

Here is an example. You could have a Formula Text field named "SendToOutlook Command" which has Field Id (FID) of 30, defined as follows (probably not shown on any form):

"SendToOutlook:New?ItemType=Contact" &
"&Show=True" &
"&ContinueOnError=True" &
"&Name=" & URLEncode([Name]) &
"&JobTitle=" & URLEncode([Title]) &
"&Phone=" & URLEncode([Phone]) &
"&Email1Address=" & URLEncode([Email]) &
"&Company=" & URLEncode([Related Account]) &
"&Street=" & URLEncode([Address]) &
"&City=" & URLEncode([City]) &
"&State=" & URLEncode([State]) &
"&PostalCode=" & URLEncode([Zip]) &
"&Country=" & URLEncode([Country]) &
"&WebPage=" & URLEncode([Account - Web]) &
"&Mobile=" & URLEncode([Mobile]) &
"&Body=" & URLEncode([Description]) &
"&Fax=" & URLEncode([Fax])

Then your SendToOutlook Formula URL field shown to the user would be this:

"SendToOutlook:CmdLine?TableId=" & Dbid() &
"&RecordId=" & [Record ID#] &
"&Fid=30"

When the field above is clicked, SendToOutlook is invoked and then reads the contents of the field specified to get the actual command line to be processed.

Set SendToQuickBase Info for Later Updates (Advanced Topic)

With the right setup, you can use SendToOutlook to create an Outlook item (i.e. Contact, Calendar, etc.), later make a change in Outlook, and then use SendToQuickBase to update the record back in Quick Base. This section describes the setup necessary to make that possible.

First one key point about how SendToQuickBase works. When SendToQuickBase saves an Outlook item into Quick Base, it stores information on the item as an Outlook "User Defined Field" named "SendToQuickBaseInfo". This allows SendToQuickBase to later locate the Quick Base record for opening or updating.

Therefore, in your SendToOutlook setup, if you add this information to the item just as SendToQuickBase does, SendToQuickBase will be able to perform an update of the Quick Base record.

To add this Outlook "User Defined Field", you use the SendToOutlook parameter AddUserDefinedField to add a field named SendToQuickBaseInfo. The value of this field must contain a string with the following syntax:

1-AppId:TableId:RecId:MappingId:ParentTableId:ParentRecId

That is, a 1 followed by a dash, followed by information identifying the Quick Base record, all separated by colons. Here's an example string:

1-bfhnq7hfp:bfhnq7idx:1405:3:bfhnq7hte:680

NOTE: Only AppId, TableId and RecId are required. The other values are optional, though must have the colon separator. For example, this is valid:

1-bfhnq7hfp:bfhnq7idx:1405:0::

Here is the definition of each component in that string:

AppId - Quick Base DbId of the Application.
TableId - Quick Base DbId of the Table in which the Outlook item is saved.
RecId - Quick Base Record ID# where the Outlook item is saved.
MappingId - The SendToQuickBase mapping id value (see notes below).
ParentTableId - Quick Base DbId of the parent table, if defined in the SendToQuickBase mapping.
ParentRecId - Quick Base parent Record ID# of the related record in the parent table.

Notes on MappingId

The MappingId is only needed if there is more than one SendToQuickBase Mapping that saves this type of item (i.e. Contact, Calendar, etc.). Even then it can be omitted, but the user will be asked to select which Mapping when saving into Quick Base.

The MappingId is a unique identifier for the SendToQuickBase mapping. It can be found in the SendToQuickBase Mapping file located at:

%appdata%\SoftTech\SendToQuickBase\SendToQuickBaseMappings.xml

The MappingId will be inside the <Mapping> tag as the "id" attribute. For example, in the line below taken from a SendToQuickBaseMappings.xml file, for the Mapping named "Save Contact", the MappingId is 13:

<Mapping Name="Save Contact" Id="13" EmailId="save" ManuallyTweaked="false">

Sample SendToOutlook Quick Base Formula URL

Putting this all together, here is an example SendToOutlook Quick Base Formula URL to create a Contact (with limited fields for demonstration purposes), with the necessary information to be able to update it later using SendToQuickBase:

"SendToOutlook:New?ItemType=Contact" &
"&Show=True" &
"&ContinueOnError=False" &
"&Name=" & URLEncode([Name]) &
"&Phone=" & URLEncode([Phone]) &
"&Email1=" & URLEncode([Email]) &
"&SendToQuickBaseInfo=" &
      URLEncode("1-bfhnq7hfp:" &
        Dbid() & ":" & [Project #] & ":0::0") &
"&TurnOffSendToQuickBase=True"

Notice this SendToOutlook parameter:

TurnOffSendToQuickBase=True

This prevents the user from being prompted by SendToQuickBase after saving the Contact in Outlook, which is unwanted since it originated from Quick Base.

SendToOutlook Variables Inside Quick Base File Attachments (Advanced Topic)

A Quick Base File Attachment specified for an Outlook field can have user-defined "variables" inserted into the file. These variables will be replaced with the value specified as passed to SendToOutlook. For example, an HTML file in a Quick Base File Attachment that can be used to set the HTML Body of an email might specify a variable for the Banner image:

<html>
<body>
<img src="{Banner}"</img>
.
.
</html>

Banner is a variable to be replaced by SendToOutlook with the value passed. Of course, the value must result in valid HTML code.

To perform the substitution, SendToOutlook is passed the Quick Base File Attachment, and optionally, a comma separated list of variable:value pairs (separated by a semicolon from the template itself). For example:

SendToOutlook:New?ItemType=Email
&To=joe@example.com
&HTMLBody=https://acme.quickbase.com/up/bd5ghmxj5/a/r76/e36/v0;
Banner:http://acme.SoftTechExperts.com/images/news.jpg,
Disclaimer:"Only intended for SoftTechExperts employees, and friends!",
Footer:https://acme.quickbase.com/up/bd5ghmxj5/a/r99/e36/v0;Copyright:2011

In the example above, there are three variables named Banner, Disclaimer, and Footer.

SendToOutlook will search the template for each variable, surrounded by curly braces, and replace the variable with the value specified.

The variable name can be any text string, without spaces. The value can either be one of two things:

Text string - surrounded by quotes if it contains a comma, two double quotes to include a single double quote. For example, Disclaimer:"Intended for ""authorized personnel"", and friends only."

Or

Quick Base File Attachment - The contents of the File Attachment is used as the value. For example, Footer:https://acme.quickbase.com/up/bd5ghmxj5/a/r99/e36/v0. This can have variables specified also, such as Footer:https://acme.quickbase.com/up/bd5ghmxj5/a/r99/e36/v0;Copyright:2011

SendToOutlook NewOrUpdate Command   (Show me examples!)

Below is the general syntax of the NewOrUpdate command. This command will either add a new item into Outlook (i.e. new calendar item, new contact, etc.) or update an existing item if previously saved. It accepts all of the same parameters as the New command (so those are not shown), and has five additional required parameters. (The URL is shown across multiple lines, but like all URL's, it must be a single line in actual use.)

Syntax of URL for NewOrUpdate Command:

SendToOutlook:NewOrUpdate?ItemType=type
&AppID=appid
&TableID=dbid
&RecordID=recordid
&AddUserDefinedField=SendToQuickBaseInfo
&SendToQuickBaseInfo=1-appid:dbid:recordid
&... and all of the New parameters may optional be used also.

NewOrUpdate Parameters

AppID Parameter

This is the Quick Base application database id value (a.k.a. dbid). It can be found in the URL when on the Home page of the app, or in the "App Management" section under "Show support information".

TableID Parameter

This is the Quick Base table database id value (a.k.a. dbid). It can be found in the URL when on the Table Home page, or in the "App Management" section under "Show support information".

RecordID Parameter

This is the Record ID# value of the record being used to save information into Outlook.

SendToQuickBaseInfo Parameter

This is information stored with the Outlook item in the same syntax that SendToQuickBase saves the information. This ties the Outlook item to the Quick Base record and is used for any subsequent updates. The syntax is as follows:

1-appid:tableid:recordid

where the leading two characters are a 1 followed by a dash. Then the app id, a colon, the dbid, a colon, and finally the Record ID#. For example:

1-bfhnq7hfp:bfhnq7idx:1405

How Does SendToOutlook Work?

You might be familiar with the syntax of a standard web page link which begins with http: followed by the web page address, such as http://www.google.com. That's called a URL protocol. SendToOutlook is similar in that it also uses the standard URL protocol approach. However, instead of beginning with http:, it begins with SendToOutlook: (with no //) along with a command of action to take, parameters indicating the type of Outlook item to create, and values for fields.

For example:
SendToOutlook:New?ItemType=Meeting&Subject=Pricing