Microsoft Outlook channel

Prev Next

Go to the Channel Catalog to learn more about what plans have access to this channel. Sign into Quickbase, and then go to Pipelines > Channels.

Microsoft Outlook is an online personal information manager. Pipelines currently integrates with the Email and Calendar features only.

Please note that terms used in the Microsoft Outlook channel categories are Microsoft Outlook specific terminology.

How to connect

  1. On the My pipelines page, select Create Pipeline.

  2. Search for or select a step, and then select it to add it to the pipeline.
    When you add a step to a pipeline, it is added to the canvas of the pipeline designer.

  3.  Expand the Connection section of the step, and add the required information.

How to reconnect

You may need to reconnect your account to a channel. Reasons may be (but not limited to):

  • If you need to connect a different account.

  • Authorization updates, such as a changed password.

  • Editing the access rights that Pipelines has to the channel.

To reconnect:

  1. Select a pipeline that already has this channel in it.

  2. Open a step that contains this channel.

  3. Under account, select Connect (or reconnect) and follow the process above, How to connect.
     

Tip

To switch accounts, follow the steps to reconnect. Sometimes, if you are already logged into your account, even when clicking reconnect, you might not be able to enter the credentials for another account. Instead, it connects you to the account you are already logged in. In this case, try using a browser incognito or private window to reconnect.

Use a shared mailbox account

Pipelines can work with Outlook's Shared Mailbox function in all of the following Outlook channel steps:

  • Send an Email

  • Send an Email with Attachments

  • Search Email

  • Reply to an Email

  • Look Up an Email

  • New Email

  • Search Attachments

Different ways to use a shared mailbox's functionality require different permission levels and have slightly different behavior, as described below.

Pipelines can distinguish between acting on behalf of a shared mailbox account and using a personal account to send emails from a shared mailbox.

Default behavior for a shared mailbox

Outlook Administrators can update the From user's mailbox to always save a copy of messages sent from a delegate to their Sent Items. This prevents the item from being saved to the Sent Items folder.

Behavior can change: 

  • If the message is sent from an address that does not have a mailbox (a distribution list, for example), there is not a Sent Items for the from user.

  • If the user has set the Save to Sent Items field to False in the Send an Email and Reply to an Email steps—this prevents the item from being saved to the Sent Items folder.

Full impersonation of a shared mailbox 

When you fully impersonate a shared mailbox account, all actions are performed on behalf of the shared mailbox. This includes send, receive, reply, and search. You are not exposed to the receiving party.

  • Sent items are kept in the sent folder of the shared mailbox.

  • You need full access rights to the mailbox to use shared mailbox functionality.

  • The shared mailbox field is visible in the options of each step where you can use a shared mailbox.

Send from a shared mailbox

Use the From address field to send messages from a different shared mailbox for the following steps:

  • Send an Email

  • Send an Email with Attachment

  • Reply to an email

All actions are performed on behalf of the personal account connected to pipelines. This includes send, receive, reply, and search. You are not exposed to the receiving party.

  • Sent items are kept in the sent folder of the personal account.

  • Send as/Send on behalf permissions on the shared mailbox are needed, but not full access rights.

  • Use the From address field in the step to use this approach.

Steps

The different types of steps for this channel are:

  • Attachments

  • Calendar events

  • Emails

Attachments

Type

Name

Description

Query

Search Attachments

Search for an attachment based on an account and mail ID. If you are querying attachments of an email that is in a shared mailbox instead of your own, specify that shared mailbox in addition to the email id. You can use a shared mailbox account in this step.

Calendar events

Type

Name

Description

Trigger

Calendar Event Created

Triggers when a calendar event is created in an account.

Trigger

Calendar Event Updated

Triggers when a calendar event is updated in an account.

Trigger

Calendar Event Deleted

Triggers the pipeline when a calendar event is deleted in an account.

Action

Create a Calendar Event

Creates a new event in the account calendar.

Action

Update a Calendar Event

Updates an existing event in the account calendar.

Action

Delete a Calendar Event

Deletes an existing event in a calendar.

Action

Fetch Link

Fetches a link to an existing event in a calendar.

Query

Search Calendar Events

Searches calendar events and returns a list based on search criteria.

Action

Look Up a Calendar Event

Looks for a calendar event in an account.

Emails

Note

For the New Email trigger, if a message is moved from a folder, the pipeline stops running and logs the activity. That is, the pipeline is triggered but detects that the email has moved, and then stops running.

Type

Name

Description

Trigger

New Email

Triggers when a new email is received and can be customized to only watch a particular folder instead of the Inbox. You can use a shared mailbox account in this step

Action

Send an Email

Sends an email from a specific account. You can use a shared mailbox account in this step.

Action

Send an Email with Attachments

Sends an email from a specific account with one or multiple attachments.  You can use a shared mailbox account in this step.

Query

Search Emails

Searches emails in an account and returns a list. You can use a shared mailbox account.

Action

Look Up an Email

Look for an email based on the search criteria. You can use a shared mailbox account in this step.

Action

Reply to an Email

Replies to an existing email with or without attachments.  You can use a shared mailbox account in this step.

Limits

These are known limits with the Outlook channel:

  • Attachments on Send an Email with Attachments/ Reply to an Email have size limit of 140 MB

  • Every single file has size limit of 100 MB

Examples

Use the Microsoft Outlook channel to send Slack messages for new customer issues

In this example, we're designing for a workflow that quickly sorts Outlook email messages into different folders either manually or using automatic rules.

For our workflow:

  • Someone sends an email to customerissues@quickbase.com, with the subject Customer Issue 687.

  • The email is immediately moved from the Inbox to the Issues folder.

  • When a new message comes in, if the subject contains update to, a Slack message is sent to the Issue Updates channel.

  • When messages are moved into the Issues folder, a message is sent to the New Issues Slack channel.

When we're planning our pipeline, we're thinking about the requirements like:

  • We need one pipeline to send a Slack message to the Issue Updates channel.

  • We need one pipeline to send a Slack message to the New Issues Slack channel.

  • The pipelines both need to have folders specified in the trigger.

Note

The pipeline the customer has starts with a New Email trigger, the Inbox folder specified. The pipeline starts to run, but then detects that the email is no longer in the Inbox, and stops. A record is created in the audit log and reflected in the pipeline activity.

Create a pipeline to send a message when a new email comes into the Inbox

In this step, create a new pipeline that detects an email and sends a Slack message. This pipeline has the following steps:

a. When New Email

b. Send a Message

To build this pipeline:

  1. In a new pipeline, select the Microsoft Outlook channel, and then select the New Email trigger.

  2. Set Inbox as the Folder.

  3. Add a Send a Message step, and define the following fields:
    Text—Update to [New Email | Subject]
    Conversation—issue-updates

Create a pipeline to send a message when a new email comes into the Issues folder

In this step, create a new pipeline that detects an email and sends a Slack message. This pipeline has the following steps:

     a. When New Email    

     b. Send a Message

To build this pipeline:

  1. In a new pipeline, select the Microsoft Outlook channel, and then select the New Email trigger.

  2. Set Issues as the Folder.

  3. Add a Send a Message step, and define the following fields:
    Text—New issue - [New Email | Subject]
    Conversation—new-issues

Use the Microsoft Outlook channel to track customer issue requests

This section explains how to use the Microsoft Outlook channel to create a new record in a table when a new request is received and then send a reply. 

When we're planning our pipeline, we're thinking about requirements like:

  • Support staff can do the work to update the ticket and craft replies to end users directly in a Quickbase app without needing to jump into the group mailbox.

  • End users can receive updates and reply via emails from the group mailbox without going into the ticketing system.

  • All correspondence between the support team and the end users is tracked in a single email correspondence and the messages in this conversation are logged against the ticket in the QB app.

Before you start, we recommend

  • Connecting to a Microsoft Outlook account.

  • Having an app built to track customer requests and a requests table where information is saved.
    We recommend including the following fields in the table:

Field label

Type

Request Subject

Text

Request Target Id

Text - multi-line

Priority

Text - multiple choice

Status

Text - multiple choice

Assigned To

User

Document Records

Report Link

Add Document

Formula - URL

Customer Email

Text

Work Order ID

Numeric

Date Created

Date / Time

Date Modified

Date / Time

Last Modified By

User

Record Owner

User

Related Contact

Numeric

Mail Body

Text

Mail Thread ID

Text


Create a pipeline to create a record in the Customer Requests table

    In this step, create a new pipeline that creates a record and replies to an email. This pipeline has the following steps:


      a. When New Email      

      b. Create Record      

      c. Reply to an Email

To build this pipeline:

  1. In a new pipeline, select the Microsoft Outlook channel, and then select the New Email trigger.

  2. Add a filter to this step to specify that the Subject doesn't start with RE:. This prevents an endless loop of replying to emails. 

  3. Add a Create Record step, and define the following fields:
    Table—Service Requests: Work Orders
    Select Fields to Specify Values—Status
    Status—Completed

  4. Add a Reply to an email step, and enter a message in the Body field that says something like, Your work order [Create Record | Record ID] has been started: [Create record | created_at].

Create a pipeline to send a reply when the status changes

In this step, create a new pipeline that sends an email when the status of the work order changes.

This pipeline has the following steps:


      a. When Record Updated    

      b. Look Up an Email      

      c. Reply to an Email To build this pipeline:  

  1. In a new pipeline, select the Quickbase channel, and then select the Record Updated trigger.

  2. Define the following fields:
    Table—Service Requests: Work Orders
    Trigger on Any of These Specific Fields—Status
    Fields for Subsequent Steps—Status, Email

  3. Add a Look up an Email Step, and add a query that searches the email by ID.

  4. Add a Reply to an Email step, and enter a message in the Body field that says something like, Your work order has been completed [Record Updated | Status].

Transfer file attachments between Outlook and Quickbase

These examples explain how to transfer file attachments between Outlook and Quickbase using the file transfer handle.

Add Outlook email attachments to a Quickbase record

Create a pipeline with these steps:

outlook-to-quickbase.png

  1. When New Email step to trigger the pipeline when an email is received.

  2. Search Attachments step to search the email for any attachments.

  3. Loop step to perform an action for each attachment found.

  4. Create Record step to create a new record in Quickbase.

  5. Upload a file step to upload the file attachment to the Quickbase record. In the URL field, specify the file transfer handle to transfer the file content from Outlook to Quickbase.
    You can also include metadata from the loop in the Name, to show the consecutive number of the attachment.
     file-transfer-handle.png 

Add file attachments from a Quickbase record to an Outlook email

Create a pipeline with these steps:

Quickbase-to-Outlook.png

  1. Search records step to find records that match your criteria.

  2. Loop step to perform an action for each record found.

  3. Send an Email with Attachments step to send a separate Outlook email for each attachment found in Quickbase records. In the URL field, specify the file transfer handle to transfer the file content from Quickbase to Outlook.
     attachments-outlook.png

Tip

To send a single email that includes all attachments found in the Search records step:

  1. Remove the loop

  2. Use Jinja to specify the attachments to include in the Send an Email with Attachments step:

attachments-jinja.png


 Name:

{% for record in a %}
{{record.file_attachment.file_name}}
{% endfor%}

URL:

{% for record in a %}
{{record.file_attachment.file_transfer_handle}}
{% endfor %}

Troubleshooting

Remote API authentication error

Error: (invalid_request) AADSTS900144: The request body must contain the following parameter: 'refresh_token'. Trace ID: ccfb7456-fcb4-4651-8960-023b65f92a00 Correlation ID: ac477517-35bd-407e-a7cf-b1e63a2ba5c5 Timestamp: 2024-09-10 20:33:19Z

Solution: Reconnect to Outlook

Context: Authentication between pipelines and Outlook uses OAuth as the authentication strategy. This strategy uses an Access Token and a Refresh Token, instead of a username and password. While it can be different between APIs, reconnecting to the channel can refresh these tokens, fixing any expired or mismatched tokens.