Lewati ke konten utama

Cara Mengirim Pesan Microsoft Teams dengan Python

Ikuti panduan langkah demi langkah kami tentang cara mengintegrasikan Microsoft Teams dengan Python dan buka kemampuan untuk secara otomatis mengirim pesan Teams yang mendorong wawasan di seluruh perusahaan!
Diperbarui 28 Sep 2026  · 7 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Setiap pekerjaan mencakup tugas berulang. Baik itu agen dukungan yang menganalisis permintaan bantuan yang sering muncul, pemimpin tim yang memantau metrik kinerja, atau software engineer yang memeriksa proses bisnis, tugas-tugas ini sering terulang—harian, mingguan, bahkan setiap jam.

Untungnya, banyak pekerjaan ini bisa diotomatisasi dengan Python. Ini adalah bahasa serbaguna yang andal untuk menangani data dan mudah untuk menyusun skrip otomatisasi. Bayangkan mengumpulkan metrik kinerja: secara manual, Anda mungkin harus menelusuri beberapa dasbor. Dengan skrip Python, Anda dapat menarik data ini secara otomatis, menyoroti poin-poin penting, dan mengirimkan laporan ringkas kepada atasan Anda. Ini tidak hanya menghemat waktu, tetapi juga mengurangi risiko kesalahan.

Dalam tutorial ini, kita akan melihat kasus spesifik menjalankan kode Python untuk mengambil prakiraan cuaca untuk lokasi tertentu dan mengirimkan ringkasan prakiraan ini ke Microsoft Teams, platform komunikasi tim dari Microsoft. Kita akan membahas semua langkah yang diperlukan untuk mengonfigurasi webhook Teams, program Python yang memanfaatkan webhook untuk mengirim pesan, dan menyiapkan jadwal agar skrip Python dapat berjalan secara berkala. Contoh khusus ini tentang pelaporan prakiraan cuaca, tetapi tentu saja Anda bisa mengganti ‘logika bisnis’ ini dengan apa pun yang Anda inginkan; semua konfigurasi dan kode untuk mengirim pesan ke Teams akan tetap persis sama.

Kita akan menggunakan DataLab dalam tutorial ini, karena memiliki fungsi bawaan untuk menyimpan secret secara aman sebagai variabel lingkungan (fitur yang akan kita gunakan untuk menyimpan webhook Teams) serta untuk menjadwalkan kode Python Anda hanya dengan beberapa klik. Untuk mengikuti, yang Anda perlukan hanyalah akun Microsoft (untuk memposting pesan) dan akun DataCamp (untuk menggunakan DataLab), keduanya bisa Anda buat secara gratis!

Anda juga dapat melihat panduan terpisah kami tentang cara mengirim pesan Slack dengan Python.

Mari kita mulai!

1. Konfigurasikan Webhook Microsoft Teams

Di dalam Microsoft Teams, ada tim, yang di dalamnya terdapat kanal. Anda dapat menambahkan ‘aplikasi’ ke kanal-kanal ini. Anggap saja aplikasi Teams sebagai ekstensi atau add-on MS Teams untuk tujuan tertentu. Ada aplikasi untuk mengintegrasikan Jira, Zendesk, Salesforce, dan banyak lainnya ke Teams, sehingga Anda bisa mendapat notifikasi di dalam Teams atas hal-hal yang terjadi, dan Anda juga bisa melakukan tindakan di aplikasi-aplikasi itu langsung dari Teams. Untuk proyek kecil kita, kita perlu memasang salah satu aplikasi ini, lebih tepatnya aplikasi “Incoming Webhook” yang dikelola oleh Microsoft sendiri.

Untuk memulai, pastikan Anda memiliki akun Microsoft dengan akses ke Teams. Pastikan Anda adalah anggota sebuah tim dan memiliki izin untuk menambahkan aplikasi ke kanal di tim ini. Jika tidak, hubungi departemen TI Anda dan kirimkan tautan ini.

Selanjutnya, buka kanal tim tempat Anda ingin memposting pesan. Dalam contoh kami, ini adalah kanal “General” di dalam tim “Data Analytics Heroes”:

image14.png

Klik tanda + di sebelah nama kanal; Anda akan melihat ikhtisar aplikasi yang dapat ditambahkan ke kanal:

image4.png

Klik “Get more apps”. Anda akan dibawa ke marketplace penuh aplikasi yang bisa ditambahkan ke MS Teams:

image15.png

Di kotak pencarian, ketik “Incoming Webhook.” Aplikasi yang muncul pertama adalah yang kita butuhkan:

image10.png

Klik Add, lalu “Add to a team.” Anda sekarang diminta menentukan ke tim atau kanal mana Anda ingin mengirim pesan:

image13.png

Contoh dalam tutorial ini adalah kanal “General” di tim “Data Analytics Heroes”, tetapi mungkin berbeda untuk Anda. Selanjutnya, klik “Set up a connector.” Muncul layar lain yang meminta beberapa pengaturan webhook tambahan.

image3.png

Tentukan nama untuk incoming webhook; pesan Anda akan dikirim dengan nama ini, jadi pilih yang masuk akal, misalnya “Python Messenger.” Anda juga bisa mengunggah gambar khusus, namun ini opsional. Terakhir, klik “Create”. URL webhook akan muncul!

image8.png

Anda memerlukan URL webhook ini di program Python Anda, jadi pastikan untuk menyalinnya ke clipboard dan menyimpannya di suatu tempat (misalnya di aplikasi catatan Anda) untuk digunakan nanti. Terakhir, klik “Done”. Di tampilan yang muncul, Anda akan melihat ikhtisar semua konektor di kanal yang Anda pilih.

image12.png

Anda bisa menutup layar ini. Di kanal yang baru saja Anda konfigurasikan incoming webhook-nya, Anda akan melihat pesan konfirmasi penyiapan:

image2.png

Selesai! Sekarang, kanal Microsoft Teams Anda siap menerima pesan melalui webhook.

2. Tulis Logika Bisnis di Python

Kerja bagus sejauh ini! Dengan Incoming Webhook di Teams yang sudah dikonfigurasi, saatnya bagian yang menyenangkan: menulis Python. Kita akan mulai dengan menulis beberapa kode Python untuk ‘logika bisnis’ kita guna menyelesaikan tugas yang ada.

Jika Anda perlu penyegaran tentang cara menulis kode Python, kursus Introduction to Python kami adalah tempat yang ideal untuk memulai.

Anda bisa membuat workbook kosong dari awal, yang berguna jika Anda sudah mengetahui program Python apa yang ingin Anda otomatisasi dan integrasikan dengan Microsoft Teams.

Jika Anda di sini untuk mempelajari konsepnya, Anda dapat mulai dengan workbook contoh yang merangkum prakiraan cuaca untuk kota yang Anda tentukan. Setiap hari akan ada data baru, jadi ini kandidat yang bagus untuk pelaporan harian! Klik tombol "Run Code" di bawah untuk membuat workbook ini.

Jalankan dan edit kode dari Tutorial ini secara online

Jalankan kode

Dalam kedua kasus, Anda seharusnya berakhir dengan workbook DataLab yang berisi logika bisnis Anda lengkap dengan kodenya:

image16.png

3. Mengirim Pesan ke Teams

Jadi, webhook Teams: beres. Logika bisnis: beres. Untuk mengintegrasikan notebook Python dengan Microsoft Teams, kita perlu melakukan dua hal: menyimpan URL webhook di workbook DataLab dan menulis sedikit kode Python untuk mengirim pesan ke kanal Teams.

Simpan URL webhook

Notebook Python kita memerlukan URL webhook untuk mengirim pesan ke kanal Teams yang tepat. Anda bisa saja menyalin dan menempelkan URL ini di dalam sel kode notebook Anda. Namun, ini bukan pendekatan yang aman dan tidak direkomendasikan. URL webhook bersifat rahasia. Jika Anda membagikan notebook Anda dengan orang lain, mereka dapat melihat URL webhook dan bisa mengirim spam ke kanal Teams Anda!

Pendekatan ini juga mengharuskan Anda mengulangi salin-tempel di setiap workbook yang ingin Anda gunakan untuk mengirim pesan Teams. Jika Anda ingin memperbarui URL webhook karena suatu alasan, Anda harus membuka dan mengedit setiap workbook.

Pendekatan yang lebih aman dan skalabel adalah menyimpan token URL webhook dalam variabel lingkungan. Saat Anda menghubungkan variabel lingkungan ini, variabel tersebut akan tersedia di sesi Python Anda. Di workbook Anda:

  • Klik tab “Environment” di sisi kiri
  • Klik ikon plus di sebelah “Environment Variables”
  • Di modal “Add Environment Variables”:
    • Setel “Name” ke MS_TEAMS_WEBHOOK_URL
    • Di kolom “Value”, tempelkan URL Webhook yang Anda simpan sebelumnya.
    • Setel “Environment Variables Set Name” menjadi “Microsoft Teams” (sebenarnya bisa apa saja)

image5.png

Setelah mengisi semua kolom, klik “Create,” “Next,” dan akhirnya, “Connect.” Sesi workbook Anda akan dimulai ulang, dan MS_TEAMS_WEBHOOK_URL sekarang tersedia sebagai variabel lingkungan di workbook Anda. Anda dapat memverifikasinya dengan membuat sel Python dengan kode berikut dan menjalankannya:

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

Jika Anda ingin menggunakan ulang kredensial akun layanan yang sama di workbook lain, Anda tidak perlu menyiapkan variabel lingkungan lagi: Anda dapat menggunakan ulang variabel lingkungan tersebut di workbook lain.

Kode Python untuk mengirim pesan Microsoft Teams

Dengan MS_TEAMS_WEBHOOK_URL siap digunakan, sekarang kita bisa menulis kode Python untuk mengirim pesan ke Teams! Untuk ini, kita akan menggunakan paket pymsteams open-source, yang menyediakan pembungkus praktis untuk API yang cukup rumit guna mengirim pesan ke Teams. Mari kita pasang dan impor, bersama dengan paket os untuk membaca variabel lingkungan:

!pip install pymsteams
import pymsteams
import os

Selanjutnya, kita dapat membuat ‘connector card’—istilah untuk pesan rich text di Teams—menambahkan teks, lalu mengirimkannya:

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

Jalankan kode ini! Anda seharusnya melihat pesan ini muncul di kanal:

image6.png

Keren! Ini hanya pesan contoh yang tidak bermakna, tetapi Anda juga bisa membuat pesan berdasarkan hasil logika bisnis Anda, seperti yang kami lakukan di workbook contoh:

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()

Dengan hasil sebagai berikut:

image7.png

Terakhir, Anda juga dapat memanfaatkan variabel lingkungan DL_WORKBOOK_ID untuk menyertakan tombol yang menaut ke workbook Anda jika Anda ingin menyediakan cara mudah berpindah dari Teams ke workbook DataLab yang menghasilkan pesan ini:

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()

Dengan hasil sebagai berikut:

image1.png

Cukup keren, bukan?!

4. Otomatiskan!

Anda telah membuat skrip Python yang melakukan analisis berguna dan mengirimkan ringkasan analisis ini ke Teams, termasuk tautan kembali ke notebook lengkap bagi yang ingin melihat detail lebih lanjut. Keren! Sekarang, bayangkan jika Anda dapat mengeksekusi notebook ini secara otomatis, harian atau mingguan, sehingga Anda selalu mendapat pembaruan hasil terbaru. Kabar baiknya, Anda bisa! DataLab menyediakan fitur scheduled runs untuk mewujudkannya.

  • Di bilah menu atas, klik Run > Schedule Run
  • Konfigurasikan jadwal sesuai kebutuhan:
    • Atur notebook agar berjalan otomatis setiap hari atau setiap minggu. Untuk jadwal mingguan, pilih hari dan waktu yang tepat.
    • Tambahkan pengguna DataCamp yang ingin Anda beri tahu setiap kali notebook selesai (berhasil atau gagal). Ini berguna khususnya untuk kegagalan, sehingga Anda dapat segera menelusuri dan memperbaiki saat terjadi masalah.

image9.png

Jika dikonfigurasi seperti pada tangkapan layar di atas, notebook kini akan berjalan pukul 09.30 waktu setempat setiap hari, yang berarti pesan akan diposting di kanal Teams yang ditentukan setiap pagi.

Diotomatisasi atau tidak

Tidak setiap tugas cocok untuk otomatisasi. Ini bergantung pada seberapa sering Anda melakukannya, berapa lama waktu yang dibutuhkan jika dikerjakan manual, dan waktu yang diperlukan untuk membuat skrip Python guna mengotomatiskannya. Misalnya, pertimbangkan laporan tahunan yang butuh 20 menit untuk disusun secara manual. Jika Anda memerlukan setengah hari untuk menulis skripnya, butuh bertahun-tahun sebelum impas terhadap waktu yang dihabiskan untuk otomatisasi!

Berikut ringkasan dalam bentuk tabel:

image11.png

Sumber: XKCD

Jadi, jika suatu tugas yang harus Anda lakukan setiap hari sebelumnya memakan waktu 5 menit, Anda dapat menghabiskan hingga 6 hari untuk mencoba mengotomatiskan tugas tersebut. Jika Anda menghabiskan waktu kurang dari itu untuk otomatisasi, Anda akan menghemat waktu (dihitung selama lima tahun).

Kesimpulan

Menyiapkan DataLab untuk mengirim pesan ke Microsoft Teams memang melibatkan beberapa layar pada awalnya. Namun setelah semuanya siap dengan URL webhook di DataLab, mengirim pesan hanya tinggal menambahkan beberapa baris kode Python—sangat mudah! Bagian terbaiknya? Anda bisa mengotomatiskan hampir semua skrip Python dan memberi tahu para pemangku kepentingan Anda langsung di tempat mereka berada: di Teams.

Hari-hari mengatur pengingat untuk tugas berulang yang membosankan sudah berlalu. Selamat datang di era alur kerja otomatis yang efisien di mana Anda tidak perlu berpindah-pindah alat. Yang dibutuhkan hanya memanfaatkan DataLab.

Ingat, jika Anda perlu penyegaran tentang cara menulis kode Python, kursus Introduction to Python kami adalah tempat yang ideal untuk memulai.


Filip Schouwenaars's photo
Author
Filip Schouwenaars
LinkedIn

Filip adalah pengembang bersemangat di balik beberapa kursus Python, SQL, dan R terpopuler di DataCamp. Saat ini, Filip memimpin pengembangan DataLab, buku catatan data bertenaga AI milik DataCamp. Filip meraih gelar di bidang Teknik Elektro dan Kecerdasan Buatan.

Topik
Python
DataLab

Mulai Perjalanan Python Anda Hari Ini!

Kursus

Pengantar Python

4 jam
7.1M
Kuasai dasar-dasar analisis data dengan Python dalam 4 jam. Kursus online ini memperkenalkan antarmuka Python dan pustaka populer.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

Lihat SelengkapnyaLihat Selengkapnya