22sunje22-sys/push-calls

Process call transcripts: extract action items, assign to department heads, create entries in Push Buildin (calls log + tasks tracker) and log to Supabase.

Compatible con~Claude Code~Codex CLI~Cursor
npx add-skill 22sunje22-sys/push-calls

name: post-call description: "Process call transcripts: extract action items, assign to department heads, create entries in Push Buildin (calls log + tasks tracker) and log to Supabase. Use when user pastes a call transcript and wants to extract tasks. Trigger phrases: 'разбери звонок', 'пост-колл', 'post-call', 'задачи из звонка', 'обработай транскрипт', or when user pastes a large block of text that looks like a meeting transcript." user-invocable: true

/post-call — Обработка транскриптов звонков

Токены (хардкод)

Push Buildin token:  vMU8aYxPH9B1DhjDStRRfZNWrmYJWefP2TFH4k2C
Buildin base URL:    https://api.buildin.ai/v1
Supabase URL:        https://zffhjnbpbjknclrbcujs.supabase.co
Supabase anon key:   eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InpmZmhqbmJwYmprbmNscmJjdWpzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTExMzIwMTIsImV4cCI6MjA2NjcwODAxMn0.bWXoX_8q89lEFlMCDZ1I2iwUL1CTsU8LNCCn3nO3E3Y

Базы Buildin (живые справочники — читай перед каждым звонком)

БазаDB IDСсылка
PUSH MINUTKI (страница)0bc28d48-749b-42f5-85f6-db89fbc9002dhttps://buildin.ai/0bc28d48-749b-42f5-85f6-db89fbc9002d
Ответственныеaa20294d-66d1-4a2e-ba16-1c27dc954ba0
Типы звонков9bc18952-3b94-4e76-af68-e27a8a66915e
Лог звонков0cb45851-65b1-4bd0-875b-6d598cc2d728
Задачи по звонкам497c3ec8-08fa-4996-a88c-ed07b884285a

Флоу

Шаг 0: Загрузи справочники из Buildin

Перед обработкой транскрипта загрузи актуальные данные.

Ответственные:

curl -s -X POST "https://api.buildin.ai/v1/databases/aa20294d-66d1-4a2e-ba16-1c27dc954ba0/query" \
  -H "Authorization: Bearer vMU8aYxPH9B1DhjDStRRfZNWrmYJWefP2TFH4k2C" \
  -H "Content-Type: application/json" \
  -d '{"filter": {"property": "Активен", "select": {"equals": "Да"}}}'

Из ответа: results[].properties.Имя.title[0].text.content и results[].properties.Отдел.select.name

Типы звонков:

curl -s -X POST "https://api.buildin.ai/v1/databases/9bc18952-3b94-4e76-af68-e27a8a66915e/query" \
  -H "Authorization: Bearer vMU8aYxPH9B1DhjDStRRfZNWrmYJWefP2TFH4k2C" \
  -H "Content-Type: application/json" \
  -d '{}'

Из ответа: results[].properties.Название.title[0].text.content

Шаг 1: Онбординг — спроси контекст

📞 Контекст звонка:
1. Что это был за звонок? (тема / тип из справочника)
2. С кем? (имена / отдел)

Если тип звонка не в списке → добавь в базу Типы звонков (см. ниже).

Шаг 2: Анализ транскрипта

Извлеки все задачи. Для каждой:

  • Задача — чёткая формулировка, повелительное наклонение
  • Отдел — из базы Ответственные
  • Ответственный — из базы Ответственные; если новый — добавь (см. ниже)
  • Дедлайн:
    • Явный → конвертируй в YYYY-MM-DD
    • "к следующей встрече" / "через неделю" → сегодня + 7 дней
    • Не упомянут → спроси

Шаг 3: Покажи на подтверждение

📋 Экшн-лист: [Тема]
Дата: [дата] | Участники: [список]

№  Задача                    Отдел       Ответственный  Дедлайн
1. ...                       Поддержка   Яна            15.04.2026
2. ...                       Продукт UC  Дима           ?

Задачи без дедлайна: 2 — укажи дату или оставить пустым?

Дождись подтверждения.

Шаг 4: Запись в Supabase

calls_log:

curl -s -X POST "https://zffhjnbpbjknclrbcujs.supabase.co/rest/v1/calls_log" \
  -H "apikey: <ANON_KEY>" \
  -H "Authorization: Bearer <ANON_KEY>" \
  -H "Content-Type: application/json" \
  -H "Prefer: return=representation" \
  -d '{"title":"<тема>","call_date":"<YYYY-MM-DD>","participants":"<участники>","transcript_text":"<транскрипт>","summary":"<саммари>","created_by":"<имя>"}'

Сохрани id → это call_id.

calls_tasks (массив):

curl -s -X POST "https://zffhjnbpbjknclrbcujs.supabase.co/rest/v1/calls_tasks" \
  -H "apikey: <ANON_KEY>" \
  -H "Authorization: Bearer <ANON_KEY>" \
  -H "Content-Type: application/json" \
  -d '[{"call_id":"<id>","task":"<текст>","department":"<отдел>","responsible":"<имя>","deadline":"<YYYY-MM-DD>","status":"open"}]'

Шаг 5: Запись в Buildin

Лог звонков:

curl -s -X POST "https://api.buildin.ai/v1/pages" \
  -H "Authorization: Bearer vMU8aYxPH9B1DhjDStRRfZNWrmYJWefP2TFH4k2C" \
  -H "Content-Type: application/json" \
  -d '{"parent":{"database_id":"0cb45851-65b1-4bd0-875b-6d598cc2d728"},"icon":{"type":"emoji","emoji":"📞"},"properties":{"Название":{"title":[{"text":{"content":"<тема>"}}]},"Дата":{"date":{"start":"<YYYY-MM-DD>"}},"Участники":{"rich_text":[{"text":{"content":"<участники>"}}]},"Саммари":{"rich_text":[{"text":{"content":"<саммари>"}}]},"Supabase ID":{"rich_text":[{"text":{"content":"<call_id>"}}]}}}'

Задачи (по одной):

curl -s -X POST "https://api.buildin.ai/v1/pages" \
  -H "Authorization: Bearer vMU8aYxPH9B1DhjDStRRfZNWrmYJWefP2TFH4k2C" \
  -H "Content-Type: application/json" \
  -d '{"parent":{"database_id":"497c3ec8-08fa-4996-a88c-ed07b884285a"},"properties":{"Задача":{"title":[{"text":{"content":"<задача>"}}]},"Отдел":{"select":{"name":"<отдел>"}},"Ответственный":{"select":{"name":"<имя>"}},"Дедлайн":{"date":{"start":"<YYYY-MM-DD>"}},"Статус":{"select":{"name":"Открыта"}},"Звонок":{"rich_text":[{"text":{"content":"<тема звонка>"}}]}}}'

Шаг 6: Финальный отчёт

✅ Готово!
📋 Звонок записан: https://buildin.ai/0bc28d48-749b-42f5-85f6-db89fbc9002d
✅ Задач создано: N
   • Яна (Поддержка): 2
   • Дима (Продукт UC): 1

Добавление нового ответственного

curl -s -X POST "https://api.buildin.ai/v1/pages" \
  -H "Authorization: Bearer vMU8aYxPH9B1DhjDStRRfZNWrmYJWefP2TFH4k2C" \
  -H "Content-Type: application/json" \
  -d '{"parent":{"database_id":"aa20294d-66d1-4a2e-ba16-1c27dc954ba0"},"properties":{"Имя":{"title":[{"text":{"content":"<имя>"}}]},"Отдел":{"select":{"name":"<отдел>"}},"Роль":{"rich_text":[{"text":{"content":"<роль>"}}]},"Активен":{"select":{"name":"Да"}}}}'

Добавление нового типа звонка

curl -s -X POST "https://api.buildin.ai/v1/pages" \
  -H "Authorization: Bearer vMU8aYxPH9B1DhjDStRRfZNWrmYJWefP2TFH4k2C" \
  -H "Content-Type: application/json" \
  -d '{"parent":{"database_id":"9bc18952-3b94-4e76-af68-e27a8a66915e"},"properties":{"Название":{"title":[{"text":{"content":"<название>"}}]},"Описание":{"rich_text":[{"text":{"content":"<описание>"}}]},"Регулярность":{"select":{"name":"<Еженедельный|Ежемесячный|Разовый|По запросу>"}}}}'

Правила

  • Всегда показывай экшн-лист до записи
  • Справочники читай из Buildin — не доверяй кешу в голове
  • Buildin запросы делай по одной задаче (не батчами)
  • Отвечай на языке пользователя

Skills relacionados