> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/hi/blocks/blocks/notifications/slack-notification.md).

# स्लैक सूचना

स्लैक के माध्यम से सूचना भेजें।

गतिशील वर्कफ़्लो डेटा पैरामीटर, फ़ाइल अटैचमेंट, कैश-आधारित सत्र ट्रैकिंग का उपयोग करने वाली कूलडाउन थ्रॉटलिंग, और टीम अलर्ट, मॉनिटरिंग, तथा रीयल-टाइम संचार वर्कफ़्लोज़ के लिए वैकल्पिक async बैकग्राउंड निष्पादन के साथ अनुकूलन योग्य संदेश सामग्री सहित Slack चैनलों पर सूचनाएँ भेजें।

## यह ब्लॉक कैसे काम करता है

यह ब्लॉक Slack Web API का उपयोग करके Slack चैनलों पर सूचनाएँ भेजता है, और वर्कफ़्लो निष्पादन परिणामों को संदेश सामग्री में एकीकृत करता है। यह ब्लॉक:

1. जांचता है कि `disable_sink` फ़्लैग के माध्यम से सिंक अक्षम है या नहीं (यदि अक्षम है, तो बिना भेजे तुरंत लौटता है)
2. Slack टोकन हैश और `cooldown_session_key` (प्रत्येक वर्कफ़्लो चरण के लिए अद्वितीय)
3. कैश में अंतिम सूचना टाइमस्टैम्प की जाँच करके कूलडाउन अवधि को सत्यापित करता है (यदि सक्षम है, तो सूचनाओं को भीतर थ्रॉटल करता है `cooldown_seconds` पिछली भेजी गई सूचना का, थ्रॉटलिंग स्थिति लौटाते हुए)
4. प्रदान किए गए टोकन के लिए एक Slack WebClient instance बनाता या पुनः प्राप्त करता है (दक्षता के लिए क्लाइंट्स को टोकन हैश के अनुसार कैश करता है)
5. डायनेमिक पैरामीटरों को प्रोसेस करके संदेश को फ़ॉर्मैट करता है (जैसे प्लेसहोल्डर्स को प्रतिस्थापित करता है `{{ $parameters.parameter_name }}` को इससे प्राप्त वास्तविक वर्कफ़्लो डेटा से `message_parameters`)
6. सम्मिलन से पहले पैरामीटर मानों को परिवर्तित करने के लिए वैकल्पिक UQL ऑपरेशन लागू करता है (उदाहरण के लिए, डिटेक्शन से वर्ग नाम निकालना, मेट्रिक्स की गणना करना, डेटा फ़िल्टर करना) `message_parameters_operations`
7. निर्दिष्ट Slack चैनल पर सूचना भेजता है:
   * **अटैचमेंट्स के बिना**: उपयोग करता है `chat_postMessage` केवल-पाठ संदेश भेजने के लिए API
   * **अटैचमेंट्स के साथ**: उपयोग करता है `files_upload_v2` संदेश को प्रारंभिक टिप्पणी के रूप में उपयोग करके फ़ाइलें अपलोड करने के लिए API
8. कैश को वर्तमान सूचना टाइमस्टैम्प से अद्यतन करता है (15 मिनट बाद समाप्त हो जाता है)
9. इस पर आधारित होकर समकालिक या असमकालिक रूप से निष्पादित करता है `fire_and_forget` सेटिंग:
   * **समकालिक मोड** (`fire_and_forget=False`): Slack API कॉल पूर्ण होने तक प्रतीक्षा करता है, डिबगिंग के लिए वास्तविक त्रुटि स्थिति लौटाता है
   * **असमकालिक मोड** (`fire_and_forget=True`): सूचनाएँ बैकग्राउंड टास्क में भेजता है, वर्कफ़्लो तुरंत जारी रहता है, त्रुटि स्थिति हमेशा False
10. सफलता, थ्रॉटलिंग, या त्रुटियों को दर्शाने वाले स्थिति आउटपुट लौटाता है (उपलब्ध होने पर Slack API त्रुटि विवरण शामिल हैं)

ब्लॉक प्लेसहोल्डर पैरामीटरों के माध्यम से गतिशील संदेश सामग्री का समर्थन करता है, जिन्हें रनटाइम पर वर्कफ़्लो डेटा से बदला जाता है। संदेश पैरामीटर या तो कच्चे वर्कफ़्लो आउटपुट हो सकते हैं या UQL ऑपरेशनों का उपयोग करके रूपांतरित किए जा सकते हैं (जैसे, गुण निकालना, गणनाएँ करना, मान फ़िल्टर करना)। अटैचमेंट्स अन्य वर्कफ़्लो ब्लॉक्स से लिए जाते हैं जो स्ट्रिंग या बाइनरी सामग्री उत्पन्न करते हैं (जैसे, रिपोर्ट के लिए CSV Formatter, विज़ुअलाइज़ेशन के लिए इमेज आउटपुट)। कूलडाउन कैश-आधारित ट्रैकिंग के साथ सत्र कुंजियों का उपयोग करके भेजों के बीच न्यूनतम समय लागू करके सूचना स्पैम को रोकता है, जिससे वितरित या मल्टी-इंस्टेंस वातावरण में प्रति-चरण थ्रॉटलिंग सक्षम होती है।

## आवश्यकताएँ

**Slack API टोकन**: उपयुक्त अनुमतियों के साथ Slack API टोकन (Bot Token या User Token) की आवश्यकता होती है:

* टोकन में होना चाहिए `chat:write` चैनलों पर संदेश भेजने के लिए स्कोप
* टोकन में होना चाहिए `files:write` यदि अटैचमेंट्स का उपयोग कर रहे हों तो स्कोप
* टोकन वर्कफ़्लो इनपुट्स के माध्यम से दिया जा सकता है (सुरक्षा के लिए अनुशंसित) या वर्कफ़्लो परिभाषाओं में संग्रहीत किया जा सकता है
* देखें [Slack API दस्तावेज़ीकरण](https://api.slack.com/tutorials/tracks/getting-a-token) या [Roboflow ब्लॉग गाइड](https://blog.roboflow.com/slack-notification-workflows/) टोकन जनरेशन निर्देशों के लिए

**चैनल कॉन्फ़िगरेशन**: एक मान्य Slack चैनल पहचानकर्ता की आवश्यकता होती है (चैनल ID या चैनल नाम जो से शुरू होता है `#`). टोकन से संबद्ध बॉट या उपयोगकर्ता चैनल का सदस्य होना चाहिए.

**कूलडाउन सत्र कुंजी**: यह `cooldown_session_key` आपके वर्कफ़्लो में प्रत्येक Slack Notification चरण के लिए उचित प्रति-चरण कूलडाउन ट्रैकिंग सक्षम करने हेतु अद्वितीय होना चाहिए। कूलडाउन तंत्र 15-मिनट की समाप्ति समय के साथ कैश-आधारित स्टोरेज का उपयोग करता है, और कूलडाउन सेकंड 0 और 900 (15 मिनट) के बीच होने चाहिए।

## सामान्य उपयोग के मामले

* **टीम अलर्ट सूचनाएँ**: जब विशिष्ट स्थितियाँ पहचानी जाती हैं, तो टीम चैनलों पर Slack अलर्ट भेजें (जैसे, अनधिकृत वस्तुएँ मिलने पर सुरक्षा टीम को अलर्ट करें, विसंगति मिलने पर ऑपरेशंस को सूचित करें, डिटेक्शन गणना थ्रेशोल्ड से अधिक होने पर अलर्ट भेजें), जिससे रीयल-टाइम टीम सहयोग और घटना प्रतिक्रिया सक्षम होती है
* **वर्कफ़्लो निष्पादन अपडेट**: वर्कफ़्लो निष्पादन स्थिति और परिणामों के बारे में Slack सूचनाएँ भेजें (जैसे, बैच प्रोसेसिंग पूरी होने पर टीम को सूचित करें, दैनिक सारांश रिपोर्ट भेजें, वर्कफ़्लो विफलताओं के बारे में अलर्ट करें), जिससे स्वचालित प्रक्रियाओं पर टीम की दृश्यता सक्षम होती है
* **डिटेक्शन सारांश**: Slack संदेशों में डिटेक्शन परिणाम और समेकित आँकड़े भेजें (जैसे, डिटेक्ट की गई वस्तुओं की सूचियाँ साझा करें, गणनाएँ और वर्गीकरण भेजें, डिटेक्शन भरोसेमंदता सारांश शामिल करें), जिससे हितधारक टीम संचार चैनलों के माध्यम से वर्कफ़्लो आउटपुट से अवगत रह सकें
* **रिपोर्ट वितरण**: Slack के माध्यम से उत्पन्न रिपोर्ट और डेटा एक्सपोर्ट अपलोड और साझा करें (जैसे, CSV Formatter से CSV रिपोर्ट संलग्न करें, निर्यातित डिटेक्शन डेटा साझा करें, फ़ॉर्मैटेड एनालिटिक्स सारांश शामिल करें), जिससे टीम चैनलों के माध्यम से स्वचालित डेटा वितरण सक्षम होता है
* **रीयल-टाइम मॉनिटरिंग**: निरंतर मॉनिटरिंग अपडेट और स्थिति सूचनाएँ भेजें (जैसे, सिस्टम स्वास्थ्य समस्याओं के बारे में सूचित करें, आवधिक प्रदर्शन मेट्रिक्स भेजें, प्रोसेसिंग माइलस्टोन के बारे में अलर्ट करें), जिससे परिचालन मॉनिटरिंग के लिए रीयल-टाइम दृश्यता सक्षम होती है
* **बहु-चैनल प्रसारण**: वर्कफ़्लो स्थितियों या रूटिंग लॉजिक के आधार पर अलग-अलग Slack चैनलों पर सूचनाएँ भेजें (जैसे, डिटेक्शन प्रकार के अनुसार अलग-अलग चैनलों पर अलर्ट भेजें, गंभीरता स्तर के आधार पर सूचनाएँ रूट करें, विभाग-विशिष्ट चैनलों पर रिपोर्ट वितरित करें), जिससे लक्षित संचार और सूचना रूटिंग सक्षम होती है

## अन्य ब्लॉक्स से कनेक्ट करना

यह ब्लॉक वर्कफ़्लो चरणों से डेटा प्राप्त करता है और Slack सूचनाएँ भेजता है:

* **detection या analysis ब्लॉकों के बाद** (जैसे, Object Detection, Instance Segmentation, Classification) ताकि वस्तुएँ मिलने, वर्गीकरण होने, या थ्रेशोल्ड पार होने पर अलर्ट या सारांश भेजे जा सकें, जिससे रीयल-टाइम टीम सूचनाएँ और सहयोग सक्षम हो
* **डेटा प्रोसेसिंग ब्लॉकों के बाद** (जैसे, Expression, Property Definition, Detections Filter) ताकि गणना किए गए मेट्रिक्स, रूपांतरित डेटा, या फ़िल्टर किए गए परिणाम Slack सूचनाओं में शामिल किए जा सकें, जिससे टीम चैनलों में संसाधित डेटा के साथ अनुकूलित रिपोर्टिंग सक्षम हो
* **फ़ॉर्मेटर ब्लॉकों के बाद** (जैसे, CSV Formatter) ताकि स्वरूपित रिपोर्ट और एक्सपोर्ट Slack संदेशों के साथ संलग्न किए जा सकें, जिससे टीम संचार चैनलों के माध्यम से संरचित डेटा और एनालिटिक्स का स्वचालित वितरण सक्षम हो
* **सशर्त वर्कफ़्लोज़ में** (जैसे, Continue If) ताकि केवल विशिष्ट स्थितियाँ पूरी होने पर सूचनाएँ भेजी जाएँ, जिससे इवेंट-चालित अलर्टिंग और टीम संचार सक्षम हो
* **समेकन ब्लॉकों के बाद** (जैसे, Data Aggregator) ताकि आवधिक एनालिटिक्स सारांश और सांख्यिकीय रिपोर्ट Slack पर भेजी जा सकें, जिससे अनुसूचित टीम अपडेट और ट्रेंड विश्लेषण सक्षम हो
* **निगरानी वर्कफ़्लोज़ में** स्थिति अपडेट, त्रुटि सूचनाएँ, या स्वास्थ्य जाँच रिपोर्ट टीम चैनलों पर भेजने के लिए, जिससे Slack के माध्यम से स्वचालित सिस्टम मॉनिटरिंग और घटना प्रबंधन सक्षम हो

### प्रकार पहचानकर्ता

स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें `"type"` फ़ील्ड: `roboflow_core/slack_notification@v1` अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।

### गुण

| **नाम**                         | **प्रकार**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | **विवरण**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | संदर्भ |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
| `name`                          | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ❌      |
| `slack_token`                   | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | Slack API टोकन (Bot Token या User Token) Slack API के साथ प्रमाणीकरण के लिए। संदेश भेजने के लिए टोकन में 'chat:write' स्कोप होना चाहिए और यदि अटैचमेंट्स का उपयोग कर रहे हों तो 'files:write' स्कोप भी होना चाहिए। सुरक्षा के लिए टोकन को निजी चिह्नित किया गया है। वर्कफ़्लो परिभाषाओं में संग्रहीत करने के बजाय SECRET\_KIND चयनकर्ताओं का उपयोग करके वर्कफ़्लो इनपुट्स के माध्यम से प्रदान करना अनुशंसित है। टोकन Slack API ऐप्स या वर्कस्पेस प्रशासन के माध्यम से उत्पन्न करें। देखें [Slack API दस्तावेज़ीकरण](https://api.slack.com/tutorials/tracks/getting-a-token) या [Roboflow ब्लॉग गाइड](https://blog.roboflow.com/slack-notification-workflows/) स्थापना निर्देशों के लिए.. | ✅      |
| `channel`                       | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | Slack चैनल पहचानकर्ता जहाँ सूचना भेजी जाएगी। यह चैनल ID (उदा., 'C1234567890') या '#' से शुरू होने वाला चैनल नाम (उदा., '#alerts', '#general') हो सकता है। Slack टोकन से संबद्ध बॉट या उपयोगकर्ता चैनल का सदस्य होना चाहिए। चैनल नामों को Slack API द्वारा स्वचालित रूप से चैनल IDs में परिवर्तित किया जाता है..                                                                                                                                                                                                                                                                                                                                                                          | ✅      |
| `message`                       | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | Slack चैनल पर भेजी जाने वाली संदेश सामग्री (सादा पाठ)। प्लेसहोल्डर सिंटैक्स का उपयोग करके गतिशील पैरामीटरों का समर्थन करती है: `{{ $parameters.parameter_name }}`. प्लेसहोल्डर रनटाइम पर message\_parameters के मानों से बदले जाते हैं। संदेश बहु-पंक्ति पाठ हो सकता है। यदि अटैचमेंट्स दिए गए हैं, तो यह संदेश फ़ाइल अपलोड के साथ संलग्न प्रारंभिक टिप्पणी बन जाता है। उदाहरण: 'पता चला `{{ $parameters.num_objects }}` वस्तुएँ। वर्ग: `{{ $parameters.classes }}`.'.                                                                                                                                                                                                                   | ❌      |
| `message_parameters`            | `Dict[str, Union[bool, float, int, str]]`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | संदेश प्लेसहोल्डरों में उपयोग किए जाने वाले पैरामीटर नामों को वर्कफ़्लो डेटा स्रोतों के साथ मैप करने वाला शब्दकोश। कुंजियाँ संदेश में संदर्भित पैरामीटर नाम हैं जैसे `{{ $parameters.key }}`; मान वर्कफ़्लो चरण आउटपुट या प्रत्यक्ष मानों के चयनकर्ता हैं। इन मानों को रनटाइम पर संदेश प्लेसहोल्डरों में प्रतिस्थापित किया जाता है। वैकल्पिक रूप से, substitution से पहले पैरामीटर मानों को रूपांतरित करने के लिए message\_parameters\_operations का उपयोग किया जा सकता है..                                                                                                                                                                                                             | ✅      |
| `message_parameters_operations` | `Dict[str, List[Union[ClassificationPropertyExtract, ConvertDictionaryToJSON, ConvertImageToBase64, ConvertImageToJPEG, DetectionsFilter, DetectionsOffset, DetectionsPropertyExtract, DetectionsRename, DetectionsSelection, DetectionsShift, DetectionsToDictionary, Divide, ExtractDetectionProperty, ExtractFrameMetadata, ExtractImageProperty, LookupTable, Multiply, NumberRound, NumericSequenceAggregate, PickDetectionsByParentClass, RandomNumber, SequenceAggregate, SequenceApply, SequenceElementsCount, SequenceLength, SequenceMap, SortDetections, StringMatches, StringSubSequence, StringToLowerCase, StringToUpperCase, TimestampToISOFormat, ToBoolean, ToNumber, ToString]]]` | message\_parameters से पैरामीटर नामों को वैकल्पिक रूप से UQL ऑपरेशन चेन से मैप करने वाला वैकल्पिक शब्दकोश, जो उन्हें संदेश में सम्मिलित करने से पहले पैरामीटर मानों को रूपांतरित करता है। ऑपरेशन क्रम में लागू होते हैं (उदाहरण के लिए, डिटेक्शन से वर्ग नाम निकालना, गिनती की गणना करना, मान फ़िल्टर करना)। कुंजियाँ message\_parameters में पैरामीटर नामों से मेल खानी चाहिए। खाली छोड़ें या उन पैरामीटरों को छोड़ दें जिन्हें रूपांतरण की आवश्यकता नहीं है..                                                                                                                                                                                                                          | ❌      |
| `fire_and_forget`               | `bool`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | निष्पादन मोड: True असिंक्रोनस बैकग्राउंड भेजने के लिए (वर्कफ़्लो तुरंत जारी रहता है, error\_status हमेशा False, तेज़ निष्पादन), False सिंक्रोनस भेजने के लिए (Slack API कॉल पूर्ण होने तक प्रतीक्षा करता है, डिबगिंग के लिए वास्तविक त्रुटि स्थिति लौटाता है)। Slack API त्रुटियों को पकड़ने के लिए विकास और डिबगिंग के दौरान False पर सेट करें। सूचना डिलीवरी समय महत्वपूर्ण न होने पर तेज़ वर्कफ़्लो निष्पादन के लिए उत्पादन में True पर सेट करें..                                                                                                                                                                                                                                    | ✅      |
| `disable_sink`                  | `bool`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Slack सूचना भेजने को रनटाइम पर अक्षम करने के लिए फ़्लैग। जब True हो, ब्लॉक सूचना भेजना छोड़ देता है और एक निष्क्रिय संदेश लौटाता है। यह वर्कफ़्लो इनपुट्स के माध्यम से सशर्त सूचना नियंत्रण के लिए उपयोगी है (उदा., कॉल करने वालों को परीक्षण के लिए सूचनाएँ अक्षम करने देने हेतु, कॉन्फ़िगरेशन के आधार पर सक्षम/अक्षम करने हेतु)। रनटाइम नियंत्रण के लिए वर्कफ़्लो इनपुट्स के माध्यम से सेट करें..                                                                                                                                                                                                                                                                                      | ✅      |
| `cooldown_seconds`              | `int`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | लगातार Slack सूचनाओं के बीच न्यूनतम सेकंड ताकि सूचना स्पैम से बचा जा सके। डिफ़ॉल्ट 5 सेकंड। कूलडाउन अक्षम करने के लिए 0 पर सेट करें (कोई थ्रॉटलिंग नहीं)। 0 और 900 (15 मिनट) के बीच होना चाहिए। कूलडाउन अवधि के दौरान, ब्लॉक throttling\_status=True लौटाता है और भेजना छोड़ देता है। कूलडाउन को cooldown\_session\_key का उपयोग करके प्रति चरण कैश-आधारित स्टोरेज (15-मिनट की समाप्ति) के साथ ट्रैक किया जाता है। वर्कफ़्लो में प्रत्येक Slack Notification चरण के लिए उचित प्रति-चरण ट्रैकिंग हेतु एक अद्वितीय cooldown\_session\_key होना चाहिए..                                                                                                                                     | ✅      |
| `cooldown_session_key`          | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | इस Slack Notification चरण के कूलडाउन ट्रैकिंग सत्र के लिए अद्वितीय पहचानकर्ता। आपके वर्कफ़्लो में प्रत्येक Slack Notification चरण के लिए अद्वितीय होना चाहिए ताकि उचित प्रति-चरण कूलडाउन पृथक्करण सक्षम हो सके। अंतिम सूचना टाइमस्टैम्प को ट्रैक करने के लिए कैश कुंजी बनाने हेतु Slack टोकन हैश के साथ उपयोग किया जाता है। वितरित या मल्टी-इंस्टेंस वातावरण में, यह सुनिश्चित करता है कि कूलडाउन प्रत्येक चरण के लिए सही ढंग से काम करे। सामान्यतः स्वचालित रूप से उत्पन्न या वर्कफ़्लो इनपुट के रूप में प्रदान किया जाता है..                                                                                                                                                          | ❌      |

यह **संदर्भ** स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है `वर्कफ़्लो` रनटाइम। देखें *बाइंडिंग्स* अधिक जानकारी के लिए।

### रनटाइम संगतता

`requires_internet` - air-gapped / offline deployments : यह ब्लॉक ऐसी सेवा पर निर्भर करता है जो पूरी तरह ऑफ़लाइन / air-gapped deployments से पहुँचा नहीं जा सकता।

`सॉफ्ट` - रनटाइम `hosted_serverless`, `dedicated_deployment`; निष्पादन `दूरस्थ` : Cooldown / rate-limit timer process memory में संग्रहीत होता है। stateless या multi-replica HTTP runtimes पर remote step execution के साथ प्रत्येक अनुरोध को एक नया worker मिलता है, इसलिए cooldown throttling नहीं करता। Cooldown केवल persistent WebRTC session में local step execution के साथ दस्तावेज़ के अनुसार काम करता है।

### इनपुट और आउटपुट बाइंडिंग्स

उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार `Slack सूचना` संस्करण `v1` है।

<details>

<summary>इनपुट और आउटपुट बाइंडिंग्स</summary>

* इनपुट
  * `slack_token` (*Union\[*[*`secret`*](/workflows/hi/developer-guide/developer-guide/kinds/secret.md)*,* [*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)*]*): Slack API टोकन (Bot Token या User Token) Slack API के साथ प्रमाणीकरण के लिए। संदेश भेजने के लिए टोकन में 'chat:write' स्कोप होना चाहिए और यदि अटैचमेंट्स का उपयोग कर रहे हों तो 'files:write' स्कोप भी होना चाहिए। सुरक्षा के लिए टोकन को निजी चिह्नित किया गया है। वर्कफ़्लो परिभाषाओं में संग्रहीत करने के बजाय SECRET\_KIND चयनकर्ताओं का उपयोग करके वर्कफ़्लो इनपुट्स के माध्यम से प्रदान करना अनुशंसित है। टोकन Slack API ऐप्स या वर्कस्पेस प्रशासन के माध्यम से उत्पन्न करें। देखें [Slack API दस्तावेज़ीकरण](https://api.slack.com/tutorials/tracks/getting-a-token) या [Roboflow ब्लॉग गाइड](https://blog.roboflow.com/slack-notification-workflows/) स्थापना निर्देशों के लिए..
  * `channel` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): Slack चैनल पहचानकर्ता जहाँ सूचना भेजी जाएगी। यह चैनल ID (उदा., 'C1234567890') या '#' से शुरू होने वाला चैनल नाम (उदा., '#alerts', '#general') हो सकता है। Slack टोकन से संबद्ध बॉट या उपयोगकर्ता चैनल का सदस्य होना चाहिए। चैनल नामों को Slack API द्वारा स्वचालित रूप से चैनल IDs में परिवर्तित किया जाता है..
  * `message_parameters` ([*`*`*](/workflows/hi/developer-guide/developer-guide/kinds/wildcard.md)): संदेश प्लेसहोल्डरों में उपयोग किए जाने वाले पैरामीटर नामों को वर्कफ़्लो डेटा स्रोतों के साथ मैप करने वाला शब्दकोश। कुंजियाँ संदेश में संदर्भित पैरामीटर नाम हैं जैसे `{{ $parameters.key }}`; मान वर्कफ़्लो चरण आउटपुट या प्रत्यक्ष मानों के चयनकर्ता हैं। इन मानों को रनटाइम पर संदेश प्लेसहोल्डरों में प्रतिस्थापित किया जाता है। वैकल्पिक रूप से, substitution से पहले पैरामीटर मानों को रूपांतरित करने के लिए message\_parameters\_operations का उपयोग किया जा सकता है..
  * `attachments` (*Union\[*[*`bytes`*](/workflows/hi/developer-guide/developer-guide/kinds/bytes.md)*,* [*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)*]*): वैकल्पिक डिक्शनरी जो अटैचमेंट फ़ाइलनामों को वर्कफ़्लो चरण आउटपुट्स से मैप करती है जो फ़ाइल सामग्री प्रदान करते हैं। कुंजियाँ अटैचमेंट फ़ाइलनाम हैं (उदा., 'report.csv', 'image.jpg'), मान उन ब्लॉक्स के चयनकर्ता हैं जो सादा या बाइनरी सामग्री आउटपुट करते हैं (उदा., CSV Formatter आउटपुट, इमेज डेटा, उत्पन्न रिपोर्ट)। फ़ाइलें files\_upload\_v2 API का उपयोग करके Slack पर अपलोड की जाती हैं, और संदेश प्रारंभिक टिप्पणी बन जाता है। यदि अटैचमेंट्स की आवश्यकता न हो तो खाली छोड़ें। Slack टोकन पर 'files:write' स्कोप की आवश्यकता है..
  * `fire_and_forget` ([*`boolean`*](/workflows/hi/developer-guide/developer-guide/kinds/boolean.md)): निष्पादन मोड: True असिंक्रोनस बैकग्राउंड भेजने के लिए (वर्कफ़्लो तुरंत जारी रहता है, error\_status हमेशा False, तेज़ निष्पादन), False सिंक्रोनस भेजने के लिए (Slack API कॉल पूर्ण होने तक प्रतीक्षा करता है, डिबगिंग के लिए वास्तविक त्रुटि स्थिति लौटाता है)। Slack API त्रुटियों को पकड़ने के लिए विकास और डिबगिंग के दौरान False पर सेट करें। सूचना डिलीवरी समय महत्वपूर्ण न होने पर तेज़ वर्कफ़्लो निष्पादन के लिए उत्पादन में True पर सेट करें..
  * `disable_sink` ([*`boolean`*](/workflows/hi/developer-guide/developer-guide/kinds/boolean.md)): Slack सूचना भेजने को रनटाइम पर अक्षम करने के लिए फ़्लैग। जब True हो, ब्लॉक सूचना भेजना छोड़ देता है और एक निष्क्रिय संदेश लौटाता है। यह वर्कफ़्लो इनपुट्स के माध्यम से सशर्त सूचना नियंत्रण के लिए उपयोगी है (उदा., कॉल करने वालों को परीक्षण के लिए सूचनाएँ अक्षम करने देने हेतु, कॉन्फ़िगरेशन के आधार पर सक्षम/अक्षम करने हेतु)। रनटाइम नियंत्रण के लिए वर्कफ़्लो इनपुट्स के माध्यम से सेट करें..
  * `cooldown_seconds` ([*`पूर्णांक`*](/workflows/hi/developer-guide/developer-guide/kinds/integer.md)): लगातार Slack सूचनाओं के बीच न्यूनतम सेकंड ताकि सूचना स्पैम से बचा जा सके। डिफ़ॉल्ट 5 सेकंड। कूलडाउन अक्षम करने के लिए 0 पर सेट करें (कोई थ्रॉटलिंग नहीं)। 0 और 900 (15 मिनट) के बीच होना चाहिए। कूलडाउन अवधि के दौरान, ब्लॉक throttling\_status=True लौटाता है और भेजना छोड़ देता है। कूलडाउन को cooldown\_session\_key का उपयोग करके प्रति चरण कैश-आधारित स्टोरेज (15-मिनट की समाप्ति) के साथ ट्रैक किया जाता है। वर्कफ़्लो में प्रत्येक Slack Notification चरण के लिए उचित प्रति-चरण ट्रैकिंग हेतु एक अद्वितीय cooldown\_session\_key होना चाहिए..
* आउटपुट
  * `error_status` ([`boolean`](/workflows/hi/developer-guide/developer-guide/kinds/boolean.md)): बूलियन फ़्लैग.
  * `throttling_status` ([`boolean`](/workflows/hi/developer-guide/developer-guide/kinds/boolean.md)): बूलियन फ़्लैग.
  * `message` ([`string`](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): स्ट्रिंग मान.

</details>

<details>

<summary>उदाहरण JSON परिभाषा</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/slack_notification@v1",
	    "slack_token": "$inputs.slack_token",
	    "channel": "$inputs.slack_channel_id",
	    "message": "पिछले 5 मिनट के दौरान {{ $parameters.num_instances }} उदाहरणों का पता चला",
	    "message_parameters": {
	        "predictions": "$steps.model.predictions",
	        "reference": "$inputs.reference_class_names"
	    },
	    "message_parameters_operations": {
	        "predictions": [
	            {
	                "property_name": "class_name",
	                "type": "DetectionsPropertyExtract"
	            }
	        ]
	    },
	    "attachments": {
	        "report.csv": "$steps.csv_formatter.csv_content"
	    },
	    "fire_and_forget": "$inputs.fire_and_forget",
	    "disable_sink": false,
	    "cooldown_seconds": "$inputs.cooldown_seconds",
	    "cooldown_session_key": "session-1v73kdhfse"
	}
```

</details>
