Connect Dell Boomi to Veeva Vault
Peter Yeung
/@PeterYeung
Published: September 15, 2017
Insights
This video provides a practical demonstration of how to integrate Dell Boomi with Veeva Vault, specifically addressing the challenge of connecting to Veeva Vault when a direct, pre-built connector is unavailable in Dell Boomi. The presenter walks through a step-by-step process of leveraging Dell Boomi's standard HTTP connector to interact with the Veeva Vault API. The core objective is to authenticate with Veeva Vault to obtain a session ID, and then use that session ID to perform a query against the documents object within Vault. This showcases a common scenario in enterprise integration where generic API connectivity is essential for connecting disparate systems, especially within regulated industries like life sciences.
The demonstration begins by outlining the overall integration process, emphasizing the critical role of Veeva Vault's API documentation. The first major step involves authenticating to Veeva Vault to secure a session ID. This is achieved by making an HTTP POST request to a specific Vault API endpoint, passing the username and password. The video highlights Dell Boomi's capabilities for securely handling credentials, noting that passwords can be encrypted and configured as replacement variables, preventing hardcoding into the integration process. Upon a successful authentication response, the session ID is extracted from the JSON payload and stored as a dynamic document property within Dell Boomi for subsequent use.
Following successful authentication, the video proceeds to demonstrate how to perform a query on Veeva Vault's documents object. This involves another HTTP POST operation, but this time, the previously obtained session ID is passed in the authorization header. The query itself, formulated in a VQL-like syntax ("select ID and name from documents"), is sent as part of the request body. A crucial detail highlighted is the need to explicitly set the 'Accept' header to 'application/json' and the 'Content-Type' header to 'application/x-www-form-urlencoded' for the query operation, as Dell Boomi's default settings might not be compatible with the Vault API's requirements. The video concludes by running the integration process in Dell Boomi's test mode, showing the successful retrieval of the session ID and then the JSON response containing the queried document data from Veeva Vault.
Key Takeaways:
- Custom API Integration Necessity: The video demonstrates that even when a direct connector for a specific enterprise application like Veeva Vault is not available in an Integration Platform as a Service (iPaaS) like Dell Boomi, robust integration can still be achieved by directly interacting with the application's API using standard HTTP connectors.
- Reliance on API Documentation: Successful integration hinges on a thorough understanding of the target application's API documentation, specifically for authentication methods, endpoint URLs, required headers, and expected request/response formats (e.g., Veeva Vault API documentation).
- Secure Credential Management: Dell Boomi provides mechanisms to securely handle sensitive information like usernames and passwords. Passwords can be encrypted and configured as replacement variables, preventing them from being hardcoded into integration processes and enhancing security.
- Multi-Step Integration Flows: Complex integrations often require multiple sequential steps, such as authenticating to obtain a session token first, and then using that token in subsequent API calls for data retrieval or manipulation. Dell Boomi's process flow allows for this chaining of operations.
- HTTP Connector Configuration: The standard HTTP connector in Dell Boomi is highly configurable. Users can specify URLs, set custom headers (e.g., 'Accept', 'Content-Type'), and define resource paths to precisely match API requirements.
- Handling API Responses: Integrations must be able to parse and extract relevant information from API responses, typically in JSON format. The demonstration shows extracting a session ID from a JSON authentication response and storing it for later use.
- Explicit Header Setting: A common pitfall in API integration is incorrect HTTP headers. The video highlights the importance of explicitly setting headers like 'Accept: application/json' and 'Content-Type: application/x-www-form-urlencoded' to ensure compatibility with the target API, as default settings might not always suffice.
- Querying Data from Veeva Vault: The demonstration illustrates how to construct and execute a query against Veeva Vault's data objects (e.g., 'documents') using a VQL-like syntax within the API request body.
- Trial and Error in Development: The presenter mentions discovering specific header requirements through "trial and error," underscoring that practical integration development often involves iterative testing and adjustment to meet API specifications.
- Value of iPaaS Platforms: Dell Boomi, as an iPaaS, simplifies the orchestration of complex integration logic, credential management, and error handling, making it a powerful tool for connecting enterprise applications even without native connectors.
Tools/Resources Mentioned:
- Dell Boomi: An Integration Platform as a Service (iPaaS) used for building and managing integrations.
- Veeva Vault: A cloud-based content and data management platform widely used in the life sciences industry.
- Veeva Vault API Documentation: The official documentation detailing how to interact programmatically with Veeva Vault.
- HTTP Connector: A generic connector within Dell Boomi used to make standard HTTP requests to web services and APIs.
Key Concepts:
- API (Application Programming Interface): A set of rules and protocols for building and interacting with software applications. The video focuses on interacting with the Veeva Vault REST API.
- Authentication: The process of verifying the identity of a user or system. In this context, it involves sending credentials to Veeva Vault to obtain a session ID.
- Session ID: A unique identifier issued by a server after successful authentication, used to maintain the user's session and authorize subsequent requests.
- JSON (JavaScript Object Notation): A lightweight data-interchange format used for transmitting data between a server and web application, commonly used in REST APIs.
- Dynamic Document Property: A feature in Dell Boomi that allows for storing and retrieving temporary data (like a session ID) during the execution of an integration process.
- Replacement Variable: A mechanism in Dell Boomi to parameterize configurations, allowing values (like passwords) to be set dynamically or securely without hardcoding.