Blockchain oracles support the access, validation, and transmission of data from external sources. They are important components of blockchain-based architectures, however, there exist no guidance on how oracles could be used when designing decentralised applications. In this paper, based on the results of a systematic literature review, we propose a framework to explain blockchain oracles and their relationships to blockchain-based applications. More specifically, the blockchain oracle framework addresses the oracle types, the data transaction and validation procedures, and the integration of oracles to blockchain applications. Potentially, this framework can guide developers when incorporating oracles to blockchain applications.