Docs/Tutorials
Tutorials

Build integrations in Python, step by step

Tutorials for REST, SOAP, HL7, MCP, the scheduler, Microsoft 365 and deployment.

sync_customer.py

Design and build production-ready integrations in Python

Install the platform, write the first service, expose it over REST and extend it until it orchestrates several remote systems. Start here when the project is new.

Start the main tutorial

Publish, secure and document REST APIs

Define the API, assign a security definition to the channel and generate the OpenAPI specification from the deployed services.

REST API tutorial

Route HL7, FHIR and EDIFACT messages

Receive clinical and EDI messages, select the destination in the dashboard or in a routing service of your own, and deliver each message over MLLP, REST or FHIR.

HL7 tutorial

Expose Python services as MCP tools

Create an MCP gateway, assign API keys to its clients and register existing services as tools that Cursor, Claude and other MCP clients invoke.

MCP tutorial

Call and accept SOAP services

Build requests as Python objects, read incoming envelopes as parsed data and configure WS-Security in security definitions rather than in code.

SOAP tutorials

Run services on a schedule

Execute a service at an interval or on a cron expression, pass it parameters and review the execution history of each job in the dashboard.

Scheduler tutorial

Deploy code and configuration from Git

Keep services and the enmasse configuration file in one repository and deploy both to each environment with the same procedure.

Deployment tutorial

Integrate Microsoft 365 and OData services

Read and send mail through Microsoft 365, and query SAP or Dynamics through OData, from services configured in the same dashboard.

Microsoft 365 tutorial

Business rules and service tests

Write business rules in a notation that analysts and developers both read, and test services without a running server.

Rule engine tutorial
flight_delays.py
def handle(self):

    data = self.request.payload

    # Business people wrote the rule, Python runs it
    if result := self.rules.airport.match(data):
        self.invoke('ops.rebook-passengers', result)

Start with the main tutorial

Select a tutorial above or schedule a demo to review how Zato fits your environment.

Open source In Python