User guide
Quick Start Guide
Case notes
Table component
FAQ
Search
Dashboard
Deleted Documents and Access Log
Solving a task
AI Assistant
Manuals
Substitution and Vacation
Suspending, resuming, archiving and deleting a case
Case variables, history and graph
Basic Terms
Uploading Documents, Folders and Revisions
News
Favorites
Navigating the interface
Dashboard widgets
Case Detail
News/Announcements in Team assistant
Case list
Logging In and Out
Account Settings
Task List
Mobile app settings
Reports and Charts
Searching and Listing Documents
Handing Over, Taking Over and Tasks to Pull
Bulk Tasks
Printing a Case
Creating and Editing an Overview
What Is TAS
Form Fields
Tablet Interface and NFC
Overviews
Creating a New Case
Case Events
Case Permissions
Subscribing to an overview by email
Administrator Guide
Platform guide
Administration
Crons
Authentication and Synchronization
SMTP OAuth authentication
LDAP, SAML, Entra ID and NFC: Settings
Configuring authentication modules
Authentication
Vault
DMS attributes
Service Operations
Mobile App Setup for Your Environment
Scheme
XML Process Import
HR agenda and agenda handover
Logs
Archiving
Scripts
Sequences
System Status
News Management
Migrations
Configuration
Plugins
Email Queue
Service Console
AI monitoring
Shared Files
Settings
CSP Headers
CSV Files
Scheduled Tasks
Processing Queues
Maintenance
Administration Menu
Licenses
Dynamic Tables
Usage Statistics
Access Token Settings & Session Expiration
Visual Identity
Template
Prints
Tasks
Task calculations
Automatic task completion and cancellation
Email Task and Notifications
Task types
Smart Event task
Instructions, Sections and Testing a Task
General task settings and solver
Multi-instance
Planning: start, branching and due date
Dynamic conditions: builder
Variable assignment and sections
Variables
Class diagram, object state import and alias candidates
Document list
Text and Multiline text
Checkbox
Number
Variables: overview and common settings
Lists (texts, numbers, dates)
Dynamic Rows
Date
Dynamic list
Sequence
Dynamic Table
Shredding Process
Template graph
Template Tab
Template List
Importing, Exporting and Copying a Template
Template Headers
Case statuses
Roles
Connecting to a different database
Diagnosing services
Hyper-V: Isolated NAT Network with Port Forwarding
Users
Translations
NFC Integration
Events and Rules
AXIOS API
Plans
Axios with Vault
Users
Axios with SSL Certificate
User Detail
Calculations & Functions
Form condition
Other dynamic conditions
Optimization of API calls on dynamic conditions
Filtering in a dynamic sheet using dynamic conditions
Dynamic Conditions: Script
Dynamic Rows: Script
Calculations
Dynamic Tables
Printing and File Generation
Documents in Calculations — Complete Guide
Printing and File Generation in Calculations
DOCX document creation
Other Calculations
How and when calculations run
Calculations API reference: the lib library
Calculations API reference: variables and case
Global Scripts and React Scripts
Integrations
MS Graph
MS Graph - cron configuration
MS Graph v2 (from v5.7.102)
MS Graph - preparing the mailbox
MS Graph (email)
ISDOC.PDF
DocuSign
TAS call module - TAS 2 TAS (process creation via API)
DB View
DocuSign and electronic signatures
ERP and other integrations
Smart Events for Integrations
TAS Forms
TAS Forms
Activating the module on the environment
TAS Forms - secret creation guide for Docker Swarm
Advanced Features & Tips
Filtering in a dynamic sheet using a URL parameter (static)
Optimizing Overviews with a Large Number of Cases
API Documentation
Product
Technical Changelog
Business Changelog
Version Upgrade Guide
Upgrade to v5.19
Upgrade to TAS 5.19 - Key Changes and Removed Features
Upgrading TAS 5.17 to 5.19 – Technical Part (DevOps)
Upgrate to v5.17
Upgrade to TAS 5.17 - Key Changes and Removed Features
Asset Migration from FE to Backend (5.17 Upgrade) — DevOps
Upgrading to v5.7
Lodash upgrade v4.17.x (>v5.5)
Main changes and deprecated features (v5.3 > v5.7)
Highlighting variables in Read-only status (>v5.7.58)
Upgrading to 5.3
Dynamic conditions migration
PDF printing adjustment
Editing Task Description vs Task Instructions
Transpiling forEach to a for loop
Rendering HTML on Caseoverview
Differences between TAS4 and TAS5 - a complete overview
Best Practices for Upgrading from v4 to v5
Using validation functions
Technical details
Server prerequisites
Security and Data Protection
Security
TAS Operations Runbook
Technological architecture
News / Important information
Microsoft Disabling Basic Auth for SMTP
End of EWS support and transition to Microsoft Graph
Adjustment in EWS after MS Exchange update (29.04.2025)
Security notices
Getting Started
- All Categories /
- Administrator Guide
- Integrations
- MS Graph /
- MS Graph (email)
MS Graph (email)
MS Graph connects TAS to Microsoft 365 mailboxes: it can create cases from incoming mail and can send mail from TAS through Graph (or through SMTP with OAuth2). An administrator sets it up in Crons and in Configuration. It requires an app registration in Microsoft Entra ID. EWS (the older connection to Exchange Web Services) is no longer available in TAS as of 5.19.12, so MS Graph is the only supported option.
Creating cases from incoming mail
Two crons download mail and create cases. Only one of them may run at a time. TAS checks this itself and blocks the other cron:
| Cron | Note |
|---|---|
| Create Processes from MS Graph mails | Older version. |
| Create Processes from MS Graph mails (v2) | The successor, recommended for new deployments. When you upgrade an installation that used the older cron, TAS automatically creates the v2 version with the same settings, but inactive. Activate it yourself once you have checked that the settings are correct. |
A separate cron, MsGraphCheckUnprocessedMailsCron, checks whether any unprocessed mail remains in the mailbox, for example because of a processing error.
v2 cron settings
| Parameter | Meaning |
|---|---|
amountOfEmailByRun | How many emails the cron processes per run (default 100). |
runSummary.log / .sendEmail / .emailAddresses | Whether the run is logged and/or a summary email is sent, and to whom. |
items[] | One item = one monitored mailbox/folder. The cron can have several of them set up at once. |
items[].auth.emailAddress | Address of the mailbox to read from. |
items[].auth.tenantId, .clientId, .clientSecret | Details of the app registered in Entra ID (see below). Apply only to type: "secret". |
items[].auth.type | secret (app with a client secret) or dedicated (interactive sign-in without a stored secret). |
items[].auth.scope | Permission scope. If left empty, https://graph.microsoft.com/.default is used (all application permissions that the Entra ID administrator has approved for the app). |
items[].folders.in.id / .out.id | ID of the folder to read from, and of the folder that messages are moved to after processing. |
items[].process.user_id, .tproc_id, .header_id | The user who creates the case, and the template/header used for it. |
items[].mapping, .headerMapping | Mapping of email fields (subject, body, sender, attachments) to case variables. |
items[].messageClass.enabled, .allowedPrefixes, .ignoredClasses | Restriction by message type (e.g. skipping automatic replies). |
items[].config.setEmailProcessedOnError | Whether an email is marked as processed even after an error, so the cron does not get stuck on the same message. |
items[].config.ignoreAllAttachments / .ignoreSpecificAttachments / .ignoredAttachmentTypes / .ignoreInlineAttachments | Control which attachments are added to the case. |
items[].config.attachEmailAsPdf | Attaches the email itself as a PDF. |
items[].config.useEmailObjectInDataHolder | Makes the whole email available as an object for template calculations instead of mapping it to individual variables. |
You can get the mailbox folder IDs for
folders.in/folders.out by calling the administrator endpoint POST /ms-graph/discover-folders. You do not need to look them up manually in Graph Explorer.App registration in Entra ID
The cron needs an app registered in Microsoft Entra ID with an application permission to read (and, if needed, write) mail in the target mailbox, approved by the tenant administrator. From the registration you need tenantId, clientId and clientSecret (for the secret type).
Do not enter the value directly in the
clientSecret field of the cron parameters. Store it as a secret in the Vault and reference it with {{vault:nazev-klice}}. Do the same with the client secret for sending mail below.Sending mail through Graph or SMTP with OAuth2
Outgoing mail is set up in Configuration (email section), separately from the crons above. TAS supports two independent methods:
Type (integrations.mail.type) | How it works | Key parameters |
|---|---|---|
msgraph | Mail is sent directly through the Graph API (/sendMail), not through SMTP. | tenantId, clientId, clientSecret, sender, optionally scope (default .default). |
oauth2 | A standard SMTP server, but a short-lived OAuth2 token is used instead of a password (a general mechanism, not only for Microsoft 365). | host, port, basicAuth.user (mailbox), oauth2.host (token endpoint), oauth2.clientId, oauth2.clientSecret, oauth2.grantType, oauth2.scope. |
Both sets of parameters can also be set with environment variables (TAS_MAIL_SMTP_TYPE, TAS_MAIL_MSGRAPH_* for the first type, TAS_MAIL_SMTP_* and TAS_MAIL_OAUTH2_* for the second). For details on editing them in Configuration, see the Configuration article.
Related: Crons, Configuration, Vault, Authentication.