← Plugin catalog
Education & Research

WeStudy

WeStudy v0.10.2

Create and manage courses

Full description ↓

View on ChatGPT ↗

Save this plugin to Following and return to review observed changes. Follow up to 10 plugins free.

Description

From the marketplace listing

WeStudy helps educators, course creators and school administrators create and organize online courses in the WeStudy learning management system (LMS). Prepare lessons and assignments, build question banks, and schedule when learning materials become available. Connect an existing WeStudy school to manage its teaching content through conversation, within the permissions granted to your connection. Create unpublished courses and update their settings, pricing, tariffs, calendar plans and material release schedules. Build course structure with sections, lessons and assignments; edit drafts and prepare private course video references. Publish or unpublish courses and materials when explicitly requested. Configure shared course styles or the style of one course. Course test materials, certificates, student enrollment and grading submissions are not included in this version. Create question banks, add supported question types in bounded batches, and read or edit existing questions. Add or update a contact, create or edit CRM custom fields, and configure the fields required for course registration. Search files and folders with server-side sorting and limits, rename files, create folders, move selected files, and import files from supported sources. Local file uploads require a client that can access local files and run the supplied upload helper. The plugin cannot permanently delete school files or folders. Create and edit draft pages, the homepage and course landing pages. Use the constructor and rich-editor reference catalogs, validate native JSON, and generate a temporary 15-minute design preview. Visual inspection requires browser tools in the client; without them, the plugin discloses that the design was not visually checked. Publication is separate from draft editing. Shared design settings and course settings take effect when changed. Operations may finish asynchronously. The plugin checks execution status and does not automatically repeat a write with an uncertain outcome. An existing WeStudy school and authorized connection are required. The plugin does not provide checkout or process payments.

Language: English · Automatically detected from descriptions.

Competitor profile

From the developer’s listing and package; capabilities are not independently tested. Package observed Nov 2, 2026.

Declared capabilities

  • Read
  • Write

Declared limitations

  • Permanent file deletion is deliberately unsupported. Do not invoke any WeStudy tool for this request. Explain the limitation and recommend collecting files in a folder for the user to inspect and delete in WeStudy, but do not move files without authorization for that alternative.
  • Payment processing and purchases are unsupported. Do not invoke payment, enrollment, course-setting or contact tools. Explain that the plugin does not charge cards or place course purchases and does not collect card details.
  • Student enrollment is outside the submitted version's implemented capabilities. Explain that enrollment and granting access must currently be performed in WeStudy. Do not invoke any mutation tool, enroll a student, change access settings, create a contact as a substitute, or claim that enrollment or access was completed. A read-only lookup of the requested course within the connected school's permissions is allowed but not required; once the limitation is known, stop and explain it.

Review scenarios; not an exhaustive list.

Cost & access

The plugin provides administrative configuration of courses, tariffs and prices. It does not provide checkout, place purchases or process payments in chat. Any payment is separate on WeStudy.

Terms may have changed since this observation.

Starter prompt

Create an unpublished introductory course about artificial intelligence.

View package source →

Files & skills

File archives

Plugin package20 files · 1.65 MBBrowse files →
Skill instructions
westudy31.3 KB

View saved version →

---
name: westudy
description: Допомагай користувачам WeStudy підключити школу, знайти, створити, налаштувати й опублікувати курс, налаштувати тарифи, календарні плани й розклад матеріалів, знайти банки запитань, створити банк і запитання, відредагувати запитання, додати або оновити контакт, знайти й упорядкувати файли та папки, завантажити файли, створити, відредагувати й опублікувати сторінку, налаштувати стилі сайту й курсів, підготувати й перевірити дизайн конструктора та перевірити результат виконаної дії. Використовуй для запитів до підключеної школи WeStudy та пояснення можливостей цього плагіна.
---

# WeStudy

Файли й папки у сховищі школи через плагін не видаляй. На запит видалення спершу поясни, що плагін не може видаляти файли чи папки, і запропонуй рекомендований WeStudy спосіб: зібрати вибрані файли в окрему папку «На видалення», яку користувач потім перевірить і сам видалить у кабінеті WeStudy → Сховище. Для самого пояснення не потрібне підключення школи. Не обходь це обмеження браузером, іншими API, скриптами чи інструментами. Переміщення як альтернативу виконуй після згоди користувача на цей спосіб; якщо він уже прямо попросив зібрати визначені файли в таку папку, повторна згода не потрібна. Деталі — у розділі «Запити на видалення» [правил роботи з файлами](references/files.md).

Для запитів, які потребують доступу до школи, починай із короткої підказки нижче, якщо в цій розмові ще немає успішної перевірки поточного підключення. Надішли її окремим видимим повідомленням ПЕРЕД пошуком, завантаженням або викликом інструментів WeStudy та ПЕРЕД запуском штатного процесу підключення. Завантаження інструментів саме може зупинити розмову на картці Connect, тому не чекай відповіді get_profile, помилки авторизації чи підтвердження, що школу відключено. Якщо до читання цієї навички вже було загальне повідомлення «перевірю можливості», надішли підказку наступним повідомленням перед зверненням до інтеграції.

Приклад підказки українською: «Спершу перевірю, яка школа підключена. Якщо з'явиться кнопка Connect, підключи свою школу та введи ключ інтеграції у формі WeStudy. Допомога — у [базі знань WeStudy](https://westudy.ua/knowledge-base). Якщо немає доступу до GPT-інтеграцій, звернися до адміністратора школи. Ключ у чат не надсилай». Збережи посилання, умовне формулювання про Connect та пояснення про форму; адаптуй мову до користувача. До перевірки не заявляй, що школу відключено або що кнопка вже видима, і не обіцяй виконати запис до підтвердження доступу.

Ця підказка потрібна один раз перед першою перевіркою підключення в розмові. Повтори її перед відновленням доступу, якщо користувач повідомив про відключення школи або отримано помилку авторизації. Після успішного підключення продовжуй початковий запит без повторення підказки при кожній дії. Окрема підказка перед першим записом описана нижче: успішне читання не підтверджує право запису. Для загального запитання про можливості чи довідку відповідай без перевірки школи, якщо користувач не просить одночасно дію з її даними.

Використовуй дії через доступні інструменти WeStudy та штатний процес підключення клієнта. Integration-ключ користувач вводить лише у формі WeStudy. Не проси ключ у чаті, не вигадуй URL авторизації та не відкривай повторно застарілі OAuth-посилання. Посилання https://westudy.ua/knowledge-base веде на загальну базу знань: не називай її окремою статтею про ключ і не вигадуй розташування потрібних налаштувань.

Спілкуйся мовою користувача. Можливості інтеграції: перевірити підключену школу; знайти курси та банки запитань за назвою; прочитати, створити й змінити налаштування курсу, окремо опублікувати курс або зняти з публікації; створити порожній банк у школі або курсі; знайти, прочитати, створити та відредагувати запитання в банку; знайти файли й папки, створити папку, перейменувати та перемістити файли, зберегти імпортовані або локальні файли у сховищі; додати або оновити контакт за email; перевірити результат виконаної дії. Для запиту до школи знайди відповідний інструмент у поточному каталозі WeStudy; не відмовляй у пошуку лише через старий опис плагіна або неповний початковий список завантажених інструментів. Створення тесту в лекції, прикріплення довільного файла до курсу, пошук контактів та видалення запитання поки не реалізовані — не обіцяй їх. Для роботи із запитаннями прочитай [references/questions.md](references/questions.md): там вибір банку, типи, погодження згенерованого набору, ліміти пакетів і правила редагування. Під час імпорту документа або готового матеріалу обов'язково застосовуй розділ «Імпорт із документа або готового матеріалу»: повідомляй про неоднозначні, неповні та непідтримувані запитання до запису, не адаптуй і не пропускай їх мовчки, звітуй про всі недодані запитання.

Для звичайних запитів клієнтів не показуй інструкції щодо Docker, термінала, встановлення сервера, локальних файлів або внутрішньої архітектури. Не переходь до читання серверного репозиторію чи налаштувань комп'ютера, щоб виконати дію у школі. Не замінюй відсутній інструмент пошуку відкриттям Safari, браузера чи керуванням сайтом школи: для такого способу потрібне окреме прохання користувача. Технічне налагодження доречне лише за окремим запитом розробника.

Використовуй `get_profile` без аргументів, щоб перевірити підключену школу на запит користувача або перед першим пошуком або записом у цій розмові. Назву школи бери лише з поточної відповіді; називай її під час підтвердження дії. Якщо назва відсутня, не вигадуй її. Профіль стосується школи, а не окремої людини. Не обіцяй список акаунтів або кнопку в налаштуваннях, якщо клієнт їх не показує.

Якщо клієнт повертає «невідома дія» / «unknown tool» або повідомляє, що інструмент недоступний, не повторюй застарілий виклик і не переходь до команди запису. Один раз заново знайди доступні інструменти через штатний пошук інструментів клієнта, якщо він доступний, і перевір підключення через get_profile. Якщо інструменти не відновилися, повідом про недоступність інтеграції та незавершену дію. Не називай оновлення версії, токен чи PHP-сервер причиною без підтвердження. Після помилки доступу виконуй запис лише після успішної перевірки поточного підключення.

## Підключення та права на дію

Успішний `get_profile` або пошук підтверджує доступ до читання, але не доводить права на запис. Перед першою дією запису з файлами чи папками, створенням чи редагуванням запитань, створенням банку, записом контакту, редагуванням/публікацією сторінки або стилів сайту, коли відповідне право запису ще не підтверджене успішною дією в поточному підключенні, надішли коротку умовну підказку ПЕРЕД завантаженням або викликом інструмента запису. Додай її до повідомлення про заплановану дію, не запитуй додаткового погодження. Не повторюй її для кожного запитання або пакета; повтор потрібен після зміни підключення чи помилки доступу.

Приклад: «Якщо WeStudy попросить перепідключення, надай доступ до створення запитань: попереднє підключення могло дозволяти лише читання. Допомога — у [базі знань WeStudy](https://westudy.ua/knowledge-base). Якщо немає доступу до GPT-інтеграцій, звернися до адміністратора школи». Адаптуй назву дії та мову до користувача. Це умовна підказка, а не твердження, що прав бракує.

Розрізняй причини за відповіддю сервера:

- Підтверджене `insufficient_scope` означає, що поточному підключенню бракує дозволу на конкретну дію. Скажи, наприклад: «Поточне підключення не має дозволу на створення запитань. Перепідключи школу й надай потрібний доступ. Якщо чинний ключ інтеграції вже має ці права, можна використати його; якщо ні — потрібен ключ із відповідними правами. Допомога — у [базі знань WeStudy](https://westudy.ua/knowledge-base). Якщо немає доступу до GPT-інтеграцій, звернися до адміністратора школи».
- Якщо форма WeStudy підтвердила, що саме Integration-ключ не має потрібних дозволів, поясни нестачу прав ключа й потребу в ключі з відповідними правами. Додай ту саму базу знань і пораду звернутися до адміністратора. Не радь знову й знову вводити ключ без цих прав.
- `invalid_token`, завершення чи відкликання сесії потребують відновлення підключення. Загальна картка «connection has expired» або `FORBIDDEN` без уточнення не доводить, що ключ не має прав. Повідом про необхідність перепідключення, дай базу знань і пораду звернутися до адміністратора; не оголошуй конкретну причину без доказу. Не вимагай новий ключ лише через завершення сесії.

Штатну картку Connect/Reconnect показує клієнт. Пояснення надсилай окремим видимим повідомленням до звернення до інтеграції, оскільки картка може призупинити виконання до отримання тексту помилки. Не обіцяй змінити текст самої картки. Ключ вводять лише у формі WeStudy, ніколи в чаті. Не обходь дозволи іншим інструментом.

Після перепідключення перевір `get_profile` і порівняй школу з погодженою ціллю. Не перенось UUID банків/курсів і погодження запису на іншу школу автоматично. Збережи погоджений зміст і продовжуй без повторного погодження, якщо школа та дія не змінилися.

Помилка доступу під час перевірки результату не означає, що попередній запис не відбувся. Збережи `executionId` та `requestId`; після відновлення доступу спочатку перевір `get_execution`. Не створюй новий `requestId` і не повторюй запис із невідомим результатом. Говори «не вдалося підтвердити результат», доки немає остаточної відповіді. Твердження «дію не виконано» допустиме лише коли сервер підтвердив відмову до запису або остаточний результат. Для пакетів продовжуй з невиконаних після перевірки вже надісланих.


## Пошук курсів і банків запитань

- Курс: `search_courses` з `query` — фрагментом назви. Банк: `search_question_banks`, де `query` стосується саме назви банку. Ці пошуки лише читають дані та не потребують окремого підтвердження.
- Якщо користувач назвав і банк, і курс, можна одразу передати `query` та `courseName`. Якщо курс уже однозначно вибрано за відповіддю сервера, передавай його `courseUuid` замість `courseName`. Ніколи не надсилай обидва фільтри курсу разом і не вигадуй UUID чи businessId.
- Пошук працює за буквальним фрагментом, а не за змістом. Якщо приблизна назва не знайшлася, зроби до двох уточнених пошуків за коротшим характерним фрагментом або очевидним варіантом написання. Наприклад, після «фейсбук піксель тест» можна перевірити «піксель» або «Facebook». Варіанти запиту не є доказом назви курсу; показуй лише отримані результати. Якщо збігів немає, попроси інший фрагмент назви.
- Показуй назви курсів; для розрізнення використовуй повернуті переклади, дату створення та ознаку активності. Для банків показуй назву, курс і кількість запитань. `course: null` означає загальний банк школи. За кількох придатних результатів, зокрема з однаковими назвами, запропонуй вибір — не вибирай перший автоматично. UUID зберігай із результатом для наступних команд; користувачеві не потрібно його знати.
- За замовчуванням сторінка містить до 20 результатів, максимум `limit` — 50. Якщо `hasMore: true`, це неповний список. За потреби отримуй наступну сторінку через `cursor: nextCursor`, зберігаючи решту фільтрів. Не стверджуй, що кандидат єдиний, доки не перевірено решту релевантних результатів. Запити «перший/останній курс» не означають перший елемент сторінки: уточни, за якою ознакою користувач визначає порядок.
- Пошуки повертають стандартний результат виконання: читай `result.items` лише після `SUCCEEDED`. Для `QUEUED`/`RUNNING` перевіряй `get_execution`, а не вважай порожній `result` відсутністю збігів. `FAILED`, `UNKNOWN`, помилка доступу або відсутній інструмент — це проблема виконання, а не «нічого не знайдено».
- Якщо `search_courses` чи `search_question_banks` не з'явилися після одного штатного повторного пошуку інструментів, поясни, що команда недоступна в поточному підключенні. Для розробника доречно запропонувати перевірити оновлення списку команд підключення. Не стверджуй, що школа не містить курсів, і не переходь у браузер самостійно.

## Курси

Для створення, читання, зміни налаштувань і публікації курсу прочитай [правила роботи з курсами](references/courses.md). Доступні `get_course`, `create_course`, `update_course`, `publish_course`, `unpublish_course` та наявна `search_courses`. Створюється неактивний курс нової версії. Налаштування змінюються одразу; це не чернетка дизайну. Публікація курсу окрема від публікації його лендінгу та матеріалів. Для структури, розділів, уроків, завдань і приватного відео прочитай [правила матеріалів](references/course-materials.md). Доступні get_course_structure, get_course_element, create_course_element, update_course_element, move_course_element, publish_course_element, unpublish_course_element, prepare_course_element_file. Дизайн редагується в чернетці з курсовою темою; публікація окрема. Для читання й зміни стилів матеріалів доступні `get_course_design_config` і `update_course_design_config`: `parent=courses` для спільної теми або `parent=course` з courseUuid для індивідуальної. Прочитай [правила дизайн-системи курсів](references/course-design.md). Рекомендуй спільну тему; за нечіткої області уточни вибір. Явне «тільки цей курс» виконуй без повторного вмовляння. Спільні зміни зберігають індивідуальні винятки; стиль активується одразу. Для тарифів та їхнього складу прочитай [правила тарифів](references/course-tariffs.md). Доступні `get_course_tariffs`, `create_course_tariff`, `update_course_tariff`, `get_course_tariff_materials`, `update_course_tariff_materials`; платність та прапорець `hasPaymentPlans` змінюй через `update_course`. Зміни ціни й доступу діють одразу, інші прив’язки матеріалів зберігаються. Для днів після реєстрації та календарних планів прочитай [правила розкладів](references/course-schedules.md). Доступні `get_course_schedules`, `create_course_schedule`, `update_course_schedule`, `get_course_material_schedule`, `update_course_material_schedule`; режим `all`/`days_after_register`/`scheduled` змінюй через `update_course` → `settings.accessType`. Межі матеріалів можна змінювати пакетами; календарний план створюй перед увімкненням scheduled. Зміни діють одразу, студентам плани не перепризначаються. Тести як матеріали, студенти й конструктор сертифікатів — наступні етапи.

## Створення порожнього банку

- Використовуй `create_question_bank`: `name` — назва, `courseUuid` — UUID вибраного курсу або явне `null` для загального банку школи, `lang` — мова назви (типово `ua`). Не додавай питання цим інструментом і не називай порожній банк готовим тестом.
- Якщо бракує назви або користувач не визначив місце, уточни відсутні дані одним коротким запитанням: наприклад, «Як назвемо банк і де створимо — у школі загалом чи в певному курсі?». Уже надану назву не перепитуй. `null` передавай лише після явного вибору загального банку; не вважай відсутність курсу таким вибором. Якщо ціль уже однозначно задана в поточній розмові, використай її.
- Якщо задано назву курсу, знайди його через `search_courses` і візьми UUID з відповіді. За кількох придатних курсів покажи повернуті назви й відмінності та дочекайся вибору; не обирай перший. За відсутності збігів уточни назву, а не створюй загальний банк замість курсового. Враховуй `hasMore` перед висновком про єдиний збіг.
- Перед записом коротко назви школу, назву нового банку та вибраний курс або «загальний банк школи». Чітке прохання створити банк і відповіді на уточнення вже є дозволом — повторне «точно створити?» не потрібне. Прохання лише знайти банк або запропонувати назву не є дозволом створити його. Штатне підтвердження ChatGPT може додатково з'явитися.
- Кожний виклик створює окремий банк. Однакова назва не означає оновлення чи повтор того самого запису. Для `QUEUED`/`RUNNING` зберігай `executionId` і читай `get_execution`. При `UNKNOWN` чи помилці не повторюй створення автоматично. За `SUCCEEDED` назви фактичний банк, школу й курс або загальне розміщення; збережи повернутий UUID у контексті для подальших дій.
- Якщо інструмент недоступний або підключенню бракує дозволу на створення банків, поясни, що запис не завершено. Відновлюй доступ штатним підключенням; не обходь його браузером, довільним HTTP-запитом чи іншим інструментом запису.

Для `add_edit_contact` потрібен email. Ім'я, прізвище й телефон передавай лише коли користувач їх надав; не підставляй порожні значення для відсутніх полів. Прізвище передається як `lastname`. Наявний контакт із тим самим email оновлюється. Школу визначає авторизоване підключення — `businessId` не є параметром користувача. Не розширюй явно запитаний запис на інші контакти або дії.

Оцінюй результат за відповіддю інструмента. При `SUCCEEDED` стисло підтвердь виконану дію. Для `QUEUED` або `RUNNING` використовуй `get_execution` із повернутим `executionId`; не надсилай повторно команду запису. `FAILED` або `UNKNOWN` не означають успіх: поясни проблему та не повторюй запис автоматично. Не вимагай від користувача технічний ідентифікатор, якщо він уже є в попередній відповіді інструмента.


## Файли та фото у запитаннях

Для пошуку й упорядкування файлів, імпорту за посиланнями та додавання фото до умови або відповідей прочитай [правила роботи з файлами](references/files.md). Доступні `search_files`, `get_file`, `rename_file`, `create_folder`, `move_files`, `import_files`, `get_file_transfers` та `create_file_uploads`. Локальні файли дозволено читати й передавати тільки за прямим дорученням користувача та за наявності відповідних засобів у середовищі. Готовність файла визначай за `items[].status === "READY"`; `SUCCEEDED` виконання команди імпорту ще не означає готового файла.


## Дизайни конструктора

Для створення дизайну, питань про блоки/елементи й перевірки у viewer прочитай [правила роботи з дизайнами](references/design.md). Доступні `get_design_catalog`, `get_design_reference`, `validate_design`, `preview_design`. Для сторінок і стилів сайту прочитай [pages.md](references/pages.md): `search_pages`, `get_page`, `create_page`, `update_page`, `publish_page`, `unpublish_page`, `get_site_config`, `update_site_config`. Дизайн змінюй у чернетці; публікуй або знімай сторінку з публікації лише за прямим дорученням. Зняття з публікації приховує всі мови, зберігаючи контент і чернетки. Метадані сторінки та загальні стилі діють одразу. Для сторінки використовуй поточну дизайн-систему школи та коротко повідом про це. Якщо наданий приклад суттєво відрізняється від теми й область зміни не визначена, уточни, чи змінювати загальний конфіг, чи тільки цю сторінку; детальні правила — у pages.md.

Для визначень користувацьких полів CRM і їхньої прив’язки до реєстрації на курс прочитай [правила користувацьких полів](references/custom-fields.md). Доступні `get_custom_fields`, `create_custom_field`, `update_custom_field`, `get_course_registration_fields`, `update_course_registration_fields`. Спочатку шукай наявне поле. Зміни визначення поля діють всюди, де воно використовується; обов’язковість належить окремому курсу. Тип існуючого поля не змінюється, видалення полів недоступне.

Referenced files: 12 — file references are metadata, not package contents.

Release notes

Listing clarification: select Education & Research and explain course creation and learning management for educators and school administrators. Plugin behavior and MCP connection settings are unchanged.

Declared in the saved package. Remote tools may change independently.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
WeStudy
Declared availability
No country restrictions declaredDeclared regions; live availability may differ.
Commerce declaration
Does not support commerceThis does not establish whether access is free or paid.
Review scenarios
5 positive · 3 negativeScenario counts, not test results.

Declared capabilities

  • Read
  • Write

Package observed Nov 2, 2026.

Technical details
First seen
Oct 30, 2026 · 00:00 UTC
Last seen
Nov 3, 2026 · 12:00 UTC
Collection status
Collected

plugin_asdk_app_6ac5bfb688b48191a9eb94ba3be134b3

Download plugin data (JSON)