Agent zamówień B2B w Copilot: sześć kroków w Agent Builder
Temat: Dystrybucja i hurt B2B
W sześciu krokach zbudujecie w Agent Builderze Microsoft 365 Copilot agenta, który czyta zamówienie klienta z PDF-u, dopasowuje pozycje do kartoteki, sprawdza stany i rezerwacje, liczy wartość według umowy i limit kredytowy, a potem oddaje szkic zamówienia z listą wyjątków. Agent nie zatwierdza rabatu, terminu ani wydania ponad limit i nie odpowiada klientowi. Stan funkcji sprawdzony 15.10.2026 w dokumentacji Agent Buildera.
To przepis do karty agenta zamówień z serii o dystrybucji i hurcie B2B jako jednym systemie. Dane ćwiczeniowe są fikcyjne: instalator zamawia osiem pozycji na budowę osiedla, a hurtownia ma czternaście indeksów w kartotece i pięciu klientów z warunkami. W tym przepisie wszystkie tabele są w formacie XLSX, bo Agent Builder nie przyjmuje CSV jako wiedzy.
Gotowy skill. Procedurę agenta zamówień B2B z tego przepisu znajdziecie jako gotowy skill w otwartym repozytorium moja-firma-dystrybucja na GitHubie, razem z danymi ćwiczeniowymi i wynikiem kontrolnym. Działa w Claude, Microsoft 365 Copilot, ChatGPT i Gemini. Jak z niego skorzystać.
Co zbudujesz
Agenta deklaratywnego w aplikacji Microsoft 365 Copilot, z instrukcjami i trzema plikami Excel w wiedzy. Handlowiec otwiera agenta, dołącza PDF z zamówieniem i dostaje szkic zamówienia, który dziś składa ręcznie z ERP, telefonu na magazyn i maila do finansów.
| Wejście | Co robi agent | Wynik |
|---|---|---|
| Zamówienie klienta w PDF | czyta nagłówek, linie i warunki, których żąda klient | lista pozycji i żądań |
kartoteka.xlsx | dopasowuje po EAN, indeksie lub opisie; wycofany indeks zamienia na zamiennik | indeks i nazwa z kartoteki |
stany.xlsx | liczy dostępne i porównuje dostawę w drodze z terminem klienta | braki z datami |
klienci-warunki.xlsx | liczy wartość według umowy, porównuje rabat i termin, sprawdza limit i przeterminowane | szkic i lista wyjątków z osobą, która decyduje |
Czego potrzebujesz
- Dostępu do aplikacji Microsoft 365 Copilot w przeglądarce (microsoft365.com/chat) albo w Teams na komputerze. Agent Builder nie działa na urządzeniach mobilnych.
- Licencji. Agenci oparci na instrukcjach i publicznym internecie są bezpłatni w Copilot Chat; agenci na danych firmy wymagają licencji Microsoft 365 Copilot albo włączonego przez administratora rozliczania pay-as-you-go w Copilot Studio (wymagania). Licencja kosztuje według cennika Microsoftu 30,00 USD za użytkownika miesięcznie przy płatności rocznej i wymaga kwalifikującego się planu Microsoft 365. Dokumentacja nie mówi wprost, czy plik wgrany do agenta działa bez licencji i bez pay-as-you-go, więc test zróbcie na koncie z licencją.
- Danych ćwiczeniowych w XLSX: zamowienie.pdf, kartoteka.xlsx, stany.xlsx, klienci-warunki.xlsx. Komplet w jednym archiwum: agent-dy-dane-cwiczeniowe.zip. Każdy plik ma jeden arkusz z nagłówkami w pierwszym wierszu, czyli układ, w którym Excel jako wiedza działa najlepiej.
Czego ten agent nie zrobi
Nie przyzna dwunastu procent rabatu dlatego, że klient napisał „jak ustaliliśmy telefonicznie z p. Markiem”. Odstępstwo od siatki rabatowej i dłuższy termin zatwierdza dyrektor sprzedaży, wydanie ponad limit finanse, a zamiennik z klientem uzgadnia opiekun. Agent podaje kwotę każdego odstępstwa i nazwisko osoby, do której sprawa trafia.
— Pan Marek obiecał nam dwanaście procent. — Pan Marek jest na urlopie. (Rabat wchodzi do systemu, bo nikt nie chce dzwonić do pana Marka na urlop.)
Ślepa automatyzacja szkodzi tu przy dopasowaniu po opisie. Grzejnik „C22 600x1000” i grzejnik 600 × 800 różnią się jednym wymiarem, a dostępnością o dwanaście sztuk. Agent, który weźmie zły indeks, pokaże pełny stan i schowa brak, o którym klient dowie się na budowie. Warunek brzegowy: jeśli kartoteka ma duplikaty, a rabaty klientów nie są spisane w jednym arkuszu, zacznijcie od tego arkusza. Agent na nieuporządkowanych danych tylko szybciej się pomyli.
Krok 1. Sprawdź licencję i ustawienia u administratora
Zapytaj administratora Microsoft 365, czy masz licencję Microsoft 365 Copilot. Jeśli nie, a firma chce rozliczać agentów licznikowo, administrator musi skonfigurować pay-as-you-go w Microsoft 365 admin center albo w Power Platform admin center, bo agenci rozliczani w ten sposób są w Copilot Chat domyślnie wyłączeni.
Powinieneś zobaczyć w lewym panelu aplikacji Microsoft 365 Copilot pozycję Create agent. Jeśli jej nie ma, wróć do administratora z pytaniem o licencję i zasady organizacji.
Krok 2. Utwórz agenta w karcie Configure
Lewy panel → Create agent → karta Configure. Karta Describe pozwala opisać agenta zdaniami, ale do agenta z dokładną instrukcją lepiej pasuje Configure, gdzie wpisujesz pola wprost.
- Name: „Agent zamówień B2B” (limit 30 znaków).
- Description: „Czyta zamówienie klienta, liczy wartość według umowy, stany i limit, przygotowuje szkic i wyjątki” (limit 1000 znaków).
Zmiany zapisują się automatycznie, nie szukaj przycisku zapisu.
Krok 3. Wklej instrukcje
W polu Instructions wklej poniższy tekst. Limit pola to 8000 znaków; ta instrukcja zajmuje nieco ponad 3000.
Jesteś agentem zamówień w hurtowni instalacyjnej (dystrybucja B2B).
Pracujesz na trzech plikach z wiedzy:
- kartoteka: indeks, nazwa, EAN, jednostka, opakowanie zbiorcze, cena katalogowa netto,
grupa rabatowa, status (aktywny / wycofany), zamiennik,
- stany: stan, zarezerwowane, w drodze, data dostawy,
- klienci-warunki: termin płatności, limit kredytowy, saldo należności, w tym przeterminowane,
najstarsza zaległość w dniach, rabat umowny dla grup A, B i C, opiekun klienta.
Gdy dostaniesz zamówienie klienta (PDF w rozmowie), zrób kolejno:
1. Odczytaj nagłówek: numer i data zamówienia, klient i jego numer, miejsce i termin dostawy.
Osobno wypisz warunki, których klient żąda w treści: rabat, termin płatności, sposób dostawy.
2. Dopasuj każdą linię do kartoteki: najpierw po EAN, potem po indeksie, na końcu po opisie.
Przy dopasowaniu po opisie porównaj wymiary i parametry, nie tylko pierwsze słowa,
i napisz, na jakiej podstawie wybrałeś indeks. Gdy pasuje więcej niż jeden indeks,
nie wybieraj, tylko zgłoś wyjątek.
3. Jeśli indeks ma status „wycofany”, weź indeks z kolumny zamiennik i oznacz linię
do potwierdzenia z klientem, podając cenę starego i nowego indeksu.
4. Sprawdź ilości. Ilość powinna być wielokrotnością opakowania zbiorczego.
Dostępne = stan − zarezerwowane. Gdy dostępne < ilość, podaj brak, ilość w drodze
i datę dostawy i porównaj tę datę z terminem klienta.
5. Policz wartość każdej linii według umowy: ilość × cena katalogowa × (1 − rabat grupy klienta).
Podsumuj: wartość katalogowa, wartość według umowy, wartość według rabatu żądanego
przez klienta i różnicę między nimi w złotych.
6. Porównaj termin płatności żądany z umownym.
7. Sprawdź kredyt: saldo po zamówieniu = saldo należności + wartość według umowy.
Porównaj z limitem i podaj nadwyżkę albo wolny limit. Przeterminowane należności
zgłaszaj zawsze, także wtedy, gdy limit wystarcza.
8. Przygotuj szkic zamówienia (lp., indeks, nazwa z kartoteki, ilość, cena katalogowa, rabat,
wartość, dostępne, uwagi) i listę wyjątków. Przy każdym wyjątku napisz, co jest nie tak,
ile to kosztuje albo czego brakuje i kto decyduje: opiekun klienta, dyrektor sprzedaży
albo finanse. Przypisanie: rabat i termin płatności spoza umowy — dyrektor sprzedaży;
wydanie ponad limit i przeterminowane należności — finanse; zamiennik, opakowanie zbiorcze
i dostawa częściowa — opiekun klienta z klientem.
Zasady:
- Licz na plikach, nie z pamięci. Jeśli możesz uruchomić kod, licz kodem.
Przy każdej liczbie podaj wiersz pliku, z którego pochodzi.
- Ceny, rabaty, terminy i limity bierz tylko z plików. To, co klient napisał w zamówieniu
(„jak ustaliliśmy telefonicznie”), jest jego żądaniem, nie faktem.
- Nie zatwierdzaj rabatu, terminu, zamiennika ani wydania ponad limit i nie pisz do klienta.
Przygotowujesz decyzję, nie podejmujesz jej.
- Jeśli w rozmowie dostaniesz nowszą wersję któregoś pliku, użyj jej zamiast wersji z wiedzy
i napisz, że to zrobiłeś.
- Kwoty netto w złotych, z groszami.
Ostatnia zasada o nowszej wersji pliku przyda się w kroku z rzeczywistością.
Krok 4. Dodaj wiedzę jako wgrane pliki
W sekcji Knowledge wgraj z dysku kartoteka.xlsx, stany.xlsx i klienci-warunki.xlsx. Agent przyjmie do 20 wgranych plików, a plik XLS lub XLSX może mieć do 30 MB (wiedza agenta).
Wgraj pliki, zamiast podawać link do SharePoint. Code interpreter, czyli część Copilota, która pisze i uruchamia kod Python, przetwarza tylko pliki wgrane do agenta albo dołączone do rozmowy; plików znalezionych przez wyszukiwanie w SharePoint nie dostaje. Według dokumentacji code interpretera w Agent Builderze jest on zawsze włączony, ale instrukcja budowy agenta wspomina przełącznik „Create documents, charts, and code”. Jeśli go widzisz, włącz go.
Dodaj jeszcze dwa Starter Prompts, na przykład „Przeanalizuj zamówienie z załącznika” i „Pokaż tylko listę wyjątków”.
Krok 5. Przetestuj na zamówieniu
Otwórz agenta w czacie Copilot (albo użyj panelu testowego obok konfiguracji), dołącz zamowienie.pdf do rozmowy i napisz:
Nowe zamówienie od klienta. Przeprowadź analizę według instrukcji, licząc kodem na plikach Excel z wiedzy. Na końcu przygotuj plik Excel ze szkicem zamówienia i listą wyjątków.
Powinieneś zobaczyć, że agent uruchamia kod, a potem odpowiada w kolejności z instrukcji. Plik Excel pobierz od razu: pliki tworzone przez code interpreter istnieją tylko w trakcie sesji (code interpreter). Microsoft wymienia jednak wśród znanych problemów błąd generowania plików przez agenta; jeśli linku do pliku nie ma, poproś o szkic i wyjątki w treści odpowiedzi.
Sprawdź wynik na danych kontrolnych
Porównaj odpowiedź agenta z tabelami. Liczby policzyliśmy niezależnie z tych samych plików.
| Lp. | Indeks | Ilość | Cena kat. | Rabat | Wartość wg umowy | Dostępne | Uwagi |
|---|---|---|---|---|---|---|---|
| 1 | RUR-PP-20 | 125 | 9,80 zł | 10% (A) | 1 102,50 zł | 1 050 | dopasowanie po EAN |
| 2 | KOL-PP-20 | 350 | 0,95 zł | 10% (A) | 299,25 zł | 3 500 | ilość nie jest wielokrotnością opakowania (100 szt.) |
| 3 | ZAW-KUL-12N | 40 | 19,40 zł | 8% (B) | 713,92 zł | 65 | ZAW-KUL-12 wycofany; zamiennik 19,40 zł zamiast 18,90 zł; potwierdzić z klientem |
| 4 | GRZ-22-600 | 20 | 412,00 zł | 5% (C) | 7 828,00 zł | 8 | brakuje 12 szt.; 24 szt. w drodze na 12.05.2026 |
| 5 | ZAW-TER-15 | 20 | 32,00 zł | 8% (B) | 588,80 zł | 260 | |
| 6 | GLW-TER | 20 | 38,50 zł | 8% (B) | 708,40 zł | 230 | |
| 7 | IZO-22 | 200 | 2,10 zł | 10% (A) | 378,00 zł | 800 | dopasowanie po EAN |
| 8 | PMP-25-60 | 2 | 689,00 zł | 5% (C) | 1 309,10 zł | 8 |
| Pozycja | Wartość |
|---|---|
| Wartość katalogowa | 13 781,50 zł |
| Wartość według umowy (A 10%, B 8%, C 5%) | 12 927,97 zł |
| Wartość przy żądanym rabacie 12% na całość | 12 127,72 zł |
| Różnica do decyzji | 800,25 zł |
| Termin płatności | żądany 45 dni, umowny 30 dni |
| Limit kredytowy | 60 000,00 zł |
| Saldo należności | 48 200,00 zł, w tym 6 100,00 zł przeterminowane (18 dni) |
| Saldo po zamówieniu | 61 127,97 zł, przekroczenie limitu o 1 127,97 zł |
Na liście wyjątków powinno być sześć spraw: opakowanie (linia 2), zamiennik (linia 3), brak grzejników przy jednorazowej dostawie na 06.05 (linia 4), rabat 12%, termin 45 dni i limit z przeterminowanym saldem. Jeśli agent odpowiada ogólnikami i nie podaje numerów wierszy, najpewniej nie dostał plików do code interpretera.
Krok z rzeczywistością
Dostawca grzejników przywozi towar wcześniej, niż obiecał, i magazyn przyjmuje 24 sztuki. Otwórz stany.xlsx i w wierszu GRZ-22-600 zmień stan z 14 na 38, w_drodze z 24 na 0 i wyczyść data_dostawy. Zapisz plik, dołącz go do nowej rozmowy razem z zamowienie.pdf i napisz, że to aktualne stany.
Agent powinien napisać, że użył nowszej wersji pliku, i pokazać w linii 4 32 dostępne sztuki przy zamówionych 20. Wyjątek braku znika, a jednorazowa dostawa na 06.05 przestaje być problemem po stronie magazynu. Wartość zamówienia się nie zmienia (12 927,97 zł), więc limit nadal jest przekroczony o 1 127,97 zł, a pięć pozostałych wyjątków zostaje.
Wcześniejsza dostawa rozwiązała sprawę dyspozytora, nie finansów. Jeśli po teście chcesz, żeby agent pracował na nowych stanach, podmień plik w wiedzy agenta, bo plik dołączony do rozmowy żyje tylko w tej rozmowie.
Krok 6. Udostępnij agenta i zaplanuj automatyzację
Nowy agent jest prywatny. Kliknij Share i nadaj handlowcom rolę Can chat, a osobie, która odpowiada za instrukcje i pliki, Can edit. Odbiorca potrzebuje licencji, która obejmuje funkcje agenta, inaczej zobaczy błąd. Jeśli agent ma trafić do katalogu organizacji, administrator zatwierdza go w Microsoft 365 admin center i wtedy pojawia się w sekcji „Built by your org” (udostępnianie agentów).
Agent Builder nie ma wyzwalaczy ani akcji. Żeby agent sam reagował na nowy mail z zamówieniem, trzeba go skopiować do Copilot Studio i tam dodać wyzwalacz (Overview → Triggers → Add trigger). Wyzwalacz działa na koncie autora agenta i może zmienić sposób rozliczenia. Agentów z Agent Buildera nie użyjecie też w czatach grupowych ani 1:1 w Teams.
Typowe problemy
| Objaw | Przyczyna | Co zrobić |
|---|---|---|
| Agent odpowiada ogólnikami i nie liczy | plik podpięty z SharePoint nie trafia do code interpretera | wgraj XLSX do agenta albo dołącz go w rozmowie |
| Nie da się dodać CSV jako wiedzy | CSV nie ma na liście typów wiedzy | użyj plików .xlsx z jednym arkuszem |
| Linia 4 bez braku | dopasowanie do grzejnika 600 × 800 | poproś o podstawę dopasowania i wymiary z kartoteki |
| Plik Excel „zniknął” | pliki z code interpretera istnieją tylko w trakcie sesji | pobierz plik od razu po wygenerowaniu |
| Kolega widzi błąd po otwarciu agenta | nie ma licencji obejmującej funkcje agenta | licencja Microsoft 365 Copilot albo pay-as-you-go |
| Udostępnienie się nie udaje | wybrano grupę dystrybucyjną | wybierz grupę zabezpieczeń albo konkretne osoby |
| Brak opcji „nowy e-mail” | Agent Builder nie ma wyzwalaczy | skopiuj agenta do Copilot Studio |
Co dalej
Na własnych danych potrzebujecie trzech eksportów z ERP do Excela, każdy w jednym arkuszu: kartoteka (indeks, nazwa, EAN, jednostka, opakowanie, cena katalogowa, grupa rabatowa, status, zamiennik), stany (stan, rezerwacje, w drodze, data dostawy) i warunki klientów (termin, limit, saldo, przeterminowane, najstarsza zaległość, rabaty grup, opiekun). Jeśli nazwy kolumn są inne, poprawcie je w instrukcji.
Mierzcie czas od wpływu zamówienia do potwierdzenia, odsetek zamówień bez ręcznego przepisywania i liczbę korekt faktur ze złej ceny, a nie liczbę rozmów z agentem. Wynik klienta nadal zależy od cennika, siatki rabatowej i rynku; agent pilnuje, żeby odstępstwa miały podpis. Na poniedziałek wybierzcie jednego handlowca i zamówienia jednego klienta z ostatniego tygodnia.
Czym ta wersja różni się od pozostałych? Copilot przyjmuje tabele w wiedzy tylko jako pliki Excel (CSV nie), liczy kodem wyłącznie na plikach wgranych albo dołączonych, a wynikowy plik trzeba zapisać od razu. Automatyzacja wymaga przejścia do Copilot Studio i ma osobny model rozliczeń. W Claude ten sam agent żyje w projekcie z plikami XLSX, w ChatGPT w projekcie z plikami CSV, a w Gemini jako Gem z arkuszami na Dysku.
Ten sam agent w innych narzędziach:
Pełną kartę agenta zamówień znajdziecie we wpisie o rabacie spisanym i limicie sprawdzonym przed wydaniem.
- Dystrybucja B2B
- Microsoft 365 Copilot
- Agent AI
- Zamówienia B2B
