ToolTalk の重要な特徴は、送信側が受信側について何も知らなくてかまわないということです。これは、メッセージを受信したいアプリケーションの方が、受け取りたいメッセージがどのようなものかを明示的に示すからです。メッセージの型に関する情報は、「メッセージパターン」という形で ToolTalk サービスに登録されます。
アプリケーションはインストール時または実行時に、メッセージパターンを ToolTalk サービスに対して指定します。メッセージパターンは、メッセージと同様に作成します。つまり、どちらの場合も同種の情報を使用します。アプリケーションは受信したいそれぞれの型のメッセージについて、空のメッセージパターンを取得し、属性を書き込み、そのパターンを ToolTalk サービスに登録します。これらのメッセージパターンは通常、アプリケーションが相互に合意しているメッセージプロトコルと一致します。アプリケーションは、個々の使用に応じてさらにパターンを追加できます。
ToolTalk サービスは、送信側アプリケーションからメッセージを受信すると、メッセージ内の情報と登録されているパターンとを比較します。一致するものが見つかると、ToolTalk サービスは、パターンがメッセージと一致するすべての受信側アプリケーションにメッセージのコピーを配信します。
アプリケーションは、受信したいメッセージを記述したパターンごとに、メッセージを「処理」または「監視」できるかを宣言しています。多数のアプリケーションがメッセージを監視できますが、メッセージを処理できるアプリケーションは 1 つだけです。これは、要求された操作が確実に一度だけ行われるようにするためです。ToolTalk サービスが、メッセージを処理するハンドラを見つけ出せなかった場合は、そのメッセージを送信側アプリケーションに返し、配信が失敗したことを示します。