इस ट्यूटोरियल का कोड ऑनलाइन चलाएं और संपादित करें
कोड चलाएंदोनों ही स्थितियों में, अंततः आपके पास आपका बिजनेस लॉजिक कोड सहित एक DataLab वर्कबुक होगी:

3. Teams को संदेश भेजना
तो, Teams webhook: पूरा। बिजनेस लॉजिक: पूरा। Python नोटबुक को Microsoft Teams के साथ इंटीग्रेट करने के लिए, हमें दो काम करने हैं: DataLab वर्कबुक में webhook URL स्टोर करना और Teams चैनल को संदेश भेजने के लिए कुछ Python कोड लिखना।
webhook URL स्टोर करें
हमारी Python नोटबुक को सही Teams चैनल में संदेश भेजने के लिए webhook URL चाहिए। आप इस URL को अपनी नोटबुक की किसी कोड सेल में कॉपी-पेस्ट कर सकते हैं। हालाँकि, यह सुरक्षित तरीका नहीं है और अनुशंसित भी नहीं। webhook URL एक तरह का सीक्रेट है। यदि आप अपनी नोटबुक किसी और के साथ साझा करते हैं, तो वह webhook URL देख सकता है और आपके Teams चैनल पर स्पैम कर सकता है!
यह तरीका उस हर वर्कबुक में कॉपी-पेस्ट दोहराने की भी माँग करेगा जिसमें आप Teams संदेश भेजना चाहते हैं। यदि किसी कारण से आपको webhook URL अपडेट करना पड़े, तो हर वर्कबुक में जाकर एडिट करना होगा।
एक अधिक सुरक्षित और स्केलेबल तरीका है webhook URL टोकन को तथाकथित environment variable में स्टोर करना। जब आप इस environment variable को कनेक्ट करते हैं, तो यह आपके Python सत्र में उपलब्ध हो जाता है। अपनी वर्कबुक में:
- बाएँ तरफ “Environment” टैब पर क्लिक करें
- “Environment Variables” के बगल में प्लस आइकन पर क्लिक करें
- “Add Environment Variables” मोडल में:
- “Name” को MS_TEAMS_WEBHOOK_URL पर सेट करें
- “Value” फ़ील्ड में, पहले सहेजा हुआ Webhook URL पेस्ट करें।
- “Environment Variables Set Name” को “Microsoft Teams” पर सेट करें (यह कुछ भी हो सकता है)

सभी फ़ील्ड भरने के बाद “Create,” “Next,” और अंत में “Connect” पर क्लिक करें। आपकी वर्कबुक सत्र रीस्टार्ट होगा, और अब MS_TEAMS_WEBHOOK_URL आपकी वर्कबुक में एक environment variable के रूप में उपलब्ध होगा। आप इसे निम्न Python कोड वाली सेल बनाकर और चलाकर जाँच सकते हैं:
import os
webhook_url = os.environ["MS_TEAMS_WEBHOOK_URL"]
print(webhook_url)
यदि आप वही सेवा-खाता क्रेडेंशियल्स किसी दूसरी वर्कबुक में पुनः उपयोग करना चाहते हैं, तो environment variable फिर से सेट करने की ज़रूरत नहीं: आप अन्य वर्कबुक में भी उसी environment variable का उपयोग कर सकते हैं।
Microsoft Teams संदेश भेजने के लिए Python कोड
MS_TEAMS_WEBHOOK_URL उपलब्ध होने के साथ, अब हम Teams को संदेश भेजने के लिए Python कोड लिख सकते हैं! इसके लिए हम ओपन-सोर्स pymsteams पैकेज का उपयोग करेंगे, जो Teams को संदेश भेजने के जटिल API के लिए एक सुविधाजनक रैपर प्रदान करता है। आइए इसे इंस्टॉल और इम्पोर्ट करें, साथ ही environment variables पढ़ने के लिए os पैकेज भी:
!pip install pymsteams
import pymsteams
import os
अगला चरण, हम एक तथाकथित ‘connector card’ बनाएँगे—Teams में रिच टेक्स्ट संदेश के लिए एक बढ़िया शब्द—, इसमें कुछ टेक्स्ट जोड़ेंगे, और इसे भेजेंगे:
card = pymsteams.connectorcard(os.environ["MS_TEAMS_WEBHOOK_URL"])
card.text("Hello Teams!")
assert card.send()
यह कोड चलाएँ! आपको चैनल में यह संदेश दिखाई देना चाहिए:

शानदार! यह एक अर्थहीन नमूना संदेश था, लेकिन आप अपने बिजनेस लॉजिक के परिणामों के आधार पर भी संदेश बना सकते हैं, जैसा कि हमने सैंपल वर्कबुक में किया:
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()
इसके परिणामस्वरूप यह मिलेगा:

अंत में, आप DL_WORKBOOK_ID environment variable का उपयोग करके एक बटन भी जोड़ सकते हैं जो आपकी वर्कबुक से लिंक करता है—यदि आप Teams से सीधे उस DataLab वर्कबुक तक आसान पहुँच देना चाहते हैं जो यह संदेश तैयार कर रही है:
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()
इसके परिणामस्वरूप यह मिलेगा:

काफ़ी बढ़िया, है ना?!
4. ऑटोमेट करें!
आपने एक Python स्क्रिप्ट तैयार कर ली है जो उपयोगी विश्लेषण करती है और उसका सारांश Teams पर भेजती है, साथ ही इच्छुक लोगों के लिए पूरी नोटबुक का लिंक भी शामिल करती है। शानदार! अब कल्पना कीजिए कि यदि यह नोटबुक स्वयं ही रोज़ाना या साप्ताहिक रूप से चल सके, और आपको लगातार नए परिणाम मिलते रहें। अच्छी खबर यह है कि आप ऐसा कर सकते हैं! DataLab में scheduled runs की सुविधा है जिससे यह संभव हो जाता है।
- ऊपर मेनू बार में Run > Schedule Run पर क्लिक करें
- अपनी आवश्यकताओं के अनुसार शेड्यूल कॉन्फ़िगर करें:
- नोटबुक को रोज़ाना या साप्ताहिक आधार पर स्वतः चलने के लिए सेट करें। साप्ताहिक शेड्यूल के लिए सटीक दिन और समय चुनें।
- वे DataCamp उपयोगकर्ता जोड़ें जिन्हें हर बार नोटबुक के समाप्त होने पर (सफलता या विफलता दोनों में) सूचित किया जाना चाहिए। विफलताओं के लिए ऐसा करना उपयोगी है, ताकि समस्या आने पर आप तुरंत जाँचकर सुधार कर सकें।

यदि ऊपर दिए स्क्रीनशॉट की तरह कॉन्फ़िगर किया गया है, तो अब नोटबुक हर दिन सुबह 9:30 स्थानीय समय पर चलेगी, यानी हर सुबह निर्दिष्ट Teams चैनल में एक संदेश पोस्ट होगा।
ऑटोमेट करना चाहिए या नहीं
हर कार्य ऑटोमेशन के लिए उपयुक्त नहीं होता। यह इस पर निर्भर करता है कि आप उसे कितनी बार करते हैं, उसे मैन्युअली करने में कितना समय लगता है, और उसे ऑटोमेट करने के लिए Python स्क्रिप्ट लिखने में कितना समय लगेगा। उदाहरण के लिए, किसी वार्षिक रिपोर्ट को हाथ से बनाने में 20 मिनट लगते हैं। यदि उसके लिए स्क्रिप्ट लिखने में आपको आधा दिन लग जाए, तो ऑटोमेट करने में लगाया समय कई साल बाद जाकर ही वसूल होगा!
तालिका रूप में एक सारांश:

तो यदि कोई कार्य जो आपको रोज़ करना पड़ता था, पहले 5 मिनट लेता था, तो आप उसे ऑटोमेट करने के लिए अधिकतम 6 दिन तक लगा सकते हैं। यदि आप इससे कम समय में ऑटोमेशन कर लेते हैं, तो आपने (पाँच वर्षों में गिने गए) कुल समय की बचत कर ली होगी।
निष्कर्ष
Microsoft Teams को संदेश भेजने के लिए DataLab सेट करना शुरुआत में कई स्क्रीन के बीच नेविगेट करने जैसा लगता है। लेकिन एक बार जब आपने DataLab में webhook URL सेट कर लिया, तो संदेश भेजना केवल कुछ पंक्तियों का Python कोड जोड़ने भर का काम रह जाता है—यह वाकई सीधा-सादा है! सबसे अच्छी बात? आप लगभग किसी भी Python स्क्रिप्ट को ऑटोमेट कर सकते हैं और अपने हितधारकों को सीधे वहीं सूचित कर सकते हैं जहाँ वे हैं: Teams पर।
दोहराए जाने वाले, उबाऊ कार्यों के लिए रिमाइंडर सेट करने के दिन गए। अब कुशल, स्वचालित वर्कफ़्लोज़ का दौर है, जहाँ आपको टूल्स के बीच स्विच नहीं करना पड़ता। आपको बस DataLab अपनाने की ज़रूरत है।
याद रखें, यदि आपको Python कोड लिखने पर फिर से ताज़गी की ज़रूरत है, हमारा Introduction to Python कोर्स शुरू करने के लिए बेहतरीन जगह है।

फिलिप DataCamp के कई लोकप्रिय Python, SQL, और R पाठ्यक्रमों के पीछे के उत्साही डेवलपर हैं। वर्तमान में, फिलिप DataLab, DataCamp की एआई-सक्षम डेटा नोटबुक, के विकास का नेतृत्व कर रहे हैं। फिलिप के पास इलेक्ट्रिकल इंजीनियरिंग और आर्टिफिशियल इंटेलिजेंस में डिग्रियाँ हैं।
हर नौकरी में दोहराए जाने वाले कार्य होते हैं। चाहे कोई सपोर्ट एजेंट बार-बार आने वाले सहायता अनुरोधों का विश्लेषण कर रहा हो, कोई टीम लीडर प्रदर्शन मेट्रिक्स की निगरानी कर रहा हो, या कोई सॉफ्टवेयर इंजीनियर व्यावसायिक प्रक्रियाएँ जाँच रहा हो—ये कार्य अक्सर रोज़ाना, साप्ताहिक, या यहाँ तक कि प्रति घंटे दोहरते हैं।
खुशकिस्मती से, आप इनमें से काफी काम Python से स्वचालित कर सकते हैं। यह एक बहुमुखी भाषा है जो डेटा संभालने के लिए बेहतरीन है और ऑटोमेशन स्क्रिप्टिंग के लिए सरल है। कल्पना कीजिए कि आपको प्रदर्शन मेट्रिक्स इकट्ठे करने हैं: मैन्युअली, आपको कई डैशबोर्ड खंगालने पड़ सकते हैं। एक Python स्क्रिप्ट के साथ, आप यह डेटा स्वतः खींच सकते हैं, मुख्य बिंदुओं को हाइलाइट कर सकते हैं, और अपने बॉस को संकलित रिपोर्ट भेज सकते हैं। इससे न केवल समय बचता है बल्कि त्रुटियों का जोखिम भी कम होता है।
इस ट्यूटोरियल में, हम एक विशिष्ट उदाहरण देखेंगे: किसी चुने हुए स्थान के लिए मौसम पूर्वानुमान लाने के लिए Python कोड चलाना और इस पूर्वानुमान का सारांश Microsoft Teams—Microsoft का टीम संचार मंच—पर भेजना। हम Teams webhook को कॉन्फ़िगर करने के सभी आवश्यक चरण कवर करेंगे, एक ऐसा Python प्रोग्राम लिखेंगे जो इस webhook का उपयोग करके संदेश भेजे, और एक शेड्यूल सेट करेंगे ताकि Python स्क्रिप्ट नियमित अंतराल पर चले। यह उदाहरण मौसम रिपोर्टिंग पर केंद्रित है, लेकिन आप चाहें तो इस ‘बिजनेस लॉजिक’ को किसी और चीज़ से बदल सकते हैं; Teams को संदेश भेजने के लिए कॉन्फ़िगरेशन और कोड बिल्कुल वैसा ही रहेगा।
हम इस ट्यूटोरियल में DataLab का उपयोग करेंगे, क्योंकि इसमें सीक्रेट्स को environment variables के रूप में सुरक्षित रूप से स्टोर करने की बिल्ट-इन सुविधा है (जिसका उपयोग हम Teams webhook को स्टोर करने के लिए करेंगे) और कुछ क्लिक में आपके Python कोड को शेड्यूल करने की भी सुविधा है। साथ चलने के लिए, आपको बस एक Microsoft खाता (संदेश पोस्ट करने के लिए) और एक DataCamp खाता (DataLab उपयोग करने के लिए) चाहिए—दोनों आप मुफ़्त में बना सकते हैं!
आप हमारा अलग गाइड भी देख सकते हैं: Python के साथ Slack संदेश कैसे भेजें।
चलिए शुरू करते हैं!
1. Microsoft Teams Webhook कॉन्फ़िगर करें
Microsoft Teams के भीतर टीमें होती हैं, और हर टीम में चैनल होते हैं। इन चैनलों में तथाकथित ‘ऐप्स’ जोड़े जा सकते हैं। Teams ऐप को आप किसी खास उद्देश्य के लिए MS Teams का एक्सटेंशन या ऐड-ऑन समझ सकते हैं। Jira, Zendesk, Salesforce और कई अन्य सेवाओं को Teams के साथ इंटीग्रेट करने के लिए ऐप्स मौजूद हैं, ताकि आपको Teams के भीतर ही घटनाओं की सूचनाएँ मिल सकें, और आप Teams से ही उन ऐप्स में एक्शन भी कर सकें। हमारे छोटे से प्रोजेक्ट के लिए, हमें इन्हीं में से एक ऐप—विशेष रूप से Microsoft का ही मेंटेन किया गया “Incoming Webhook” ऐप—इंस्टॉल करना होगा।
शुरू करने के लिए, सुनिश्चित करें कि आपके पास Teams की पहुँच वाला Microsoft खाता है। यह भी पक्का करें कि आप किसी टीम के सदस्य हैं और इस टीम के चैनलों में ऐप्स जोड़ने की अनुमति आपके पास है। यदि नहीं, तो अपने आईटी विभाग से संपर्क करें और उन्हें यह लिंक भेजें।
अब उस टीम चैनल पर जाएँ जिसमें आप संदेश पोस्ट करना चाहते हैं। हमारे उदाहरण में, यह “Data Analytics Heroes” टीम का “General” चैनल है:
चैनल नाम के बगल में + चिह्न पर क्लिक करें; आपको उन ऐप्स का ओवरव्यू दिखेगा जिन्हें आप चैनल में जोड़ सकते हैं:
“Get more apps” पर क्लिक करें। आप MS Teams के लिए ऐप्स के एक पूरे मार्केटप्लेस में पहुँच जाएँगे:
सर्च बॉक्स में “Incoming Webhook” टाइप करें। जो ऐप सबसे पहले दिखेगा, वही हमें चाहिए:
Add पर क्लिक करें, और फिर “Add to a team”। अब आपसे पूछा जाएगा कि आप किस टीम या चैनल को संदेश भेजना चाहते हैं:
इस ट्यूटोरियल के उदाहरण में “Data Analytics Heroes” टीम का “General” चैनल चुना गया है, पर आपके लिए यह अलग होगा। आगे बढ़ने के लिए “Set up a connector” पर क्लिक करें। एक और स्क्रीन खुलेगी जहाँ webhook सेटिंग्स पूछी जाएँगी।
Incoming webhook के लिए एक नाम दें; आपके संदेश इसी नाम से भेजे जाएँगे, इसलिए कोई अर्थपूर्ण नाम चुनें, जैसे “Python Messenger।” आप एक कस्टम इमेज भी अपलोड कर सकते हैं, लेकिन यह वैकल्पिक है। अंत में “Create” पर क्लिक करें। एक webhook URL दिखाई देगा!
आपको अपने Python प्रोग्राम में इस webhook URL की ज़रूरत पड़ेगी, इसलिए इसे क्लिपबोर्ड पर कॉपी कर लें और बाद में उपयोग के लिए कहीं सुरक्षित रख लें (जैसे, अपने नोट्स ऐप में)। अंत में “Done” पर क्लिक करें। जो ओवरव्यू दिखाई देगा, उसमें आपके चुने हुए चैनल के सभी कनेक्टर्स की सूची होगी।
आप इस स्क्रीन को बंद कर सकते हैं। जिस चैनल के लिए आपने incoming webhook कॉन्फ़िगर किया है, वहाँ आपको सेटअप की पुष्टि करता हुआ एक संदेश दिखना चाहिए:
बस इतना ही! अब आपका Microsoft Teams चैनल webhook के माध्यम से संदेश प्राप्त करने के लिए तैयार है।
2. Python में बिजनेस लॉजिक लिखें
अब तक बहुत बढ़िया! Teams में Incoming Webhook कॉन्फ़िगर हो गया है, तो अब मज़ेदार हिस्सा: Python लिखना। हम अपने ‘बिजनेस लॉजिक’ के लिए Python कोड लिखने से शुरुआत करेंगे ताकि मौजूदा कार्य हल हो सके।
यदि आपको Python कोड लिखने पर फिर से ताज़गी की ज़रूरत है, हमारा Introduction to Python कोर्स शुरू करने के लिए बेहतरीन जगह है।
आप या तो शुरू से एक खाली वर्कबुक बनाएँ, जो उपयोगी है यदि आपको पहले से पता है कि आप कौन सा Python प्रोग्राम Microsoft Teams के साथ ऑटोमेट और इंटीग्रेट करना चाहते हैं।
यदि आप यहाँ अवधारणाएँ सीखने आए हैं, तो आप एक सैंपल वर्कबुक से शुरू कर सकते हैं जो आपके द्वारा चुने गए शहर के लिए मौसम पूर्वानुमान का सारांश बनाती है। हर दिन नया डेटा आता है, इसलिए यह दैनिक रिपोर्टिंग के लिए बढ़िया उम्मीदवार है! नीचे “Run Code” बटन पर क्लिक करके यह वर्कबुक बनाएँ।