Los objetos de datos de colaboración son objetos de interfaz de programación que se utilizan en la línea de productos de software Microsoft Windows® y Microsoft Exchange Server®. Permiten la creación de tecnología de mensajería o aplicaciones colaborativas en un sistema informático. Las bibliotecas de objetos de datos de colaboración permiten a los desarrolladores de software obtener acceso a los puntos de datos ubicados en el servidor, las carpetas públicas de la computadora y la red, así como a los almacenados en los buzones de correo de una computadora. Esto permite un mayor nivel de personalización dentro del producto, ya que los usuarios pueden crear y adaptar aplicaciones de mensajería para satisfacer sus propias necesidades específicas.
Estos tipos de objetos de datos de colaboración no forman un lenguaje de programación completo, sino que forman parte de un lenguaje de secuencias de comandos que funciona junto con la interfaz de programación de aplicaciones de mensajería (MAPI) en Windows® y Exchange Server®. La diferencia entre un lenguaje de secuencias de comandos y un lenguaje de programación completo es que un lenguaje de secuencias de comandos se ha creado con un propósito específico en mente, por lo que está limitado en las cosas que un programador puede lograr con él. En el caso de los objetos de datos de colaboración, su lenguaje de secuencias de comandos está destinado a permitir a los programadores crear tipos ad hoc de programas de mensajería, además de modificar funciones sobre programas de mensajería preexistentes. Estos programas «hechos a mano» o personalizados pueden reemplazar o mejorar las aplicaciones de mensajería que ya están en el sistema.
La principal ventaja de utilizar objetos de datos de colaboración es la flexibilidad. Mediante el uso del lenguaje de secuencias de comandos, los programadores dedicados pueden intentar agregar funciones al software que no estaban disponibles originalmente. Esto potencialmente ahorra costos, ya que el usuario final capacitado ya no tendrá que recurrir a aplicaciones de terceros para obtener una característica específica. Si conocen lo suficiente el lenguaje de programación, simplemente pueden crear la función deseada por sí mismos.
Una desventaja de este método es que debido a que están vinculados a un lenguaje de secuencias de comandos, el uso de objetos de datos de colaboración no ofrecerá la misma cantidad de flexibilidad que el software creado con un lenguaje de programación completo. Las funciones y los programas creados deben funcionar dentro del marco ya proporcionado por Windows® o Exchange Server®, poniendo límites a su potencial general. Esto disminuye ligeramente la utilidad de los objetos de datos de colaboración en comparación con la creación de una aplicación nueva desde cero, utilizando un lenguaje de programación completo.