{"id":23494,"library":"dagster-msteams","title":"dagster-msteams","description":"A Dagster resource for posting messages to Microsoft Teams via webhooks. Version 0.29.3, released as part of Dagster core 1.13.3. Supports Python 3.10-3.14. Follows Dagster library release cadence (roughly monthly).","status":"active","version":"0.29.3","language":"python","source_language":"en","source_url":"https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagster-msteams","tags":["dagster","microsoft-teams","notifications","monitoring"],"install":[{"cmd":"pip install dagster-msteams","lang":"bash","label":"pip"}],"dependencies":[{"reason":"Core Dagster framework required for all integrations","package":"dagster","optional":false}],"imports":[{"note":"Old import path (pre-0.20.0) no longer works","wrong":"from dagster_msteams.resources import TeamsResource","symbol":"TeamsResource","correct":"from dagster_msteams import TeamsResource"},{"note":"","wrong":"No common mistake","symbol":"make_teams_on_run_failure_sensor","correct":"from dagster_msteams import make_teams_on_run_failure_sensor"}],"quickstart":{"code":"import os\nfrom dagster import Definitions, job, op\nfrom dagster_msteams import TeamsResource, make_teams_on_run_failure_sensor\n\n@op\ndef my_op():\n    return 1\n\n@job\ndef my_job():\n    my_op()\n\n# Resource requires WEBHOOK_URL env var or config\nteams_resource = TeamsResource(\n    webhook_url=os.environ.get('TEAMS_WEBHOOK_URL', ''),\n    webhook_resource_key=\"teams\"\n)\n\n# Optional: notify on run failure\nteams_sensor = make_teams_on_run_failure_sensor(\n    webhook_url=os.environ.get('TEAMS_WEBHOOK_URL', ''),\n    dagit_base_url=\"http://localhost:3000\"\n)\n\ndefs = Definitions(\n    jobs=[my_job],\n    resources={\"teams\": teams_resource},\n    sensors=[teams_sensor]\n)","lang":"python","description":"Minimal setup: define a TeamsResource, optional failure sensor, and attach to job/sensor in Definitions."},"warnings":[{"fix":"Use `TeamsResource(webhook_url=...)` explicitly.","message":"The `TeamsResource` no longer accepts `webhook_url` during initialization as a positional argument; it must be passed as a keyword or via config.","severity":"breaking","affected_versions":">=0.20.0"},{"fix":"Prefer creating a custom sensor using `TeamsResource` and `@run_failure_sensor`.","message":"`make_teams_on_run_failure_sensor` is deprecated in favor of using `TeamsResource` directly with the core Dagster `RunFailureSensorContext`.","severity":"deprecated","affected_versions":">=0.28.0"},{"fix":"Validate webhook URL format: `https://outlook.office.com/webhook/...`.","message":"Webhook URL must be a valid Microsoft Teams incoming webhook. Using a malformed URL will silently fail (no error raised).","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Ensure Definitions includes `resources={\"teams\": TeamsResource(webhook_url=...)}` and ops reference `ResourceParam(TeamsResource)` with `required_resource_keys={\"teams\"}`.","cause":"Resource is not properly registered in Definitions or resource key mismatch.","error":"Could not resolve resource 'teams' to a valid resource"},{"fix":"Run `pip install dagster-msteams`.","cause":"`dagster-msteams` not installed in the current environment.","error":"ModuleNotFoundError: No module named 'dagster_msteams'"},{"fix":"Run `pip install --upgrade dagster-msteams` and use `from dagster_msteams import TeamsResource`.","cause":"Using an old import path or ancient version.","error":"ImportError: cannot import name 'TeamsResource' from 'dagster_msteams'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}