Skip to content

Teams Agent Configuration

The Tursio agent works with its default settings as soon as it is installed. This page covers the settings you can change afterwards: which MCP server and model it uses, how much detail it shows while working, limits for scheduled questions, how the app appears in Teams, and how the agent is instructed to answer.

Installing for the first time?

The architecture, security model, prerequisites, and deployment steps are covered in Deploy the MCP Server → Microsoft Teams. If the setup script's preflight check fails, see the Teams Agent Preflight FAQ.


Overview

What Where you change it When it applies
MCP server, API keys, model, plan size The setup script, at install time immediately; re-run the script to change
App name, description, icon, suggested prompts appPackage/manifest.json in your installation package after republishing and admin approval
Display detail, timeouts, scheduling limits Azure portal → your App Service → Environment variables after a short restart
The agent's instructions instructions.txt in your installation package after redeploying

Most deployments only ever touch the first three.


Install-time settings

The setup script asks for these and remembers your answers, so re-running it and pressing Enter keeps the current values.

Setting Notes
Tursio MCP server URL Your Tursio MCP server address, e.g. https://mcp.yourcompany.com/mcp.
Tursio API key From the Tursio portal, under Settings → API Agent.
AI provider and key Azure OpenAI or standard OpenAI. Azure also requires your endpoint URL.
Model Your Azure OpenAI deployment name, or a standard OpenAI model id. Defaults to gpt-5.2.
App name suffix Added to the name shown in Teams — a suffix of Dev gives "Tursio Dev". Leave blank for plain "Tursio". Useful for running a pilot app alongside a production one.
Azure resource suffix Names your Azure resources (acme produces botacme). Lower-case letters and digits only. Choose this once — changing it later and reinstalling creates a second, separate deployment rather than renaming the first.

To change any of them, re-run the setup script and choose "Redeploy to existing resource group". This updates your deployment in place without recreating Azure resources.

Hosting size. The Azure App Service plan defaults to B2, which suits most deployments. If you expect heavy use, raise the plan size before installing. Run a single instance — the agent tracks schedule timing and conversation history itself, so scaling out to multiple instances is not supported.


The Teams app listing

Edit appPackage/manifest.json in your installation package, then republish.

Field Notes
name.short, name.full What users see and search for in Teams.
description.short, description.full The listing text in the Teams app store.
icons.color, icons.outline Replace the two image files in the same folder to use your own branding: a 192×192 color icon and a 32×32 transparent outline icon.
bots[0].commandLists[].commands The suggested prompts offered to users in a new chat. This is the most valuable change you can make here: replacing the generic examples with questions specific to your data — "Top 10 customers by revenue this quarter" — tells new users what the agent can answer. Up to 10 prompts.
bots[0].scopes Where the agent may be used: personal (one-to-one chat), team, groupChat, and copilot for Microsoft 365 Copilot. Remove any you do not want to offer.
version Increase this every time you republish (for example 1.0.41.0.5). Teams rejects an update that reuses a version number.

To publish the change, re-run the setup script and choose to redeploy. A Teams administrator then approves the update in the Teams admin center, under Manage apps. Users receive the new listing without reinstalling.


Runtime settings

These live in Azure as application settings and all have working defaults, so a new deployment needs none of them. Set one only when you want to change what it controls.

To change one: Azure portal → your App Service → Settings → Environment variables → App settings+ AddSave. Saving restarts the app, so expect a few seconds of unavailability. If a value is invalid the app will not restart — see Troubleshooting.

Detail shown while the agent works

Setting Default Effect
SHOW_TOOL_PROGRESS true Shows live progress as the agent works, and attaches a collapsed "Show Tursio's work" panel under each answer listing the steps taken and how long each took. Set to false for a plainer experience.
SHOW_REASONING false Also includes a summary of the model's reasoning in that panel. Adds noticeable delay and cost, and requires a model that supports reasoning.
REASONING_EFFORT model default none / low / medium / high / xhigh. Only has an effect when SHOW_REASONING is true. Left unset, current models often produce no summary at all, so set medium if you want reasoning shown consistently.

Timeouts

Setting Default Effect
MCP_REQUEST_TIMEOUT_SECONDS 180 How long the agent waits for one request to your Tursio server. Raise this if your database has slow queries and users see timeouts on questions that legitimately take longer.
BACKGROUND_RUN_TIMEOUT_SECONDS 900 (15 min) Overall limit for one question. Past this the agent stops and asks the user to narrow the question. Multiples of 60 read best, because the message quotes the limit in whole minutes.

About long answers

Teams does not allow a reply to keep updating indefinitely, so a question still running after about 90 seconds gets a "⏳ Still working on this — I'll post the result here when it's ready" notice, and the finished answer arrives as a follow-up message in the same chat. This is normal, and it is what allows long questions to complete rather than fail.

Scheduled questions

Users can ask the agent to run a question on a schedule, such as "every weekday at 8am".

Setting Default Effect
SCHEDULE_TIMEZONE America/Los_Angeles Timezone used when a user gives a time without naming one ("every day at 9am"). Worth setting on every deployment — otherwise schedules run on US Pacific time. Use a standard zone name such as America/New_York, Europe/London, or Asia/Kolkata. A user who names a zone ("9am ET") always gets that zone.
SCHEDULE_MAX_CONCURRENT_RUNS 4 How many scheduled questions may run at the same moment. Round times like "9am daily" make simultaneous runs common, and each one costs an AI call plus a database query, so this keeps the deployment inside your AI provider's rate limit. Lower it if you see rate-limit errors; raise it only if your quota is generous.

Schedules are stored durably and survive restarts and updates. A recurring schedule that fails repeatedly is paused automatically so it stops posting errors.

Changing the connection or model without reinstalling

MCP_SERVER_URL, TURSIO_API_KEY, OPENAI_MODEL_NAME, AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_API_KEY, and OPENAI_API_KEY can also be updated here — handy after rotating a key. Make the same change in the setup script next time you run it, or your older answer will be restored.


The agent's instructions

instructions.txt in your installation package is the agent's brief: its persona, its formatting rules, and how it uses your Tursio data. It is plain text and you may edit it.

Test your edits

This is the most powerful customization available and also the easiest to get wrong, because it affects answer quality directly. Keep a copy of the original, change one thing at a time, and test with real questions afterwards.

Apply an edit by re-running the setup script and choosing to redeploy.

Good candidates for editing:

  • Tone and persona — the opening sentence.
  • Your vocabulary — a short glossary of your own terms, e.g. "active accounts" means accounts with a balance greater than zero.
  • Formatting preferences — how strongly the agent prefers tables over charts, and how detailed its written summary should be.
  • House rules — for example, always state the date range an answer covers.

Leave these parts alone unless Tursio advises otherwise — they are not style, they are wiring:

  • The order in which the agent uses its tools. It stops working correctly without this.
  • The list of chart types. The agent can only draw horizontal bar, vertical bar, line, and pie charts, plus tables; naming any other type causes failures.
  • The instruction not to show SQL in answers, if you want queries kept out of view.
  • The scheduling paragraph, which is what makes the agent describe a schedule and wait for confirmation instead of creating one silently.

Troubleshooting

Symptom Cause What to do
The app does not restart after a settings change An invalid value is rejected at startup by design, rather than causing odd behavior later Open Log stream on the App Service to see which setting is at fault, then correct it. Usual causes: text in a numeric setting, an unrecognized REASONING_EFFORT value, or an empty Tursio API key.
Every question fails, but the app is running The Tursio server URL is wrong or unreachable Confirm the URL ends in /mcp and is reachable from Azure.
Timeouts on questions that should just be slow The query exceeds the request timeout Raise MCP_REQUEST_TIMEOUT_SECONDS.
SHOW_REASONING is on but no reasoning appears The model returned no summary. Reasoning summaries need a capable model, and standard OpenAI additionally requires a verified organization Set REASONING_EFFORT=medium and confirm your model and account support reasoning summaries.
Rate-limit errors when several schedules run together More concurrent runs than your AI quota allows Lower SCHEDULE_MAX_CONCURRENT_RUNS.
Suggested prompts unchanged after editing the manifest The version number was not increased, or the update is not approved yet Increase version, republish, and have an administrator approve it.
No messages reach the agent just after installing Normal Teams propagation delay Wait 5–10 minutes. Do not reinstall or delete the bot registration.

Failures during installation, before the agent is deployed, are covered separately in the Teams Agent Preflight FAQ.