Ana içeriğe atla

Python ile Microsoft Teams Mesajları Nasıl Gönderilir

Microsoft Teams’i Python ile nasıl entegre edeceğinizi adım adım izleyin ve şirket genelinde içgörü sağlayan Teams mesajlarını otomatik olarak göndermenin yolunu açın!
Güncel 3 Eki 2026  · 7 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Her işte tekrarlayan görevler vardır. İster sık gelen destek taleplerini analiz eden bir destek temsilcisi, ister performans metriklerini izleyen bir ekip lideri, ister iş süreçlerini kontrol eden bir yazılım mühendisi olun, bu görevler çoğu zaman günlük, haftalık hatta saatlik olarak tekrar eder.

Neyse ki, bu işlerin büyük bir kısmını Python ile otomatikleştirebilirsiniz. Python, verilerle çalışmak için çok yönlü ve otomasyon betikleri yazmak için son derece elverişli bir dildir. Performans metriklerini topladığınızı düşünün: Elle yaptığınızda birkaç gösterge panosunu tek tek dolaşmanız gerekebilir. Bir Python betiği ile bu verileri otomatik olarak çekebilir, önemli noktaları vurgulayabilir ve derlenmiş bir raporu yöneticinize gönderebilirsiniz. Bu yalnızca zaman kazandırmakla kalmaz, hata riskini de azaltır.

Bu eğitimde, belirli bir konum için hava tahmini almak ve bu tahminin özetini Microsoft’un ekip iletişim platformu Microsoft Teams’e göndermek için Python kodu çalıştırma özel durumuna bakacağız. Bir Teams webhook’unu yapılandırmak, bu webhook’u kullanarak mesaj gönderen bir Python programı yazmak ve Python betiğinin düzenli aralıklarla çalışması için bir zamanlama ayarlamak dâhil gerekli tüm adımları ele alacağız. Bu örnek özel olarak hava durumu raporlamasıyla ilgili olsa da, elbette bu ‘iş mantığını’ dilediğiniz başka bir şeyle değiştirebilirsiniz; Teams’e mesaj göndermek için gereken yapılandırma ve kod tamamen aynı kalacaktır.

Bu eğitimde DataLab kullanacağız; çünkü gizleri ortam değişkenleri olarak güvenle saklamak (Teams webhook’unu saklamak için kullanacağız) ve yalnızca birkaç tıklamayla Python kodunuzu zamanlamak için yerleşik işlevsellik sunar. Takip etmek için ihtiyacınız olan tek şey bir Microsoft hesabı (mesaj göndermek için) ve bir DataCamp hesabı (DataLab’i kullanmak için); ikisini de ücretsiz oluşturabilirsiniz!

Ayrıca Python ile Slack mesajları nasıl gönderilir başlıklı ayrı rehberimize de göz atabilirsiniz.

Hadi başlayalım!

1. Microsoft Teams Webhook’unu Yapılandırın

Microsoft Teams’in içinde takımlar ve bu takımların kanalları vardır. Bu kanallara ‘uygulamalar’ eklemek mümkündür. Bir Teams uygulamasını, belirli bir amaç için MS Teams’in bir uzantısı ya da eklentisi olarak düşünebilirsiniz. Teams’e Jira, Zendesk, Salesforce ve daha pek çok şeyi entegre eden uygulamalar vardır; böylece Teams içinde gerçekleşen olaylardan haberdar olabilir, hatta Teams içinden bu uygulamalarda eylemler de gerçekleştirebilirsiniz. Küçük projemiz için bu uygulamalardan birini, daha spesifik olarak Microsoft’un kendisinin bakımını yaptığı “Incoming Webhook” uygulamasını kurmamız gerekecek.

Öncelikle Teams’e erişimi olan bir Microsoft hesabınız olduğundan emin olun. Bir takımın üyesi olduğunuzu ve bu takımın kanallarına uygulama ekleme iznine sahip olduğunuzu doğrulayın. Eğer değilseniz, BT departmanınızla iletişime geçin ve onlara bu bağlantıyı gönderin.

Ardından, mesaj göndermek istediğiniz takım kanalına gidin. Bizim örneğimizde bu, “Data Analytics Heroes” takımı içindeki “General” kanalıdır:

image14.png

Kanal adının yanındaki + işaretine tıklayın; kanala ekleyebileceğiniz uygulamaların bir özetini göreceksiniz:

image4.png

“Get more apps”e tıklayın. MS Teams’e ekleyebileceğiniz uygulamaların tam kapsamlı bir pazar yerine yönlendirileceksiniz:

image15.png

Arama kutusuna “Incoming Webhook” yazın. İlk çıkan uygulama ihtiyacımız olan uygulamadır:

image10.png

Add’a ve ardından “Add to a team”e tıklayın. Şimdi mesajları hangi takım ya da kanala göndermek istediğinizi belirtmeniz istenecek:

image13.png

Bu eğitimin örneği “Data Analytics Heroes” takımı içindeki “General” kanalıdır; ancak sizde muhtemelen farklı olacaktır. Sonrasında “Set up a connector”a tıklayın. Biraz daha webhook ayarı istemek için başka bir ekran daha görünecek.

image3.png

Gelen webhook için bir ad belirtin; mesajlarınız bu adla gönderilecektir, bu yüzden mantıklı bir şey seçin, örneğin “Python Messenger”. İsterseniz özel bir görsel de yükleyebilirsiniz, ancak bu isteğe bağlıdır. Son olarak “Create”e tıklayın. Bir webhook URL’si görünecek!

image8.png

Bu webhook URL’sine Python programınızda ihtiyaç duyacaksınız, bu nedenle panoya kopyaladığınızdan ve daha sonra kullanmak üzere bir yerde (örneğin notlar uygulamanızda) sakladığınızdan emin olun. Son olarak “Done”a tıklayın. Açılan ekranda, seçtiğiniz kanaldaki tüm bağlayıcıların bir özetini göreceksiniz.

image12.png

Bu ekranı kapatabilirsiniz. Az önce gelen webhook’u yapılandırdığınız kanalda, kurulumun onaylandığını bildiren ilgili bir mesaj görmelisiniz:

image2.png

Hepsi bu! Artık Microsoft Teams kanalınız webhook üzerinden mesaj almaya hazır.

2. İş Mantığını Python ile Yazın

Buraya kadar harika iş çıkardınız! Teams’te Incoming Webhook yapılandırıldığına göre, şimdi işin eğlenceli kısmına, yani Python yazmaya geçelim. Elimizdeki görevi çözmek için ‘iş mantığımız’ı yazmakla başlayacağız.

Python kodu yazmayı tazelemek istiyorsanız, Python’a Giriş kursumuz başlamak için ideal bir yerdir.

İsterseniz sıfırdan boş bir çalışma kitabı oluşturabilirsiniz; bu, otomatikleştirmek ve Microsoft Teams ile entegre etmek istediğiniz bir Python programınız zaten varsa kullanışlıdır.

Kavramları öğrenmek için buradaysanız, belirteceğiniz bir şehir için hava tahminini özetleyen bir örnek çalışma kitabıyla başlayabilirsiniz. Her gün yeni veri olacağı için bu, günlük raporlama için harika bir adaydır! Bu çalışma kitabını oluşturmak için aşağıdaki "Run Code" düğmesine tıklayın.

Bu eğitimdeki kodu çevrimiçi olarak çalıştırın ve düzenleyin

Kodu çalıştır

Her iki durumda da iş mantığınız tamamen yazılmış bir DataLab çalışma kitabına sahip olmalısınız:

image16.png

3. Teams’e Mesaj Göndermek

Yani, Teams webhook: tamam. İş mantığı: tamam. Python not defterini Microsoft Teams ile entegre etmek için iki şey yapmamız gerekiyor: webhook URL’sini DataLab çalışma kitabında saklamak ve Teams kanalına mesaj göndermek için biraz Python kodu yazmak.

Webhook URL’sini saklayın

Python not defterimizin, mesajı doğru Teams kanalına göndermek için webhook URL’sine ihtiyacı var. Bu URL’yi not defterinizde bir kod hücresine kopyalayıp yapıştırabilirsiniz. Ancak bu, güvenli bir yaklaşım değildir ve önerilmez. Webhook URL’si bir nevi gizlidir. Not defterinizi bir başkasıyla paylaşırsanız, webhook URL’sini görebilir ve Teams kanalınızı istenmeyen mesajlarla doldurabilir!

Bu yaklaşım ayrıca Teams mesajları göndermek istediğiniz her çalışma kitabında bu kopyala-yapıştır işini tekrarlamanızı gerektirir. Herhangi bir nedenle webhook URL’sini güncellemek isterseniz, tüm çalışma kitaplarını tek tek düzenlemeniz gerekir.

Daha güvenli ve ölçeklenebilir bir yaklaşım, webhook URL belirtecini bir ortam değişkeninde saklamaktır. Bu ortam değişkenini bağladığınızda, Python oturumunuzda kullanılabilir hâle gelecektir. Çalışma kitabınızda:

  • Sol taraftaki “Environment” sekmesine tıklayın
  • “Environment Variables”ın yanındaki artı simgesine tıklayın
  • “Add Environment Variables” penceresinde:
    • “Name”i MS_TEAMS_WEBHOOK_URL olarak ayarlayın
    • “Value” alanına, daha önce kaydettiğiniz Webhook URL’sini yapıştırın.
    • “Environment Variables Set Name”i “Microsoft Teams” olarak ayarlayın (gerçekte herhangi bir şey olabilir)

image5.png

Tüm alanları doldurduktan sonra “Create”, “Next” ve son olarak “Connect”e tıklayın. Çalışma kitabı oturumunuz yeniden başlayacak ve MS_TEAMS_WEBHOOK_URL artık çalışma kitabınızda bir ortam değişkeni olarak mevcut olacak. Bunu, aşağıdaki kodla bir Python hücresi oluşturup çalıştırarak doğrulayabilirsiniz:

import os
webhook_url = os.environ["MS_TEAMS_WEBHOOK_URL"]
print(webhook_url)

Aynı hizmet hesabı kimlik bilgilerini başka bir çalışma kitabında yeniden kullanmak isterseniz, ortam değişkenini yeniden ayarlamanız gerekmez: ortam değişkenini diğer çalışma kitaplarında da yeniden kullanabilirsiniz.

Microsoft Teams mesajı göndermek için Python kodu

MS_TEAMS_WEBHOOK_URL hazır olduğuna göre, artık Teams’e mesaj göndermek için Python kodu yazabiliriz! Bunun için, Teams’e mesaj göndermeye yönelik oldukça karmaşık API için kullanışlı bir sarmalayıcı sağlayan açık kaynaklı pymsteams paketini kullanacağız. Hadi bunu kuralım ve ortam değişkenlerini okumak için os paketiyle birlikte içe aktaralım:

!pip install pymsteams
import pymsteams
import os

Sonrasında, Teams’te zengin metin mesajı için kullanılan bir ‘connector card’ oluşturabilir, buna biraz metin ekleyebilir ve gönderebiliriz:

card = pymsteams.connectorcard(os.environ["MS_TEAMS_WEBHOOK_URL"])
card.text("Hello Teams!")
assert card.send()

Bu kodu çalıştırın! Kanala şu mesajın düştüğünü görmelisiniz:

image6.png

Harika! Bu anlamsız bir örnek mesajdı; ancak örnek çalışma kitabında yaptığımız gibi, iş mantığınızın sonucuna dayalı bir mesaj da oluşturabilirsiniz:

card = pymsteams.connectorcard(os.environ["MS_TEAMS_WEBHOOK_URL"])
card.title("Weather Forecast")
card.text("\n".join([
    f"Weather for {CITY} in the next three days:",
    f"- Min temperature: {weather_df['temperature_2m'].min()} {unit_temperature}",
    f"- Max temperature: {weather_df['temperature_2m'].max()} {unit_temperature}", 
    f"- Total precipitation: {weather_df['precipitation'].sum():.2f} {unit_prec}"
]))
assert card.send()

Sonuç şöyle olacaktır:

image7.png

Son olarak, bu mesajı oluşturan DataLab çalışma kitabına Teams’ten kolayca geçiş yapmak isterseniz, çalışma kitabınıza bağlantı veren bir düğme eklemek için DL_WORKBOOK_ID ortam değişkeninden de yararlanabilirsiniz:

card = pymsteams.connectorcard(os.environ["MS_TEAMS_WEBHOOK_URL"])
card.title("Weather Forecast")
card.text("\n".join([
    f"Weather for {CITY} in the next three days:",
    f"- Min temperature: {weather_df['temperature_2m'].min()} {unit_temperature}",
    f"- Max temperature: {weather_df['temperature_2m'].max()} {unit_temperature}", 
    f"- Total precipitation: {weather_df['precipitation'].sum():.2f} {unit_prec}"
]))
card.addLinkButton("View detailed forecast", f"https://www.datacamp.com/datalab/w/{os.environ.get('DL_WORKBOOK_ID', 'invalid')}/edit")
assert card.send()

Sonuç şöyle olacaktır:

image1.png

Oldukça hoş, değil mi?!

4. Otomatikleştirin!

Faydalı bir analiz yapan ve bu analizin özetini, tamamına bakmak isteyenler için not defterine geri bağlantı dâhil, Teams’e gönderen bir Python betiği oluşturdunuz. Harika! Şimdi, bu not defterini günlük ya da haftalık olarak otomatik şekilde çalıştırabildiğinizi ve sizi sürekli güncel sonuçlarla haberdar tuttuğunu hayal edin. Güzel haber şu ki, bunu yapabilirsiniz! DataLab, bunu mümkün kılan zamanlanmış çalıştırmalar özelliğini sunar.

  • Üstteki menü çubuğunda Run > Schedule Run’a tıklayın
  • Zamanlamayı dilediğiniz gibi yapılandırın:
    • Not defterini günlük veya haftalık olarak otomatik çalışacak şekilde ayarlayın. Haftalık zamanlamalarda tam gün ve saati seçin.
    • Not defteri tamamlandığında (başarıyla veya hatayla) bilgilendirilmesini istediğiniz DataCamp kullanıcılarını ekleyin. Bir sorun oluştuğunda hızlıca inceleyip düzeltmek için özellikle hatalar için bunu yapmak faydalıdır.

image9.png

Yukarıdaki ekran görüntüsündeki gibi yapılandırıldığında, not defteri artık her gün yerel saatte 09:30’da çalışacaktır; bu da her sabah belirtilen Teams kanalına bir mesaj gönderileceği anlamına gelir.

Otomatikleştirmek mi, otomatikleştirmemek mi

Her görev otomasyon için iyi bir aday değildir. Bu, görevi ne sıklıkla yaptığınıza, manuel olarak ne kadar sürdüğüne ve otomatikleştirmek için bir Python betiği yazmanın ne kadar zaman alacağına bağlıdır. Örneğin, yılda bir kez hazırladığınız ve elle 20 dakika süren bir raporu düşünün. Bunun için bir betik yazmanız yarım gün alacaksa, otomasyona harcadığınız zamanı telafi etmeniz yıllar sürebilir!

İşte tablo hâlinde bir özet:

image11.png

Kaynak: XKCD

Dolayısıyla her gün yapmanız gereken bir görev önceden 5 dakika sürüyorsa, bu görevi otomatikleştirmeye 6 güne kadar zaman harcayabilirsiniz. Otomasyona bunun altında zaman harcarsanız, (beş yıl boyunca hesaplandığında) net zaman kazanmış olursunuz.

Sonuç

DataLab’i Microsoft Teams’e mesaj gönderecek şekilde kurmak başlangıçta birden fazla ekranda gezinmeyi gerektirir. Ancak webhook URL’sini DataLab’e ekledikten sonra, mesaj göndermek yalnızca birkaç satır Python kodu eklemekle ilgilidir – gerçekten çok basit! En güzel yanı mı? Neredeyse her Python betiğini otomatikleştirip paydaşlarınızı tam bulundukları yerde, yani Teams’te doğrudan bilgilendirebilirsiniz.

Tekrarlayan, sıkıcı görevler için hatırlatıcı kurduğunuz günler geride kaldı. Araçlar arasında geçiş yapmanıza gerek olmayan, verimli ve otomatik iş akışlarının zamanına hoş geldiniz. Tek gereken DataLab’i benimsemek.

Unutmayın, Python kodu yazmayı tazelemek istiyorsanız, Python’a Giriş kursumuz başlamak için ideal bir yerdir.


Filip Schouwenaars's photo
Author
Filip Schouwenaars
LinkedIn

Filip, DataCamp’in en popüler Python, SQL ve R kurslarının birçoğunun arkasındaki tutkulu geliştiricidir. Şu anda Filip, DataCamp’in yapay zekâ destekli veri not defteri olan DataLab’in geliştirilmesine liderlik ediyor. Filip, Elektrik Mühendisliği ve Yapay Zekâ alanlarında derecelere sahiptir.

Konular
Python
DataLab

Python Yolculuğunuza Bugün Başlayın!

{count, plural, one {Kurs} other {Kurs}}

Python’a Giriş

{hours} sa
7.1M
Python ile veri analizi temellerini sadece dört saatte öğrenin. Bu çevrimiçi kurs, Python arayüzünü tanıtacak ve popüler paketleri keşfedecektir.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

{count, plural, one {blog} other {blog}}

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

{count, plural, one {blog} other {blog}}

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

{count, plural, one {Eğitim} other {Eğitim}}

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

{count, plural, one {Eğitim} other {Eğitim}}

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör