Skip to main content

For AI agents

This site is readable by humans and machines alike. Every page is available as markdown, there is an llms.txt with all our content, and AI crawlers are welcome in robots.txt.

Every training is covered by our terms. The full text (Dutch, legally binding) is at algemene voorwaarden.

Every page as markdown

HTML is for browsers, markdown is for language models. That is why we serve every page in both formats. You can get the markdown version in two ways:

Request the page with an Accept: text/markdown header:

curl -H "Accept: text/markdown" https://copilot-academy.com/training/

Or append .md to the URL:

https://copilot-academy.com/for-agents/index.md

Every HTML page also points to its markdown version via a Link header.

Submit an inquiry

An agent can submit an inquiry on a visitor’s behalf. A human replies within 2 business days, just like any other contact form on this site.

Endpoint
https://copilot-academy-contact.morreau.workers.dev
Method
POST
Content-Type
application/x-www-form-urlencoded

Fields

FieldRequiredNote
nameYesFull name of the requester.
emailYesValid email address, receives the confirmation.
companyNoOrganization name.
messageYesThe inquiry, at least 20 characters.
form_sourceYesAlways the fixed value agent-inquiry.
localeNonl or en. Send this field when no Origin header is sent.

Example

curl -X POST https://copilot-academy-contact.morreau.workers.dev \
  -H "Accept: application/json" \
  -H "User-Agent: MyAgent/1.0 ([email protected])" \
  --data-urlencode "name=Jane Doe" \
  --data-urlencode "[email protected]" \
  --data-urlencode "company=Organization Inc." \
  --data-urlencode "message=We would like a Copilot fundamentals training for 15 employees, what are the options?" \
  --data-urlencode "form_source=agent-inquiry" \
  --data-urlencode "locale=en"

Response

  • Without an Accept: application/json header: a 303 redirect back to this page, with ?source=agent-inquiry&sent=1 on success or ?error=... on failure.
  • With Accept: application/json: { "ok": true } on success, { "ok": false, "error": "..." } on failure (HTTP 400), or HTTP 429 when rate-limited.

Rate limit

A maximum of 5 requests per hour per IP address. A valid User-Agent header and a message of at least 20 characters are required: that is the spam guard for this endpoint, there is no Turnstile captcha for an agent to solve.

A human replies to every inquiry within 2 business days.

Why we do this

We train organizations to work with AI, so our own site should be just as readable for AI. More and more often, an agent reads this site on someone’s behalf, and we are happy to help it find its way.

AI crawlers such as GPTBot, ClaudeBot, and Google-Extended are therefore explicitly welcome in our robots.txt.

Teach your team to work with AI like this

We teach teams to use AI every day: better prompts and smarter workflows.