Kursus
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”:

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

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

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

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

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.

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!

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.

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

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 kodeDalam kedua kasus, Anda seharusnya berakhir dengan workbook DataLab yang berisi logika bisnis Anda lengkap dengan kodenya:

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)

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:

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:

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:

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.

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:

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 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.

