Koostööandmeobjektid on programmeerimisliidese objektid, mida kasutatakse tarkvaratoodete sarjas Microsoft Windows® ja Microsoft Exchange Server®. Need võimaldavad luua arvutisüsteemis sõnumsidetehnoloogiat või koostöörakendusi. Koostööandmeobjektide teegid võimaldavad tarkvaraarendajatel pääseda juurde andmepunktidele, mis asuvad serveris, avalikes arvutikaustades ja võrgus, aga ka neile, mis on salvestatud arvuti postkastidesse. See võimaldab tootes suuremat kohandamise taset, kuna kasutajad saavad luua ja kohandada sõnumsiderakendusi vastavalt oma konkreetsetele vajadustele.
Seda tüüpi koostööandmeobjektid ei moodusta täielikku programmeerimiskeelt, vaid on osa skriptikeelest, mis töötab kõrvuti sõnumsiderakenduse programmeerimisliidesega (MAPI) Windows®-is ja Exchange Server®-is. Erinevus skriptikeele ja täisprogrammeerimiskeele vahel seisneb selles, et skriptikeel on loodud kindlat eesmärki silmas pidades, seega on programmeerija selle abil piiratud asjad. Koostööandmeobjektide puhul on selle skriptikeel mõeldud võimaldama programmeerijatel luua ad hoc tüüpi sõnumsideprogramme, lisaks olemasolevate sõnumiprogrammide funktsioonide muutmisele. Need “käsitsi loodud” või kohandatud programmid võivad asendada või täiustada juba süsteemis olevaid sõnumsiderakendusi.
Koostööandmeobjektide kasutamise peamine eelis on paindlikkus. Skriptikeele kasutamise kaudu saavad pühendunud programmeerijad proovida lisada tarkvarale funktsioone, mis algselt saadaval polnud. See säästab potentsiaalselt kulusid, kuna kogenud lõppkasutaja ei pea enam konkreetse funktsiooni hankimiseks kasutama kolmanda osapoole rakendusi. Kui nad tunnevad skriptikeelt piisavalt, saavad nad soovitud funktsiooni lihtsalt ise luua.
Selle meetodi negatiivne külg on see, et kuna need on seotud skriptikeelega, ei paku koostööandmeobjektide kasutamine sama palju paindlikkust kui täielikku programmeerimiskeelt kasutades loodud tarkvara. Loodud funktsioonid ja programmid peavad töötama Windows® või Exchange Server® juba pakutavas raamistikus, seades piirangud nende üldisele potentsiaalile. See vähendab veidi koostöö andmeobjektide kasulikkust võrreldes uue rakenduse loomisega maast madalast, kasutades täielikku programmeerimiskeelt.