<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Eyer</title>
    <description>The latest articles on DEV Community by Eyer (@eyer-ai).</description>
    <link>https://dev.to/eyer-ai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F8335%2Fdffc16a6-5046-453f-a2aa-87ee90459524.png</url>
      <title>DEV Community: Eyer</title>
      <link>https://dev.to/eyer-ai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eyer-ai"/>
    <language>en</language>
    <item>
      <title>What is an F1 score?</title>
      <dc:creator>Amarachi Iheanacho</dc:creator>
      <pubDate>Thu, 10 Oct 2024 06:37:35 +0000</pubDate>
      <link>https://dev.to/eyer-ai/what-is-an-f1-score-59m3</link>
      <guid>https://dev.to/eyer-ai/what-is-an-f1-score-59m3</guid>
      <description>&lt;p&gt;Artificial intelligence has integrated into different facets of our everyday lives, from virtual assistants and personalized recommendations to healthcare diagnostics and fraud detection; we are twice as likely to interact with a piece of software or tool powered by AI than we were a couple of years ago.  While this is a positive development, it raises an important question: how can we trust the predictions or outputs of AI-powered solutions? This concern is especially important in situations where inaccurate predictions could result in significant losses, both financial and even in terms of human life.&lt;/p&gt;

&lt;p&gt;In this article, we will explore performance metrics like the F1 score for evaluating the effectiveness of classification models, how it’s calculated, and why it’s often preferred over other performance metrics like precision or recall when evaluating classification models.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding the importance of F1 score in classification models
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.sciencedirect.com/topics/computer-science/classification-models" rel="noopener noreferrer"&gt;Classification models&lt;/a&gt; are algorithms that analyze and categorize complex data sets into predefined classes or labels. These models are used across various sectors, such as anomaly detection, medical diagnosis, text classification, and more. For example, in anomaly detection, classification models help label data points as either "anomalous" or "non-anomalous." &lt;/p&gt;

&lt;p&gt;Similarly, in medical diagnosis, a classification model might be used to detect cancer by categorizing patient data into "cancerous" or "non-cancerous" groups.&lt;/p&gt;

&lt;p&gt;In such examples, “false positives” and “false negatives” in classification models can have serious consequences. So how can we trust the predictions of these models? The F1 score offers one way to evaluate how well a classification model recognizes and categorizes data into different subsets. To fully understand the F1 score, let's explore three important concepts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The possible outcomes of a classification model&lt;/li&gt;
&lt;li&gt;What are precision and recall performance metrics&lt;/li&gt;
&lt;li&gt;How precision and recall combine to give a more comprehensive assessment of a model’s performance which is captured by the F1 score.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now that we've outlined the significance of classification models, it's important to take a closer look at their prediction outcomes. These outcomes form the foundation for performance metrics such as precision, recall, and, more importantly, the F1 score.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding the possible outcomes of a classification model
&lt;/h2&gt;

&lt;p&gt;A classification model prediction typically falls into one of these four categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;True Positives&lt;/strong&gt;: These are events or data points that were correctly predicted as positive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;True Negative&lt;/strong&gt;s: These are events that were correctly predicted as negative.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;False Positives&lt;/strong&gt;: These are events that were incorrectly predicted as positive but were actually negative.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;False Negatives&lt;/strong&gt;: These are events that were incorrectly predicted as negative but were actually positive.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These four outcomes form the basis of precision and recall, which together make up the F1 score.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are precision and recall?
&lt;/h2&gt;

&lt;p&gt;Now that we understand these four outcomes, let's use them to explain precision and recall.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Precision&lt;/strong&gt; &lt;br&gt;
The &lt;a href="https://builtin.com/data-science/precision-and-recall" rel="noopener noreferrer"&gt;precision performance metric&lt;/a&gt; determines the quality of positive predictions by measuring their correctness. In other words, it measures how many of the positive predictions made by the model were actually correct. Precision is calculated by dividing the number of true positive outcomes by the sum of the true positives and false positives.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
Precision = True Positives / (True Positives + False Positives)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;To better understand precision, let’s consider a pool of 500 emails, and a spam filter that has been employed to figure out how many of these emails are spam.&lt;/p&gt;

&lt;p&gt;Suppose the filter identifies 120 emails as spam, but only 100 of those emails are actually spam. In this case, the precision of the spam filter would be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
Precision = 100 / (100 + 20) = 0.833 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This means that 83.3% of the emails that the filter identified as spam were actually spam.&lt;/p&gt;

&lt;p&gt;While precision focuses on the accuracy of positive predictions, recall assesses the model's overall ability to identify all actual positive cases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recall&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://builtin.com/data-science/precision-and-recall" rel="noopener noreferrer"&gt;Recall, also known as sensitivity,&lt;/a&gt; measures a model’s ability to accurately detect positive events. In simpler terms, it indicates how many of the actual positive instances were correctly identified by the model. Recall can be calculated using the formula below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
Recall = True Positive / (True positive + False Negative)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let's return to the spam email filter example. We saw that out of the filter’s prediction of 120 spam emails, 100 were indeed spam. However, what if there were actually 200 spam emails in total? Then in this scenario, the recall would be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
Recall = 100/ 200 = 0.5

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This means that the filter correctly identified 50% of all actual spam emails. &lt;/p&gt;

&lt;p&gt;While precision and recall provide valuable insights into a model’s performance, relying solely on one without considering the other can give an incomplete picture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limitations of using precision as a classification metric without recall (and vice versa)
&lt;/h2&gt;

&lt;p&gt;Considering precision without recall, and vice versa, can lead to a misleading evaluation of a model's performance, especially in scenarios where class distribution is imbalanced or where different types of errors (false positives vs. false negatives) have varying consequences.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Limitations of Precision without Recall&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Precision alone focuses solely on the correctness of the positive predictions, ignoring how well the model captures all possible positives. A model with very high precision might seem impressive, but if it misses a large number of actual positive instances (low recall), it could be underperforming. This often occurs in cases where a model is extremely cautious about making positive predictions, leading to fewer but more accurate positive results. This cautious approach minimizes false positives but increases false negatives.&lt;/p&gt;

&lt;p&gt;For example, imagine a medical diagnosis model designed to detect a rare disease. If the model has perfect precision but low recall, it correctly identifies all the positive cases it flags as having the disease. However, if it only flags 2 out of 50 actual positive cases, its recall is very low. This means that while every diagnosed patient truly has the disease (precision is 100%), the model is missing the vast majority of patients who actually have it, making it unreliable for early diagnosis and treatment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Limitations of Recall without Precision&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Similarly, focusing on recall alone means you're only considering how many true positives are identified out of the total actual positives without regard to how many false positives the model produces. A high recall could indicate the model captures most positive instances, but it might be over-predicting positives, leading to a flood of false positives and reduced accuracy in actual predictions.&lt;/p&gt;

&lt;p&gt;Using the medical diagnosis example, imagine a medical diagnosis model with 100% recall that flags every patient as having the disease to ensure it never misses a single case. While the recall is perfect, the precision is incredibly low because many healthy individuals will be wrongly diagnosed. This makes the model impractical, as it would result in unnecessary anxiety and treatments for people who do not actually have the disease.&lt;/p&gt;

&lt;p&gt;This highlights the importance of a comprehensive metric combining precision and recall—the F1 score.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is an F1 score?
&lt;/h2&gt;

&lt;p&gt;An &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/portal/1/article/119373842" rel="noopener noreferrer"&gt;F1 score&lt;/a&gt; can be understood as the harmonic mean of precision and recall, combining both these metrics into one comprehensive assessment that neither performance metric can offer alone.&lt;/p&gt;

&lt;p&gt;The F1 score is described as the harmonic mean of both precision and recall for two important reasons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The F1 score gives both of these metrics equal weights, ensuring that a good F1 score signifies that the model has a good balance between precision and recall.&lt;/li&gt;
&lt;li&gt;Unlike the arithmetic mean, the harmonic mean prevents a high precision score from disproportionately affecting the overall F1 score when recall is low, and vice versa.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The F1 score can be calculated as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
F1 - score = 2 * (precision * recall) / (precision + recall)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So using the original example of the spam filter, with a precision of 0.8333 and a recall of 0.5, the F1 score of the spam filter would be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
F1 score = 2 * (0.8333 * 0.5) / ( 0.8333 + 0.5 )

F1 score = 0.625

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Calculating a model's F1 score can provide a clearer, more balanced measure of its performance, especially in cases where both precision and recall are critical. &lt;/p&gt;

&lt;h2&gt;
  
  
  Interpreting the F1 score
&lt;/h2&gt;

&lt;p&gt;Similar to most performance metrics, the F1 score ranges from 0 to 1, with 0 representing the worst possible score and 1 representing the best possible score a model can get. &lt;/p&gt;

&lt;p&gt;A high F1 score indicates that the model has good precision and recall, showing a well-balanced performance. Conversely, a low F1 score may suggest a trade-off between precision and recall or indicate that the model performs poorly on both metrics.&lt;/p&gt;

&lt;p&gt;This comprehensive insight provided by the F1 score is particularly crucial in anomaly detection, as it helps evaluate the model's ability to accurately recognize and identify anomalous events.&lt;/p&gt;

&lt;h2&gt;
  
  
  F1 score in anomaly detection
&lt;/h2&gt;

&lt;p&gt;Anomaly detection, once a labor-intensive process, has become much more efficient with the rise of artificial intelligence. Advanced tools like Eyer, an AI-powered anomaly detection platform, have streamlined this process by automating the identification of unusual data patterns.&lt;/p&gt;

&lt;p&gt;At its core, anomaly detection involves analyzing data to identify patterns or behaviors that deviate significantly from the norm. These deviations, often referred to as anomalies or outliers, can signal critical events such as fraud, system failures, or network intrusions. By using Eyer's sophisticated algorithms, these anomalies can be detected earlier and with greater accuracy, enabling organizations to respond to potential threats in real-time.&lt;/p&gt;

&lt;p&gt;Given the potential consequences of relying on ineffective anomaly detection tools, it’s crucial to trust the performance of platforms like Eyer. One way to measure this trust is through the F1 score, which provides valuable insights into the balance between precision and recall.&lt;/p&gt;

&lt;p&gt;For a deeper dive into Eyer's performance, including its F1 score testing results, check out the official documentation and read all about Eyer’s findings on the &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/portal/1/article/118554627" rel="noopener noreferrer"&gt;F1 performance testing of the core algorithm of Eyer&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  In summary
&lt;/h1&gt;

&lt;p&gt;Many of the artificial intelligence models we encounter in our daily lives are classification models. These models help us determine whether data has specific characteristics, ranging from something as simple as identifying spam emails to more critical applications like diagnosing cancer in patients.&lt;/p&gt;

&lt;p&gt;Since we often don’t know the correct answers to the questions posed by classification models, it’s essential to trust these systems to make accurate predictions and draw the right conclusions from the data. This is where the F1 score comes into play.&lt;/p&gt;

&lt;p&gt;The F1 score offers a balanced evaluation of a classification model’s performance by considering both precision and recall. Its value lies in providing a comprehensive measure that neither precision nor recall can fully capture. This makes the F1 score particularly vital in high-stakes scenarios like anomaly detection and medical diagnosis, where both false positives and false negatives can have serious consequences. By understanding and calculating the F1 score, we gain deeper insights into the effectiveness of AI-powered classification models, allowing us to develop more reliable and trustworthy systems. Tools like Eyer, which incorporate the F1 score into their evaluations, demonstrate how this metric can enhance decision-making in real-world AI applications.&lt;/p&gt;

&lt;p&gt;Ultimately, using the F1 score not only helps validate the performance of these models but also ensures that they align with the critical needs of various sectors. Whether in healthcare, finance, or cybersecurity, understanding the strengths and weaknesses of classification models through the F1 score can lead to better outcomes and increased confidence in automated decisions. As reliance on AI grows, prioritizing robust evaluation metrics like the F1 score will be essential for building the next generation of intelligent systems that we can trust.&lt;/p&gt;

&lt;p&gt;Lastly, check out &lt;a href="https://eyer.ai/" rel="noopener noreferrer"&gt;Eyer&lt;/a&gt; for an F1 score-approved, AI-powered anomaly detection tool to monitor your systems.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>The role of baselines in anomaly detection</title>
      <dc:creator>Amarachi Iheanacho</dc:creator>
      <pubDate>Mon, 29 Jul 2024 08:51:15 +0000</pubDate>
      <link>https://dev.to/eyer-ai/the-role-of-baselines-in-anomaly-detection-3o0f</link>
      <guid>https://dev.to/eyer-ai/the-role-of-baselines-in-anomaly-detection-3o0f</guid>
      <description>&lt;p&gt;Artificial intelligence and machine learning are quickly making their way into every facet of life, including art, customer service, engineering, and, more recently, anomaly detection, particularly through tools like &lt;a href="https://eyer.ai/" rel="noopener noreferrer"&gt;Eyer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Anomaly detection was once a repetitive and labor-intensive task, involving countless hours of peering into and analyzing large datasets to identify irregularities or anomalies. However, tools like Eyer now leverage artificial intelligence to automate the process of reading and analyzing large datasets to detect anomalies. But how do you determine if a data point is an anomaly? What constitutes normal behavior? These are the questions that baselines provide some answers to, and this article explores what baselines are and how they are used in anomaly detection and other industries.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a baseline?
&lt;/h2&gt;

&lt;p&gt;In &lt;a href="https://eyer.ai/blog/how-to-use-eyer-and-grafana-to-query-and-visualize-anomalies-in-cpu-and-memory-metrics/" rel="noopener noreferrer"&gt;anomaly detection&lt;/a&gt;, baselines serve as reference points or models that represent the normal behavior of a system or dataset under normal conditions. These baselines are crucial for identifying deviations in the data that may indicate anomalies or outliers. A baseline includes lower and upper boundaries, creating a band within which a metric is expected to stay under normal conditions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.stackstate.com/v/4.0/use/baselining" rel="noopener noreferrer"&gt;Baselines&lt;/a&gt; are typically created using historical data. They can be derived from the mean or median of the dataset.  Alternatively, you can define baselines using percentiles. For example, any data point outside the 5th or 95th percentile, which in this case are the lower and upper threshold of the baseline, might be flagged as an anomaly.&lt;/p&gt;

&lt;p&gt;Additionally, you can also derive baselines with learning models like linear regression or decision trees. These models can capture relationships in the data and highlight deviations from those relationships. Additionally, clustering algorithms like K-means can be used to define normal clusters of data points. Points that don't fit well into any cluster can be considered anomalies.&lt;/p&gt;

&lt;p&gt;While baselines are normally derived from historical data, you must note that they are typically subject to change and, therefore, continuously update as new data flows in.&lt;/p&gt;

&lt;p&gt;Now that you understand baselines let's dive into the various methods for identifying baselines for your dataset.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is baseline detection?
&lt;/h2&gt;

&lt;p&gt;As the name suggests, baseline detection is the process of discovering what a baseline for a dataset is. Introduced briefly in the previous section, there are different methods of baseline detection:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Statistical methods:&lt;/strong&gt; These techniques rely on statistical properties of the data to define a range of normalcy; these techniques include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mean and standard deviation&lt;/strong&gt;: This approach defines a normal range based on the mean value and its standard deviation. Data points outside a certain number of standard deviations from the mean can be considered anomalies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Percentiles&lt;/strong&gt;: This approach defines normal behavior using percentiles. For example, the 5th percentile and the 95th percentile might represent the lower and upper bounds of normal behavior. Points that fall outside this range are flagged as anomalies.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Time series analysis:&lt;/strong&gt; When dealing with data collected over time, specific methods can be used to identify the underlying baseline trend: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Autoregressive models&lt;/strong&gt;: These models predict future values based on past data points, essentially creating a baseline for what the next data point should look like.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Moving average&lt;/strong&gt;: This method smooths out short-term fluctuations by averaging a series of past data points. This helps highlight the longer-term trends, making it easier to identify deviations from the baseline.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Machine learning models:&lt;/strong&gt; Machine learning offers powerful tools to automatically learn the baseline from your data. Some of these tools are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Simple models&lt;/strong&gt;: &lt;a href="https://www.ibm.com/topics/linear-regression#:~:text=Linear%20regression%20analysis%20is%20used,is%20called%20the%20independent%20variable." rel="noopener noreferrer"&gt;Linear regression&lt;/a&gt;, for instance, can establish a baseline by capturing the underlying relationships within the data. Deviations from this baseline might indicate anomalies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clustering&lt;/strong&gt;: &lt;a href="https://www.simplilearn.com/tutorials/machine-learning-tutorial/k-means-clustering-algorithm#:~:text=K%2DMeans%20clustering%20is%20an,'K'%20is%20a%20number." rel="noopener noreferrer"&gt;Clustering algorithms like K-means&lt;/a&gt; can group similar data points together. Points that don't fit well into any cluster are potential outliers or anomalies.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why does baseline detection matter?
&lt;/h2&gt;

&lt;p&gt;Baselines and baseline detection are important for different applications. Some of these applications are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Anomaly detection&lt;/strong&gt;: This is one of the primary use cases that comes to mind when discussing baseline detection. By identifying data points or events that stray significantly from the established norm, anomaly detection helps us spot potential problems. This is crucial in industries like observability, where tools like Eyer leverage &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/portal/1/article/9076743" rel="noopener noreferrer"&gt;baselines to flag anomalies&lt;/a&gt; for further investigation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quality control&lt;/strong&gt;:  In manufacturing processes, baselines can be established for various parameters like temperature, pressure, or component dimensions. Baseline detection helps identify products deviating from these expected values, potentially indicating defects. This allows for early intervention and ensures product quality.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Predictive maintenance&lt;/strong&gt;: Baseline detection can be used to monitor equipment performance over time. By establishing baselines for normal operating parameters such as vibration levels, temperature, and energy consumption, deviations can be identified before they become critical failures. This allows for proactive maintenance, minimizing downtime and repair costs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finding these deviations from the norm is precisely what makes baseline detection so valuable. Next, let's take a closer look at a specific use case–anomaly detection with Eyer–dissecting how this new age tool approaches baselining.&lt;/p&gt;

&lt;h2&gt;
  
  
  Eyer’s approach to baselining using multiple baselines
&lt;/h2&gt;

&lt;p&gt;Eyer is an &lt;a href="https://eyer.ai/blog/observability-with-grafana-and-eyer/" rel="noopener noreferrer"&gt;AI-powered observability tool&lt;/a&gt; that leverages baselining for discovering anomalies in a system. Eyer approaches baselining in a very interesting way: it understands that each metric is unique and caters to each as such. For each unique metric, Eyer builds baselines using a combination of autoregressive and clustering models. These baselines, which are built from historical data,  consist of upper and lower thresholds.&lt;/p&gt;

&lt;p&gt;The term "baselines" is intentional because Eyer can build up to &lt;a href="https://www.youtube.com/watch?v=oU5Q97tpXl8" rel="noopener noreferrer"&gt;three baselines&lt;/a&gt; for a single metric: a primary (or main) baseline and one to two secondary baselines. These baselines can account for different normal behaviors of the same metric on the same day. For example, on some Mondays at noon, CPU utilization might be at 30%, while on others, it could be at 70%, and both are considered normal. However, if 30% utilization is slightly more frequent, it will be the primary baseline, with 70% as a secondary baseline.&lt;/p&gt;

&lt;p&gt;The main baseline represents the most frequent behavior and is considered anomaly-free. The secondary baselines represent less frequent behaviors that could still be normal but might occasionally conceal some anomalies.&lt;/p&gt;

&lt;p&gt;The thresholds that makeup baselines are learned automatically and are dynamic. They are learned and relearned based on past behaviors, and these thresholds are adopted and learned if any changes occur in the system. So, there is no need for manual actions to set up the monitoring systems, as the AI algorithm learns by itself.&lt;/p&gt;

&lt;p&gt;But what role does baselining play in an Eyer anomaly alert?&lt;/p&gt;

&lt;h2&gt;
  
  
  How does Eyer build out an anomaly alert using baselining?
&lt;/h2&gt;

&lt;p&gt;With these multiple baselines defining normal behavior, it becomes easier to spot anomalies in the data. &lt;/p&gt;

&lt;p&gt;It is easy to think of any data point that exists outside the established baselines as an anomaly, but it isn't always marked as one. The data point behavior needs to meet a couple of requirements before being classified as an anomaly.&lt;/p&gt;

&lt;p&gt;The verification phase determines whether a deviation is an anomaly. In the first part of the verification phase, some deviations can be ruled out through trend analysis. For example, if the data points are only slightly outside the baselines but the overall trend appears normal, they are not considered deviations and thus not considered anomalous.&lt;/p&gt;

&lt;p&gt;After this, a 15-minute verification window is used to monitor data for anomalies. If data deviates from normal behavior for at least 8 minutes within this window, that behavior is classified as anomalous, and the corresponding data point is flagged as an anomaly.&lt;/p&gt;

&lt;p&gt;Conversely, if a data point falls outside the baseline for less than 8 minutes within the 15-minute verification window, the anomaly is considered closed.&lt;/p&gt;

&lt;p&gt;However, identifying a data point as anomalous is just the beginning. The next step is figuring out how anomalous that data point really is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Classification of anomaly alerts&lt;/strong&gt;&lt;br&gt;
An alert can include anomalies on several metrics. Each anomaly on each metric has an assigned severity. The overall &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/portal/1/article/9076908" rel="noopener noreferrer"&gt;severity of the alert&lt;/a&gt; is based on the severity of the anomalies contained in the alert.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The severity of the anomaly on a single metric&lt;/strong&gt;&lt;br&gt;
After confirming a data point as an anomaly, Eyer assigns it a weight based on how significantly it deviates from the baselines. These weights are categorized as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Maximum weight&lt;/strong&gt;: A data point receives a maximum weight of 2 if it exists far outside all predefined baselines.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Medium weight&lt;/strong&gt;: This weight, valued at 1, is assigned to a data point that exists beyond the primary baseline but remains within one of the secondary baselines.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero weight&lt;/strong&gt;: When a data point temporarily returns to the main baseline after deviating, it receives a weight of zero.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Depending on how long an anomaly remained outside the main or secondary baselines—these weighted deviations are averaged to form the anomaly's history. This average of weighted deviations is then translated into an anomaly score ranging from 0 to 100, where 0 indicates a critical anomaly, and 100 indicates an anomaly-free state.&lt;/p&gt;

&lt;p&gt;This anomaly score, which you can refer to as AS, is then used to describe the severity and likelihood of behavior in a data point being anomalous and potentially impactful. The higher the AS, the less likely the behavior is anomalous. Here's a breakdown of what the AS signifies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AS &amp;gt; 85&lt;/strong&gt;: &lt;strong&gt;No anomaly&lt;/strong&gt;. Anomaly scores above 85 indicate that the behavior in the data point can be thought of as primary expected behavior, with minor deviations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;60 &amp;lt; AS &amp;lt;= 85&lt;/strong&gt;: &lt;strong&gt;Low severity&lt;/strong&gt;. If the anomaly score is greater than 60 and less than or equal to 85, it indicates a low-severity anomaly. This means the data point exhibits minor anomalous behaviors similar to those observed in recent days, weeks, and months. Although the likelihood of the behavior being an anomaly is low, it may occasionally conceal anomalous behavior.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;30 &amp;lt; AS &amp;lt;= 60&lt;/strong&gt;: &lt;strong&gt;Medium severity&lt;/strong&gt;. If the anomaly score is between 30 and 60, it indicates a medium-severity anomaly. This means that the data point behavior may be anomalous but also resembles patterns seen previously, making it less certain as an anomaly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AS &amp;lt;= 30&lt;/strong&gt;: &lt;strong&gt;Severe&lt;/strong&gt;. If the anomaly score is less than or equal to 30, it indicates that the anomaly is severe. This means that there is a prevalence of new unseen behavior.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In addition to classifying anomalies by their severity, another perk of  Eyer and its anomaly detection is that the metrics are not only learned in isolation. Eyer also &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/portal/1/article/9076887" rel="noopener noreferrer"&gt;uses correlations&lt;/a&gt; to group related metrics and their anomalies together, combining them in a single alert and making it easier for root cause analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Correlations in Eyer alerts&lt;/strong&gt;&lt;br&gt;
Correlations help describe the degree to which two or more variables move in relation to one another. In Eyer, correlations help identify how different metrics influence each other or exhibit similar patterns.&lt;/p&gt;

&lt;p&gt;Most metrics have a natural correlation. For example, Process CPU is correlated with the number of executions. This is because each execution of a process consumes CPU resources. As the number of executions increases, the cumulative CPU load from these executions also increases.&lt;/p&gt;

&lt;p&gt;After using these baselines to identify anomalies in a metric, determining the severity of those anomalies, and understanding which metrics might be affected by correlations, Eyer packages all this information and sends it out in a comprehensive and succinct alert.&lt;/p&gt;

&lt;p&gt;You can see an example of an Eyer anomaly alert in the code block below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"new"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"updated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"severity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"medium"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"started"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T18:43:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"ended"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"updated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:27:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"667c6193d58419f64f4cb403"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"items"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"node"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;64&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Operating System. undefined"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"system"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"metrics"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2ce746c5-1ee3-45d1-b23f-bae56bc5d51a"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Committed Virtual Memory Size"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"metric_type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"int"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"aggregation"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"avg"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"severity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"severe"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"started"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T18:42:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"updated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:12:00Z"&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"5523ee20-2af2-4b8e-8390-3d2cb4410018"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"System CPU Load"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"metric_type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"double"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"aggregation"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"avg"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"severity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"medium"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"started"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:25:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"updated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:26:00Z"&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"a59df24a-e9ec-4c4c-a087-ea1375d4b9c7"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Process CPU Load"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"metric_type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"double"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"aggregation"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"avg"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"severity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"medium"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"started"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:26:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"updated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:27:00Z"&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"closed"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"severity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"low"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"started"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T18:49:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"ended"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:37:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"updated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:37:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"667c62f7d58419f64f4cb426"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"items"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the alert above, you have the new alerts array, the updated array, and the closed array of alerts. Check out &lt;a href="https://antteam.atlassian.net/wiki/spaces/EKB/pages/69369863/Alerts+-+structure+and+data+explained" rel="noopener noreferrer"&gt;Alerts- structure and data explained&lt;/a&gt;, to understand the structure of the alerts.&lt;/p&gt;

&lt;p&gt;According to this alert, an anomaly update has happened in the Operating system &lt;a href="https://antteam.atlassian.net/wiki/spaces/EKB/pages/47153153/Boomi+data+collector+metrics+structure" rel="noopener noreferrer"&gt;node&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;This anomaly alert has an overall medium severity because it includes one severe anomaly in the Committed Virtual Memory Size metric. The other metrics in the alert, System CPU Load, and Process CPU Load, have medium anomalies.&lt;/p&gt;

&lt;p&gt;The metrics array, which contains both affected and correlated metrics, shows anomalies in the Committed Virtual Memory Size, System CPU Load, and Process CPU Load metrics.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This article has helped you understand the role that baselining plays in machine learning, specifically anomaly detection using historical data. &lt;/p&gt;

&lt;p&gt;While "baseline" might seem like a simple reference point, it is the foundation upon which many crucial models and their results are built. Anomaly &lt;a href="https://eyer.ai/" rel="noopener noreferrer"&gt;detection tools&lt;/a&gt; like Eyer use baselines to determine if a data point's behavior is anomalous and to gauge the extent of the anomaly. This discernment sets the stage for proactive monitoring and timely intervention, ensuring system reliability and performance.&lt;/p&gt;

&lt;p&gt;To learn more about Eyer baselines and start using the Eyer anomaly detection solution, visit the &lt;a href="https://eyer.ai/" rel="noopener noreferrer"&gt;Eyer website&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>aiops</category>
      <category>monitoring</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>How to use Eyer and Grafana to query and visualize anomalies in CPU and memory metrics</title>
      <dc:creator>Amarachi Iheanacho</dc:creator>
      <pubDate>Mon, 29 Jul 2024 08:43:03 +0000</pubDate>
      <link>https://dev.to/eyer-ai/how-to-use-eyer-and-grafana-to-query-and-visualize-anomalies-in-cpu-and-memory-metrics-12kj</link>
      <guid>https://dev.to/eyer-ai/how-to-use-eyer-and-grafana-to-query-and-visualize-anomalies-in-cpu-and-memory-metrics-12kj</guid>
      <description>&lt;p&gt;Anomaly detection, also known as outlier detection, is the practice of identifying data points that deviate significantly from the rest of a data set. Traditionally, this was the domain of statisticians and analysts who spent hours poring over data to find these anomalies. However, like many fields, anomaly detection has evolved over time, leading to the development of solutions like &lt;a href="https://eyer.ai/" rel="noopener noreferrer"&gt;Eyer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;With the rise of machine learning (ML) and artificial intelligence (AI),  ML algorithms can now automatically learn underlying patterns within vast datasets,  process the data, and effectively identify anomalies that might escape even the most trained human eye.&lt;/p&gt;

&lt;p&gt;This article introduces Eyer as the AI-powered anomaly detection tool under review and demonstrates how it can be used to identify anomalies in CPU and memory metrics in a host server or machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;To get started with the tutorial, you must have the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Eyer connector agents installed on production or production-like hosts. If you have not installed these agents, refer to the &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/portal/1/article/30015491" rel="noopener noreferrer"&gt;Eyer documentation&lt;/a&gt; for installation instructions.&lt;/li&gt;
&lt;li&gt;The installed agents must be running continuously for at least a week. This allows the Eyer machine learning pipeline to learn the normal behavior of your Boomi integrations. For more information,  refer to the official documentation on &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/portal/1/article/9043994" rel="noopener noreferrer"&gt;Onboarding, preprocessing, and filtering data&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A Boomi Atom installed locally.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Understanding what Eyer is and how it works.
&lt;/h2&gt;

&lt;p&gt;Eyer is an AI-powered observability tool that provides deep insights into your Boomi integrations. It utilizes machine learning to analyze various metrics and identify unusual patterns or data points that deviate significantly from the norm. This anomaly detection capability helps you proactively address potential issues before they impact your integrations.&lt;/p&gt;

&lt;p&gt;To gather and deliver data to Eyer's machine learning pipeline, the connector employs a range of agents, including web servers (like Jetty or Tomcat), Jolokia, and Telegraf. Each agent plays a crucial role in this process, for example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The web server hosts and serves the Jolokia agent. During installation, you can choose to use Apache Tomcat to serve the Jolokia agent instead of Jetty or any other preferred server.&lt;/li&gt;
&lt;li&gt;The Jolokia agent helps monitor and manage Java applications through a web browser. It acts as a bridge, allowing you to access and control parts of your Java program using simple web requests, and returns the information in an easy-to-read format (JSON).&lt;/li&gt;
&lt;li&gt;The Telegraf agent collects and sends metrics and events from various sources to different databases and systems. It will be responsible for collecting data from your Boomi Atom and sending it to the machine learning pipeline.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Eyer’s anomaly detection works because of the continuous data stream from your Boomi Atom to Eyer’s machine learning pipeline. It is important to note that the remaining events in this tutorial, which involve querying and visualizing anomalies, occur after anomaly detection has been enabled on the Boomi Atom, requiring at least 7 days of a steady data stream.&lt;/p&gt;

&lt;h2&gt;
  
  
  Simulating stress for the servers holding the Boomi Atom
&lt;/h2&gt;

&lt;p&gt;Once the Eyer team confirms your anomaly detection enablement, you can begin querying for anomalies in your environment.&lt;/p&gt;

&lt;p&gt;This guide simulates a production environment by running a Windows virtual machine continuously (24/7) for at least a week. It also injects anomalies by increasing the CPU load on the virtual machine hosting the Boomi Atom you're monitoring.&lt;/p&gt;

&lt;p&gt;Since this guide uses a Windows operating system virtual machine, it utilizes the Windows tool CpuStress v2.0 to maximize CPU utilization.&lt;/p&gt;

&lt;p&gt;While maximizing CPU load offers a valuable way to understand Eyer's capabilities, you can introduce anomalies across different Boomi Atom metrics, including memory, disk usage, and system load.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting started with CpuStres&lt;/strong&gt;&lt;br&gt;
To get started with CpuStres, download the executable file from the &lt;a href="https://learn.microsoft.com/en-us/sysinternals/downloads/cpustres" rel="noopener noreferrer"&gt;CpuStres v2.0 download page&lt;/a&gt;. Once the download is complete, extract the &lt;strong&gt;CPUSTRES.zip&lt;/strong&gt; file and run it to open the &lt;strong&gt;CPU Stress&lt;/strong&gt; modal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXe9GFttLSFmnsA8DGtPbt6DSkKnwq8qSKLRAfHERwu0P0HEOSgTy3iSyCgZIaROD2i_cMoe7LAR1ViyQUmh09GT5vwE6Fp9-r3Znpiei_kGSpn8gmnahE6zHGnKA47uuifTciwhKMwvzaAJoyQuMfCkrjOl%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXe9GFttLSFmnsA8DGtPbt6DSkKnwq8qSKLRAfHERwu0P0HEOSgTy3iSyCgZIaROD2i_cMoe7LAR1ViyQUmh09GT5vwE6Fp9-r3Znpiei_kGSpn8gmnahE6zHGnKA47uuifTciwhKMwvzaAJoyQuMfCkrjOl%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will see your CPU cores in this modal. To activate three or four of these cores, click on each one, navigate to the &lt;strong&gt;Thread&lt;/strong&gt; tab, and select the &lt;strong&gt;Activate&lt;/strong&gt; button from the &lt;strong&gt;Thread&lt;/strong&gt; dropdown.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf99yE_mo4EyPfu2WDPPxuCaTn0xgMeYWr274t_WIDGssALwffZL2Hjfu3qoVTIdzXV6ngsjjnPP1PYdApIScwjHPKU7BDSi61ziE5VKuDEVSgBPSd7I8m7aUaFzeuSVEAOJ626j6tlcs_buSOhGN4ou2c%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf99yE_mo4EyPfu2WDPPxuCaTn0xgMeYWr274t_WIDGssALwffZL2Hjfu3qoVTIdzXV6ngsjjnPP1PYdApIScwjHPKU7BDSi61ziE5VKuDEVSgBPSd7I8m7aUaFzeuSVEAOJ626j6tlcs_buSOhGN4ou2c%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdJvJ8pfWlEO9_5KE75L44TH3PsCLfUWKzK3okEMFgbXwii7ziVplh4wKEJWrF_hc6CO8b-27StKp2hAAC3_vCFEIF3lEA5343OulvkkBs2fEbay2KSTlqARsf5Rtg5nR-qMaBPeKiLP3fJMuqKSueXuY5a%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdJvJ8pfWlEO9_5KE75L44TH3PsCLfUWKzK3okEMFgbXwii7ziVplh4wKEJWrF_hc6CO8b-27StKp2hAAC3_vCFEIF3lEA5343OulvkkBs2fEbay2KSTlqARsf5Rtg5nR-qMaBPeKiLP3fJMuqKSueXuY5a%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Additionally, set the &lt;strong&gt;Activity level&lt;/strong&gt; to high to increase the load on the CPU cores.  To ensure these CPU load stress tests are registered as an anomaly, keep CpuStres running for at least 8 minutes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcng4VGkueuUnkbhekZCn6rwZEtfsZjbeNR7nAJ7maDtgM1Kkr1gYpli6xPKO8IxlgBlU6X6Fgxf995_IC0Upi96ZsYTvyKLAoHupJ8theg2OkezmcfD5ZLGQPQb3_uo4BXMAFShpaZu_X1vWx1h2T28pA2%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcng4VGkueuUnkbhekZCn6rwZEtfsZjbeNR7nAJ7maDtgM1Kkr1gYpli6xPKO8IxlgBlU6X6Fgxf995_IC0Upi96ZsYTvyKLAoHupJ8theg2OkezmcfD5ZLGQPQb3_uo4BXMAFShpaZu_X1vWx1h2T28pA2%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXexctxe1oMkA6kYdrmyF5uuDNqpxtUJ3GBZS0GTBYp5XTJmi3jiFFlsCO8Jk350BFrReGsEci9N-F2Z66s9JHpU1nPWiOyGTM4peAWI8euBlOgTMmS_vEzDUanExPeddViLJd4V-j1TVcaH2KXipHgcFLxu%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXexctxe1oMkA6kYdrmyF5uuDNqpxtUJ3GBZS0GTBYp5XTJmi3jiFFlsCO8Jk350BFrReGsEci9N-F2Z66s9JHpU1nPWiOyGTM4peAWI8euBlOgTMmS_vEzDUanExPeddViLJd4V-j1TVcaH2KXipHgcFLxu%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Configuring the Eyer connector to query the data on anomalies
&lt;/h2&gt;

&lt;p&gt;After simulating anomalous behavior in your host machine, use the Eyer connector to query the information on these anomalies.&lt;/p&gt;

&lt;p&gt;To query this data on anomalies, log into your &lt;a href="http://platform.boomi.com/" rel="noopener noreferrer"&gt;Boomi Atmosphere account&lt;/a&gt;. Go to the &lt;strong&gt;Integration page&lt;/strong&gt;, click &lt;strong&gt;Create New&lt;/strong&gt;, and select &lt;strong&gt;Process&lt;/strong&gt; from the dropdown menu.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf-aRP73-NTAMdJkL0sWcX9UyleXjSv7CTdyjgzzFbr-GXwAaM2EC2R75m-gEH4icK0HD4jwG4DBqRvAsHCcIuyxfcPN7Wyt34vgQMYF_eXB1FldIQnGasi7hKQGxxI0VSI9wfztRaroTtfJfx4phtcL6wh%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf-aRP73-NTAMdJkL0sWcX9UyleXjSv7CTdyjgzzFbr-GXwAaM2EC2R75m-gEH4icK0HD4jwG4DBqRvAsHCcIuyxfcPN7Wyt34vgQMYF_eXB1FldIQnGasi7hKQGxxI0VSI9wfztRaroTtfJfx4phtcL6wh%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action will open the &lt;strong&gt;Start Shape&lt;/strong&gt; sidebar. Choose the &lt;strong&gt;Connector&lt;/strong&gt; radio button. Next, in the &lt;strong&gt;Connecto&lt;/strong&gt;r field, search and select the &lt;strong&gt;Eyer-Partner connector&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXecziF_eTOQ75QNEyTrbjXNkl3res8zGQgGre4zaZW0JSe6paxMyFBYPNPkeOPO7AdwzVnB9WWzbhcGPo8_ap4X0TFXZrJ79-mRnpXfwtsrnRVKw9Gduf6i-dk2n02TUcdOIddOrvnamEztn91x-WbdfadO%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXecziF_eTOQ75QNEyTrbjXNkl3res8zGQgGre4zaZW0JSe6paxMyFBYPNPkeOPO7AdwzVnB9WWzbhcGPo8_ap4X0TFXZrJ79-mRnpXfwtsrnRVKw9Gduf6i-dk2n02TUcdOIddOrvnamEztn91x-WbdfadO%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, click the + button in the &lt;strong&gt;Connection&lt;/strong&gt; field to open the connection page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXclogpfWIUGQRL0XHZJxCV_UU0XPBB07BMNsRGZ3ewWhyuz_M1hkkVwdqCcEsMkiMqH71h2P6Xbt-8xcKyE84nksTtgOBOTN2sh72B-o2F41hjYfItn2rLYwO-9LCTEC3osPXqf8Z5mgqyQAHyeVDNpuBlb%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXclogpfWIUGQRL0XHZJxCV_UU0XPBB07BMNsRGZ3ewWhyuz_M1hkkVwdqCcEsMkiMqH71h2P6Xbt-8xcKyE84nksTtgOBOTN2sh72B-o2F41hjYfItn2rLYwO-9LCTEC3osPXqf8Z5mgqyQAHyeVDNpuBlb%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Leave the &lt;strong&gt;Server&lt;/strong&gt; and the &lt;strong&gt;Eyer authentication key&lt;/strong&gt; fields as their default values.&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Custom Authentication Credentials&lt;/strong&gt; field, click the &lt;strong&gt;Encrypted&lt;/strong&gt; button and fill it out with your Eyer authentication key.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXft5g5DkDXYPwmNzInF9tMCTOLZQYLYY8alaPUbV6Bqj3xOaTHR8dtz0ge6aECFfGK2_k_mZckXeBedpGIx9tgIIWhkIpXO-WX29yn0Qy1BN7G-2UbB22P-1ickuxC0oGM2G6giXeWoVLYIpKjDphYdWEjK%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXft5g5DkDXYPwmNzInF9tMCTOLZQYLYY8alaPUbV6Bqj3xOaTHR8dtz0ge6aECFfGK2_k_mZckXeBedpGIx9tgIIWhkIpXO-WX29yn0Qy1BN7G-2UbB22P-1ickuxC0oGM2G6giXeWoVLYIpKjDphYdWEjK%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;Save and Close&lt;/strong&gt; button to return the Eyer connector sidebar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating Eyer-Partner operation&lt;/strong&gt;&lt;br&gt;
In the sidebar, select a &lt;strong&gt;Get&lt;/strong&gt; action and then click the &lt;strong&gt;+&lt;/strong&gt; button on the &lt;strong&gt;Operation&lt;/strong&gt; field to create a new Eyer operation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdT0c3vL0dnST25urioVNsjHOa_hsy9g0WhpcAy64re10CW0yAO_e1JhXtyP3Gl6lHwkyZqvvqJQTLvPefhajpp2374mGhZ-WBtU8HJq9jIT3N2lmYO8wRUf5ZUbgHSovnNiP56K3qUBzhFjfR7GErvXvR7%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdT0c3vL0dnST25urioVNsjHOa_hsy9g0WhpcAy64re10CW0yAO_e1JhXtyP3Gl6lHwkyZqvvqJQTLvPefhajpp2374mGhZ-WBtU8HJq9jIT3N2lmYO8wRUf5ZUbgHSovnNiP56K3qUBzhFjfR7GErvXvR7%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clicking the &lt;strong&gt;+&lt;/strong&gt; button opens up the Eyer operation’s page. On this page, click the &lt;strong&gt;Import Operation&lt;/strong&gt; button to create a new operation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXe_Xi45i74ae9MBNejpOaO3z_ZJn2E8CCYbRLoz9kYV_ob0jjPDXDbVgzvE_Zr1S7IO2zlaFjwxowny-s6BrP2fmlH7zHKLbFLxZM8Hg5Sd2mSxJBnxUSYpCa0BqEnREBz4HwgmQuY9m1Bvf81MVJO15eNt%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXe_Xi45i74ae9MBNejpOaO3z_ZJn2E8CCYbRLoz9kYV_ob0jjPDXDbVgzvE_Zr1S7IO2zlaFjwxowny-s6BrP2fmlH7zHKLbFLxZM8Hg5Sd2mSxJBnxUSYpCa0BqEnREBz4HwgmQuY9m1Bvf81MVJO15eNt%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action opens up the &lt;strong&gt;Eyer-Partner Connector Operation Import&lt;/strong&gt; modal. Fill out this modal with the following information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Atom&lt;/strong&gt;: Select the Atom you are running the process in from your dropdown&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connection&lt;/strong&gt;: Select the Eyer connection you made for this process
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXd-xYl5fTBCrQjcIAv6whPcOOpT9tB7b7xH7SJzgmWLT3Q-lfQ17FmAow9KyPHdIRSr9EuIvkCZ-L_k7LMFAirVxXhuZfcvKUMGqb6E5cnj4AdBZB7GU2kNWubm35ipBKoESIKEPgiJomkqz-5M8aGcryEI%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Click on the &lt;strong&gt;Next&lt;/strong&gt; button to save your operation. Then, select the Object Type that fits your purpose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Anomalies&lt;/strong&gt; returns a list of anomaly alerts grouped by correlation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anomalies with metrics&lt;/strong&gt; return a list of anomaly alerts grouped by correlation metrics, including their respective values and baseline values at the time of the alert (new/updated)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this example, we select the &lt;strong&gt;Anomalies with metrics&lt;/strong&gt; object type. Click on the &lt;strong&gt;Next&lt;/strong&gt; button to save your &lt;strong&gt;Object Type&lt;/strong&gt; preference, and click the &lt;strong&gt;Finish&lt;/strong&gt; button to see your Eyer response profile loaded on your &lt;strong&gt;Operation&lt;/strong&gt; page.&lt;/p&gt;

&lt;p&gt;Next, you need to define the operation values. These values define the information required in anomaly alerts. For the &lt;strong&gt;Eyer-Partner connector&lt;/strong&gt;, you can define operation values using either the &lt;strong&gt;Options&lt;/strong&gt; or &lt;strong&gt;Dynamic operation property&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Options&lt;/strong&gt; are great for static operation values. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic operation properties&lt;/strong&gt; are better when the start and end values are always changing. To learn more about the distinction between options and dynamic operation properties, check the official documentation on &lt;a href="https://eyer-docs.netlify.app/docs/getting-started-with-eyer/configuring-the-eyer-connector" rel="noopener noreferrer"&gt;Configuring the Eyer connector&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This guide will use Dynamic Operation properties to determine the Operation’s value.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting operation value with Dynamic operation properties&lt;/strong&gt;&lt;br&gt;
To set up the Dynamic Operation properties, navigate to the &lt;strong&gt;Dynamic Operation Properties&lt;/strong&gt; tab and click the &lt;strong&gt;Add Dynamic Operation Property&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdo8mYpkZnqVUOA5nPeFYivQ7xwP_AqypYaamtIS2mLa9dFJAt-CI5ELoS8lnmYWurrY7o3z3NM3uIilU5ziZy9D6ogHHBwXDT0JyWgcbcE6YajPveWwFXObeO3It_ISR-vE2LBkOUc_SFfQbTbkQvryEJD%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdo8mYpkZnqVUOA5nPeFYivQ7xwP_AqypYaamtIS2mLa9dFJAt-CI5ELoS8lnmYWurrY7o3z3NM3uIilU5ziZy9D6ogHHBwXDT0JyWgcbcE6YajPveWwFXObeO3It_ISR-vE2LBkOUc_SFfQbTbkQvryEJD%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action opens up a &lt;strong&gt;Parameter Value&lt;/strong&gt; modal; in this modal, select the following options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Input → Query from&lt;/li&gt;
&lt;li&gt;Type → Date/Time&lt;/li&gt;
&lt;li&gt;Date Mask → yyyy-MM-dd’T’HH:mm:ssZ&lt;/li&gt;
&lt;li&gt;Date Type → Last Successful Run Date&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These Parameter Value options tell the Eyer-Partner Connector to start the query for anomalies since the last test.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdDxHRWetYjTrFDJJc_XWtK7uXkNyeHxneaqMGw0IBX7H9C4i8PLb8V0QMdUlDvR_kNZzK1H7clFDq_hW_yjyS57r1yg7ss5tvJL1mnlsDnO-BDCqaQU-vESftWy52-UMv3dtwYdvhwVGEThPvF-vH2TnML%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdDxHRWetYjTrFDJJc_XWtK7uXkNyeHxneaqMGw0IBX7H9C4i8PLb8V0QMdUlDvR_kNZzK1H7clFDq_hW_yjyS57r1yg7ss5tvJL1mnlsDnO-BDCqaQU-vESftWy52-UMv3dtwYdvhwVGEThPvF-vH2TnML%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;OK&lt;/strong&gt; button to return to the &lt;strong&gt;Dynamic Operation Properties&lt;/strong&gt; tab.&lt;/p&gt;

&lt;p&gt;Next, create a new Dynamic Operation Property, filling in the Parameter Value with the following information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Input -&amp;gt; Query to&lt;/li&gt;
&lt;li&gt;Type -&amp;gt; Date/Time&lt;/li&gt;
&lt;li&gt;Date Mask -&amp;gt; yyyy-MM-dd’T’HH:mm:ssZ&lt;/li&gt;
&lt;li&gt;Data Type -&amp;gt; Current Date&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These values tell the Eyer-Partner Connector to query the current date for anomalies.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXc0U-2l_9gZzwWT8haT5_3jnmPztysi7TKTGVmILW9ENXD7WI_0J33xOUi5x8obBhtAG_eCQPCIFUPHLSimgUD_CP-fVTBGCYZV_EBxKrXBV4SQlmhwIOiiJyW616nlDCzPDkZGV2a05O6-2HqzU2031Rxq%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXc0U-2l_9gZzwWT8haT5_3jnmPztysi7TKTGVmILW9ENXD7WI_0J33xOUi5x8obBhtAG_eCQPCIFUPHLSimgUD_CP-fVTBGCYZV_EBxKrXBV4SQlmhwIOiiJyW616nlDCzPDkZGV2a05O6-2HqzU2031Rxq%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;OK&lt;/strong&gt; button to save the parameter value and return to the sidebar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdxS1vOukpJbwJaqedjVb1Q6iv5LjQMhMX0kRWvukHv7Osg_jDNAvY9pXtjinqBi4gobSP_x_q3Mr7E0I7-85c6LG1gjPWEBShfvNETfwbVBK_73ZTDPMAugAERvr4NnOTX7akBzUDVy_fyKojHJhVB6Sw%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdxS1vOukpJbwJaqedjVb1Q6iv5LjQMhMX0kRWvukHv7Osg_jDNAvY9pXtjinqBi4gobSP_x_q3Mr7E0I7-85c6LG1gjPWEBShfvNETfwbVBK_73ZTDPMAugAERvr4NnOTX7akBzUDVy_fyKojHJhVB6Sw%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;OK&lt;/strong&gt; button to save the Dynamic Operation Property configuration and return to the Boomi process canvas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sending out the email&lt;/strong&gt;&lt;br&gt;
With Boomi, you have multiple options for receiving these anomalies. This guide uses the Boomi Mail connector. To learn how to configure the Mail connector,  check out the &lt;a href="https://help.boomi.com/docs/atomsphere/integration/connectors/r-atm-mail_connector_4e32e771-5351-4e2c-b1fd-d7bd1bd82f1a/#:~:text=Use%20the%20Mail%20connector%20to,exchanging%20data%20between%20trading%20partners." rel="noopener noreferrer"&gt;Boomi Mail connector&lt;/a&gt; documentation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcm3IToDYv0Go3Tfxt7xhlYf-WeAiebi0O2MdvwcWZinrJGJ-AR48vyOratxlSf4r15m2xOepLJ6tSxmb-rZ7ju5zHOY3lflqYsGDGBzlTe6QmwhFbl-Hr_Ifhba5G5TwKpoQ0DkUQHwatCbZnUHpKEAcc%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcm3IToDYv0Go3Tfxt7xhlYf-WeAiebi0O2MdvwcWZinrJGJ-AR48vyOratxlSf4r15m2xOepLJ6tSxmb-rZ7ju5zHOY3lflqYsGDGBzlTe6QmwhFbl-Hr_Ifhba5G5TwKpoQ0DkUQHwatCbZnUHpKEAcc%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here are the anomalies from the CPU stress test received in the mail.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"new"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"updated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"severity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"medium"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"started"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T18:43:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"ended"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"updated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:27:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"667c6193d58419f64f4cb403"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"items"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"node"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;64&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Operating System. undefined"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"system"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"metrics"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2ce746c5-1ee3-45d1-b23f-bae56bc5d51a"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Committed Virtual Memory Size"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"metric_type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"int"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"aggregation"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"avg"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"severity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"severe"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"started"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T18:42:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"updated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:12:00Z"&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"5523ee20-2af2-4b8e-8390-3d2cb4410018"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"System CPU Load"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"metric_type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"double"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"aggregation"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"avg"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"severity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"medium"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"started"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:25:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"updated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:26:00Z"&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"a59df24a-e9ec-4c4c-a087-ea1375d4b9c7"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Process CPU Load"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"metric_type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"double"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"aggregation"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"avg"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"severity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"medium"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"started"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:26:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"updated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:27:00Z"&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"closed"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"severity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"low"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"started"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T18:49:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"ended"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:37:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"updated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-06-26T19:37:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"667c62f7d58419f64f4cb426"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"items"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This alert has anomalies whose values have been updated. This is because the environment used in this tutorial has been running for a while and has experienced different anomalies and changes to these anomalies. In your environment, these anomalies might appear in the new object.&lt;/p&gt;

&lt;p&gt;The anomalies are in the Operating System node. A node is a group of metrics that work together.  Refer to the official documentation to understand the &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/portal/1/article/47153153" rel="noopener noreferrer"&gt;list of nodes and the metrics underneath these nodes&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This node has a couple of anomalies on the following metrics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Committed Virtual Memory Size&lt;/strong&gt;: This metric is flagged as severe, indicating that the Committed Virtual Memory size metric significantly deviates from past observed behavior and has the highest likelihood of being a disruptive anomaly. To learn more about the severity property, check out the official &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/portal/1/article/9076908" rel="noopener noreferrer"&gt;documentation on Alerting&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;System CPU Load&lt;/strong&gt;: This metric indicates the overall CPU load on the system. It has a medium severity, meaning that the metric occasionally deviates from the previously observed and learned behavior. A medium severity indicates a moderate probability that this is an anomaly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Process CPU Load&lt;/strong&gt;: This metric indicates the CPU load of a specific process and has a severity value of medium.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Additionally, you can see a Closed Anomalies array containing a previously detected low severity anomaly that has been resolved.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deciphering the data using Grafana
&lt;/h2&gt;

&lt;p&gt;Now that you have received the alert about the anomalies in the host system let's view these alerts on a Grafana dashboard.&lt;/p&gt;

&lt;p&gt;Grafana is fantastic for many reasons, one of which is that it simplifies the visualization of your JSON data and aids in monitoring system metrics. To learn more about how Grafana can benefit you, check out this article on &lt;a href="https://eyer.ai/blog/observability-with-grafana-and-eyer/" rel="noopener noreferrer"&gt;Observability with Grafana and Eyer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting up Grafana with Eyer&lt;/strong&gt;&lt;br&gt;
To set up and connect Grafana to visualize your Eyer data, follow these steps:&lt;/p&gt;

&lt;p&gt;1.Log in to your Grafana account.&lt;br&gt;
2.Launch Grafana Cloud:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the Grafana Cloud portal page, click the "Launch" button. This will take you to your Grafana Cloud page. Click the "Launch" button again to go to the Dashboard page.
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdK9FQaAsZHp5CMeFKwgQedvXORlNiFfmjUg7d3uDVuiaTY-y2I8XL-rL4u4-_dhJPdvYfv_fnEecq76UyeNyhWbsInLYE1htm5rJfrm8czuDq9qxlzjg7OaLkVGroHnosv29fVT23PeJhwTQVexOuwiUCl%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3.Add a new connection:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On the Dashboard page, navigate to the left-hand side menu and select the "Add new connection" tab.&lt;/li&gt;
&lt;li&gt;In the "Add new connection" page, select "InfluxDB."
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeYt3g83d9gEcE_nvAOFbyTWtLx20Weei2oMrcAJXjEIzjgnsOgMjllVWzzbVvrolD6Yo4Sts3HAqiAIIR1X00I5tsBwmVI29pkC3tJ5FWQufCKXzjYFxlO82zuyXCn3VZb-JB81MFItoE9-RgNU6Ru3HKs%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXc9nyGlbrr0B8iHXZWdeEln55QoU_Zq1slVCYtFvcJDy4ey6-aeIZ46dcHk541oCskx0sxv1KU4VaRsKulGZ_3I-H42DSh4hIvqxg5uelUlVLeBXSqSZSO0ivVTF_JcW0Ki8SAiAZH8bJtX8ERGyYc7rDqw%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXc9nyGlbrr0B8iHXZWdeEln55QoU_Zq1slVCYtFvcJDy4ey6-aeIZ46dcHk541oCskx0sxv1KU4VaRsKulGZ_3I-H42DSh4hIvqxg5uelUlVLeBXSqSZSO0ivVTF_JcW0Ki8SAiAZH8bJtX8ERGyYc7rDqw%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Add a new data source:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On the InfluxDB page, click “Add new data source.”
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdnHLgY9W-9AOaFS2NPVoeyTmtqIPY1EylEps0DKVL6m1o_g3uOqNOmy_-C6j3xCq3EAmm6lOpTc3YYzn5a_kbR_DXS15jF17o167emZzlX3i8FznPoW5P9MR4cMr35ivtf8O4uDOzhV-Ei_Jm32V6FEdXR%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;5.Configure the data source settings: On the settings page, set the following configuration fields:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set “Query language” to “Flux.”&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set “URL” to “&lt;a href="https://westeurope-1.azure.cloud2.influxdata.com.%E2%80%9D" rel="noopener noreferrer"&gt;https://westeurope-1.azure.cloud2.influxdata.com.”&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdJR5EimJ6uDskE9bD7cRyUTNM_kRNjL3hR-cKlYvEutWXXjV0_pvr6sDfHmOAxXT6ZhHkU8jWLVnX2LcJi81l5E8nwVYRgnEsYnxUgf3tSOJq8giOhsnP2hRxRXvss1oRyYIrrGDNzBB96Q92MvIo43Gqn%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdJR5EimJ6uDskE9bD7cRyUTNM_kRNjL3hR-cKlYvEutWXXjV0_pvr6sDfHmOAxXT6ZhHkU8jWLVnX2LcJi81l5E8nwVYRgnEsYnxUgf3tSOJq8giOhsnP2hRxRXvss1oRyYIrrGDNzBB96Q92MvIo43Gqn%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the “Auth” section, turn off basic auth.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under “InfluxDB Details,” enter the “Organization” and “Token” values you received with your InfluxDB details.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXd6giWBXqBFxEYXINN2RVuROwCSuLVSIRLo6Wwjb3R-wOhsfQ9_W2fk1yOP3QfSINjMh6WfTdemn1WOtLJ6N0lRK4FQTNh3z8v8Fj4CgpYR0MkmCMzU2sK57ifoZoJ7y8jVbpaRZ37r9opA3K1ULMvGtJ8U%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXd6giWBXqBFxEYXINN2RVuROwCSuLVSIRLo6Wwjb3R-wOhsfQ9_W2fk1yOP3QfSINjMh6WfTdemn1WOtLJ6N0lRK4FQTNh3z8v8Fj4CgpYR0MkmCMzU2sK57ifoZoJ7y8jVbpaRZ37r9opA3K1ULMvGtJ8U%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;6.Save and test the connection:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click “Save and test.” If the connection works, a notification should pop up, and you can proceed to the next step. 
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXd4z9OqkLe-HTd4KIeOA0AQxI57mw9T6Twwr2lZ3rRRHY1H9WGv-IcfsEmVq-gEEuGx65I4jL6czsPRdzdOd4YG2gdhtN0DS8w_0iD_j0fITNSyCkzWbiDGEJ6v3SmuXY6n6Ta4cIKMb3Ico7TP3JWDHVd2%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If it doesn't work, double-check your settings. If the problem persists, &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/portal/1" rel="noopener noreferrer"&gt;send a support request&lt;/a&gt; or contact us on the &lt;a href="https://discord.gg/yCeM3NFcQM" rel="noopener noreferrer"&gt;official Eyer Discord channel&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;7.Create a dashboard:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click the "building a dashboard" link in this connection pop-up. This will take you to the “Start your new dashboard by adding a visualization” page.
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfZrmw7Pf7g1hXa_7lFph45rdcD6KIWJDuXHzMav8-KvbG8yrm0_PvcDSJVL-de48OOMzx4RDLgPFvfs0xA4jTjpjPg_77GuuWHWrvjtkb4HWKnLgIEWi5epjNRVUJ0KX0HbPWFy1VoTe8HrFmYVsA1fR0d%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;8.Import a dashboard:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On the next page, click “Import a dashboard” to go to the Import dashboard page.&lt;/li&gt;
&lt;li&gt;Click “Upload dashboard JSON file” on this page and select the JSON file you received with your InfluxDB details.
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeJ3PGdSuTgSlTxRpRMtQJHvv3h4yikP60rxQYY0MY0rNHmQBd1edmYhDGkLIf6dCbH-TcfoGggs3gvCjIJgbvTCj9i36e9yV26eiSDPtgN4NfekxPP2YLH3RF7TRAfvHbEi1hviK7L4nPFvytdoMKMHiDN%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You should now have a dashboard containing the core metrics monitored by Eyer, including multiple baselines.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeuf_2BMUWkwKxVPMBcITY8Z3IuL57NpHo5xxIybUIFvQs4FOdXglnYqmslVLUWf6IGbTXXCOwLQKcK6bm3TQgTQvyVNHUb7ezEzzZ2g4UItjdR-CyPCFkmwV6Cqmz4l7ejYXY_e61xjmqUeqTRyVnBN4tG%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeuf_2BMUWkwKxVPMBcITY8Z3IuL57NpHo5xxIybUIFvQs4FOdXglnYqmslVLUWf6IGbTXXCOwLQKcK6bm3TQgTQvyVNHUb7ezEzzZ2g4UItjdR-CyPCFkmwV6Cqmz4l7ejYXY_e61xjmqUeqTRyVnBN4tG%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the image above, you can see some of the core metrics monitored by Eyer, including their data points and primary and secondary baselines, represented in different colors. These data points and baselines are plotted on a time axis (x-axis) and a value axis (y-axis). The different colored lines and shaded areas represent the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data points on your metrics are in yellow&lt;/li&gt;
&lt;li&gt;The primary baselines, which indicate the main behaviors of your system, are in red.&lt;/li&gt;
&lt;li&gt;The secondary behaviors and baselines are distinguished by two different shades of blue. For more information on baselines and the behaviors they represent,  refer to the documentation on &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/portal/1/article/9043994" rel="noopener noreferrer"&gt;Onboarding, preprocessing, and filtering of the data&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is important to note that the purple shading in the graph results from the overlap between the main and secondary baselines, which are red and blue, respectively.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding the anomalies from the Grafana dashboards&lt;/strong&gt; &lt;br&gt;
To understand how to recognize anomalies from the Grafana dashboards, this section will look at the Committed Virtual Memory Size, Process CPU Load, and the System CPU Load metrics.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdiF5DuQB9t10_MrX-PZBjZ9SQhktaoZunXh7GI0OqCNgDbaEwTNNWrCW8WSg1UQnvTXC6Vpa_k85XLE9paI08ts-es-DT6WSgF3d49FK40mix6rwzzHYVF9L5bP2R75EOeNvyBV7D0hgahpF1TJg8DSkTt%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdiF5DuQB9t10_MrX-PZBjZ9SQhktaoZunXh7GI0OqCNgDbaEwTNNWrCW8WSg1UQnvTXC6Vpa_k85XLE9paI08ts-es-DT6WSgF3d49FK40mix6rwzzHYVF9L5bP2R75EOeNvyBV7D0hgahpF1TJg8DSkTt%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" alt="Process CPU Load"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXc1tTaIUoSj20ne1PB75GUrSoVtqiFIakhBWmbUe7EwrRwTJWKifHZIrzoSzFtGtUmEDY3VAGXs4RYDSZrOSXVninZhgD9PgY--zWTkxPBKY0_ZmeShqsDDBB0-n63JQzhqH-RONEQFeRlgcCq1VmGVz6B0%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXc1tTaIUoSj20ne1PB75GUrSoVtqiFIakhBWmbUe7EwrRwTJWKifHZIrzoSzFtGtUmEDY3VAGXs4RYDSZrOSXVninZhgD9PgY--zWTkxPBKY0_ZmeShqsDDBB0-n63JQzhqH-RONEQFeRlgcCq1VmGVz6B0%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" alt="System CPU Load"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the images above, the Process CPU Load and System CPU Load data points exist outside the primary baseline (red-shaded areas) but within the secondary baselines, coinciding with their medium severity level. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXc802u5qcwTv-Deh4l8NgCpdhtwxF4xelzg7_VPETD3YSFrVBFo0PJvY75SpGC92q_NcHs9JFOWxMEk1HO7VTELMNEm70oX8oNl7cELbuC-O_EfCCsBoxsGb1TL2emYbMQnkbtphGmLJpRF-UVLXw47-eA%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXc802u5qcwTv-Deh4l8NgCpdhtwxF4xelzg7_VPETD3YSFrVBFo0PJvY75SpGC92q_NcHs9JFOWxMEk1HO7VTELMNEm70oX8oNl7cELbuC-O_EfCCsBoxsGb1TL2emYbMQnkbtphGmLJpRF-UVLXw47-eA%3Fkey%3DUsOZgP7RJZA9pZe7mJU_fA" alt="Committed Virtual Memory Size"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, an interesting anomaly observation is the Committed Virtual Memory Size, with data points existing outside the main and secondary baselines. This observation coincides with its severity level.&lt;/p&gt;

&lt;h2&gt;
  
  
  In summary
&lt;/h2&gt;

&lt;p&gt;Machine learning and artificial intelligence is changing almost everything around us, especially the monitoring and observability space. With modern software development becoming more and more complex, AI-powered insights can be the difference between quickly identifying and resolving issues or experiencing prolonged downtime and performance degradation.&lt;/p&gt;

&lt;p&gt;This article demonstrates the power of AI-powered observability by walking through the process of injecting anomalies into a system, querying these anomalies with the Eyer connector, and visualizing them using Grafana.&lt;/p&gt;

&lt;p&gt;However, this is just the beginning of what AI-powered insights can do for you. To learn more about Eyer and Grafana and to get started, check out &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/portals" rel="noopener noreferrer"&gt;the official Eyer documentation&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>grafana</category>
      <category>aiops</category>
      <category>observability</category>
      <category>monitoring</category>
    </item>
    <item>
      <title>Observability with Grafana and Eyer</title>
      <dc:creator>Amarachi Iheanacho</dc:creator>
      <pubDate>Sat, 22 Jun 2024 10:57:48 +0000</pubDate>
      <link>https://dev.to/eyer-ai/observability-with-grafana-and-eyer-5de3</link>
      <guid>https://dev.to/eyer-ai/observability-with-grafana-and-eyer-5de3</guid>
      <description>&lt;p&gt;Modern infrastructure is becoming increasingly complex, with microservices, cloud deployments, and distributed architectures making it challenging to understand how everything functions together. This complexity has begged the need for the unparalleled visibility that observability promises.&lt;/p&gt;

&lt;p&gt;Observability provides a comprehensive view of your system, allowing you to identify issues before they escalate. Tools like Eyer play a crucial role in achieving observability. Eyer helps gather and analyze system data, revealing anomalies, affected nodes, and potential future problems. With this insight, you can quickly pinpoint issues using Eyer, leading to less downtime and a smoother user experience.&lt;/p&gt;

&lt;p&gt;However, the raw data from Eyer might be difficult for non-technical individuals or teams to understand. This is where &lt;a href="https://grafana.com/"&gt;Grafana&lt;/a&gt; comes in. As a powerful visualization tool, Grafana transforms this data into clear and insightful dashboards, making it accessible to everyone who needs it.&lt;/p&gt;

&lt;p&gt;This article explores Eyer, its importance in modern observability discussions, and the added value of integrating it with Grafana.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding Eyer and its capabilities
&lt;/h2&gt;

&lt;p&gt;Eyer is an AI-powered observability tool that provides insights into your Boomi integrations. &lt;a href="http://boomi.com/"&gt;Boomi&lt;/a&gt; has become an integration superpower, uniting diverse applications and data sources with its simple and intuitive drag-and-drop design. With Eyer, you can take that impeccable user experience to the next level.&lt;/p&gt;

&lt;p&gt;By &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/portal/1/article/30015491"&gt;installing and using the Eyer connector&lt;/a&gt;, you can collect data from your Boomi integrations, send it to the Eyer machine learning pipeline, and gain insights into what's wrong with your Boomi process. &lt;/p&gt;

&lt;p&gt;The machine learning pipeline learns the user Boomi Atom’s behavior and establishes what normal behavior or baselines are for your Atom. So, any significant and prolonged deviations from the normal behavior are flagged. &lt;/p&gt;

&lt;p&gt;For example, if your Boomi Atom is using more memory than normal or CPU utilization is higher than usual, the Eyer connector will send you a JSON alert. You can choose to receive this alert conveniently via email or even as a file saved directly on your host machine, thanks to the flexibility of Boomi's connectors.&lt;/p&gt;

&lt;p&gt;JSON format alerts are advantageous for many reasons: they are structured, human-readable, lightweight, language-agnostic, and can be easily integrated into various systems for automated processing and response. However, while JSON alerts do not have inherent visualization capabilities, tools like Grafana lend them the ability to visualize data over time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Grafana: The solution to all your visualization problems
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://grafana.com/"&gt;Grafana&lt;/a&gt; is an open-source analytics and interactive visualization web application tool used to monitor application performance. This section explores how Grafana allows Eyer users to query, visualize, and understand their JSON alerts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Benefits of the Grafana integration with Eyer
&lt;/h3&gt;

&lt;p&gt;By integrating Grafana with Eyer, developers have access to powerful visualization capabilities. Some key benefits of this integration include:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Visualization&lt;/strong&gt;: If you only remember one thing from this article, remember that Grafana is the king of data visualization. This visualization is amazing for democratizing data use. Visual representation allows users to quickly understand the data and see patterns and trends that might be missed when looking at raw JSON. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Historical analysis&lt;/strong&gt;: Another powerful feature of Grafana is its ability to store and visualize historical alert data.  Imagine trying to understand a month's worth of system activity by manually reviewing individual JSON alerts; this gets tiring quickly.  Grafana offers a much better solution.  By aggregating all the data for a specific metric into a single graph, you can easily see trends over days, weeks, or months.  This historical view allows you to identify potential issues, forecast future resource needs, and gain insights into long-term performance patterns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Collaboration and sharing&lt;/strong&gt;: Grafana makes it easy to share dashboards and visualizations with team members. That way, more people can watch and understand what's happening in your systems. These shared insights make it easier for teams to work effectively to address and resolve issues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open-source, extensible&lt;/strong&gt;: As an open-source tool, Grafana is free to use and allows users to access and modify the source code, enabling customization to meet specific needs. Its extensibility is one of its core strengths, with a vast ecosystem of plugins available that extend its functionality, including integrations with a wide range of data sources, custom visualizations, and alerting mechanisms. This flexibility makes Grafana adaptable to various use cases and industries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Large community support:&lt;/strong&gt;  Grafana benefits from a large and active community of users and developers. This community support is invaluable, providing a wealth of shared knowledge, tutorials, forums, and plugins. The collaborative nature of the community ensures continuous improvements and updates, keeping Grafana at the forefront of monitoring and visualization tools. This robust support network also means that users can easily find help and resources to solve problems and optimize their platform use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integrating Eyer with Grafana:&lt;/strong&gt; In addition to being easy to use, one of the things that makes Eyer stand out is its clear documentation. To learn how to integrate Eyer with Grafana, check out the &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/topic/4a74722a-1bf5-46d8-8b40-6352ecd62cfb"&gt;Grafana section&lt;/a&gt; on the &lt;a href="https://customer.support.eyer.ai/servicedesk/customer/portals"&gt;Eyer documentation&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summing it up
&lt;/h2&gt;

&lt;p&gt;The more complex modern infrastructure becomes, the more visibility you need to ensure that these infrastructures do not collapse underneath its own complexity.  Observability tools like Eyer give you this visibility. With Eyer acting as a watchdog over your processes and Boomi integrations, you can sleep well at night knowing that if something is about to or does go wrong, you will be alerted immediately.&lt;/p&gt;

&lt;p&gt;Eyer's strengths are elevated even further with the integration of visualization tools like Grafana, which translates these Eyer JSON into clear dashboards. These dashboards allow you to see, at a glance, the health of your Boomi integrations. &lt;/p&gt;

&lt;p&gt;With Grafana visualizations, you can quickly identify trends, predict potential problems, and troubleshoot issues. In short, Eyer and Grafana working together provide you with the comprehensive visibility you need to ensure the smooth operation of your complex modern infrastructure, giving you peace of mind and allowing you to focus on more strategic initiatives.&lt;/p&gt;

&lt;p&gt;To gain AI-powered insights and visualization for your Boomi integration, check the &lt;a href="https://eyer.ai/"&gt;Eyer website&lt;/a&gt; and join the &lt;a href="https://discord.gg/gjTfhHTvBt"&gt;Discord community&lt;/a&gt; for more information and support.&lt;/p&gt;

</description>
      <category>grafana</category>
      <category>observability</category>
      <category>aiops</category>
      <category>ai</category>
    </item>
    <item>
      <title>Giving Back to the Boomi Community: How Your Contributions Make a Difference</title>
      <dc:creator>Amarachi Iheanacho</dc:creator>
      <pubDate>Fri, 07 Jun 2024 20:11:02 +0000</pubDate>
      <link>https://dev.to/eyer-ai/giving-back-to-the-boomi-community-how-your-contributions-make-a-difference-3g4a</link>
      <guid>https://dev.to/eyer-ai/giving-back-to-the-boomi-community-how-your-contributions-make-a-difference-3g4a</guid>
      <description>&lt;p&gt;Everybody wants to be part of a community—a group of people who validate a person’s thoughts and feelings and help them out during difficult situations. In the &lt;a href="https://discord.gg/SyTRyWpbgq"&gt;Boomi community by Eyer&lt;/a&gt;, this group of people are Boomi engineers. &lt;/p&gt;

&lt;p&gt;The community provides a sense of belonging and support that transcends individual achievements,  fosters a culture of collaboration, and forges friendships that can last a lifetime. However, as with any partnership or relationship of any substance, the community and its people thrive on the principle of give and take. &lt;/p&gt;

&lt;p&gt;In this article, you will learn what giving back to the Boomi community can do for you and, more importantly, the best way to give back.&lt;/p&gt;

&lt;h2&gt;
  
  
  What do you gain from giving back to the Boomi community?
&lt;/h2&gt;

&lt;p&gt;Helping your community is undeniably a good thing, but sometimes that “warm fuzzy feeling" isn't enough motivation for everyone. The good news is that giving back offers a ton of benefits beyond just feeling good. Here are some of the advantages you can gain by getting involved:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Skills development&lt;/strong&gt;: Helping out community members is a guaranteed way to enhance your Boomi integration skills. It's a fantastic opportunity to learn new techniques, refine existing skills, and apply your experience to solve interesting problems in new ways.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Networking opportunities&lt;/strong&gt;: Giving back and volunteering are amazing ways to meet like-minded people who share your passion for Boomi and mentorship. These activities guarantee valuable connections that can benefit you personally and professionally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build a professional brand&lt;/strong&gt;: By consistently sharing your Boomi knowledge or volunteering to help others, you'll rapidly establish yourself as the go-to expert for all things Boomi. This includes opportunities, inquiries, and much more, and the best part is that your reputation extends beyond the Boomi ecosystem!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leaving a positive impact&lt;/strong&gt;: Contributing to the Boomi community is a powerful way to leave a positive mark. Sharing your knowledge and skills empowers others to grow and achieve their goals. Your insights can inspire and uplift fellow developers, creating a supportive and innovative space for everyone. This not only strengthens the entire community but also solidifies your reputation as a valuable and generous member.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are the different ways to contribute to the Boomi community?
&lt;/h2&gt;

&lt;p&gt;While how you contribute to a community can vary based on its needs (some might value open-source contributions or leadership roles), here are some universal ways to give back, especially within the Boomi community by Eyer:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time commitment:&lt;/strong&gt; Actively participate in discussions within the Boomi community by Eyer. Provide insightful solutions and clear explanations to Boomi developers.&lt;/p&gt;

&lt;p&gt;Volunteer at Boomi-sponsored, Eyer-sponsored, and Boomi-related events in your local tech community. Lend a hand with logistics and setup or even lead breakout sessions on specific Boomi topics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Skill-based contributions:&lt;/strong&gt; One of the most efficient ways to become a thought leader in the Boomi community is to share your expertise. You can create blog posts, tutorials, or short guides addressing common integration challenges other Boomi developers face. &lt;/p&gt;

&lt;p&gt;Guide and support fellow Boomi users, particularly those new to the platform. Offer advice, answer questions on the Boomi community forum or the &lt;a href="https://discord.gg/SyTRyWpbgq"&gt;Boomi community by Eyer discord&lt;/a&gt;, and help them navigate the integration world.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Acts of kindness (within the Boomiverse):&lt;/strong&gt; Finally, if you are all out of time and you see yourself not being able to commit as much as you would like to, you can contribute to the community by recognizing valuable contributions made by other members by upvoting their responses in &lt;a href="https://community.boomi.com/s/"&gt;forum discussions&lt;/a&gt;. This helps elevate quality content and ensures others find the information they need.&lt;/p&gt;

&lt;p&gt;Extend a warm welcome to new members in the forums or online events. Offer to answer basic questions and help them navigate the Boomiverse’s resources.&lt;/p&gt;

&lt;p&gt;Additionally, when someone goes above and beyond to help you, acknowledge their effort with a positive comment or a "thank you."&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;Hopefully, this article was enough to incentivize you to contribute more to your Boomi communities. Helping Boomi developers out, volunteering, and showing gratitude in the smallest ways are some of the best ways to provide value. &lt;/p&gt;

&lt;p&gt;Sure, the idea is to give without expecting anything in return, but you can think of the rewards as a natural consequence of doing good. People will trust your Boomi expertise more because they've seen it in action and benefited from it. They can vouch for your character because you chose to volunteer when you didn't have to. This is an amazing position in a world run by referrals and recommendations.&lt;/p&gt;

&lt;p&gt;So, take the first steps, join the &lt;a href="https://discord.gg/SyTRyWpbgq"&gt;Boomi community by Eyer&lt;/a&gt;, and start your journey today!&lt;/p&gt;

</description>
      <category>community</category>
      <category>boomi</category>
    </item>
    <item>
      <title>Enhancing Your Career Through Contribution and Recognition in the Boomi Community</title>
      <dc:creator>Amarachi Iheanacho</dc:creator>
      <pubDate>Fri, 31 May 2024 11:41:18 +0000</pubDate>
      <link>https://dev.to/eyer-ai/enhancing-your-career-through-contribution-and-recognition-in-the-boomi-community-3dg6</link>
      <guid>https://dev.to/eyer-ai/enhancing-your-career-through-contribution-and-recognition-in-the-boomi-community-3dg6</guid>
      <description>&lt;p&gt;There's a magic that happens when people come together, especially for a shared cause. History is filled with examples of this, and the &lt;a href="https://discord.gg/CcxvKxkaAJ"&gt;Boomi community by Eyer&lt;/a&gt; is no exception. This community goes beyond just a platform to fix your Boomi problems—it can be the very tool that lands you your next big job.&lt;/p&gt;

&lt;p&gt;Many people have participated in online communities over the years. They acknowledge that these communities have helped them out of a jam, but they don't quite understand the hype or why it's seen as the ultimate solution.&lt;/p&gt;

&lt;p&gt;This article dives into how to maximize the benefits of being part of a community. It will explore the value of contributing your knowledge and building a strong reputation within the community, ultimately positioning yourself for that next big opportunity.&lt;/p&gt;

&lt;h2&gt;
  
  
  The value of contribution
&lt;/h2&gt;

&lt;p&gt;The first step in building strong relationships within a community starts with contributing. This is especially important if you want to be seen as a trusted thought leader. Here are the different ways to get involved and contribute positively:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Showcase your skills and expertise&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The most effective and popular way to contribute to the community is to share knowledge, and you can do that in many creative ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Actively participate in forums and discussions, answer questions thoughtfully, and provide clear explanations and solutions. &lt;/li&gt;
&lt;li&gt;Share insights from your own Boomi experience, create blog posts, tutorials, and short guides that address common integration challenges faced by other developers.&lt;/li&gt;
&lt;li&gt;Embrace challenges, participate in hackathons, and agree to volunteer for events. This not only demonstrates your problem-solving abilities but also highlights your passion for the Boomi platform.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Collaboration and growth&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The biggest reason why communities like the Boomi community by Eyer work is collaboration. Working alongside other developers with varying degrees of experience exposes you to different approaches and techniques, enriching your own understanding of Boomi and its functionalities.&lt;/p&gt;

&lt;p&gt;Additionally, combining diverse skill sets from the community allows you to brainstorm and develop more creative and effective solutions to integration challenges. This integration of varied skills also strengthens your problem-solving skills and prepares you for real-world scenarios.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gaining recognition in the Boomi community
&lt;/h2&gt;

&lt;p&gt;You've started sharing your expertise, but how do you stay visible and become the go-to person for Boomi questions and opportunities within the Eyer community and beyond? This section will focus on building your personal brand and solidifying your reputation as a valuable resource.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recognition systems in the Boomi community by Eyer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Active participation in the Boomi community unlocks a range of recognition systems that validate your skills and contributions. &lt;/p&gt;

&lt;p&gt;You can earn swag, gift cards, and even become a community leader. This recognition highlights your expertise and commitment in addition to opening up opportunities for professional growth and networking within the Boomi ecosystem.&lt;/p&gt;

&lt;p&gt;Additionally, the Boomi community by Eyer recognizes exceptional contributions by featuring your profile or content on the blog. This demonstrates your expertise to a wider audience and positions you as a thought leader within the Boomi community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Building a personal brand&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Aside from continuous community contributions, maintaining an online presence is crucial for your personal brand as a Boomi developer. Use platforms like LinkedIn and Twitter to showcase your work and contributions. &lt;/p&gt;

&lt;p&gt;Regularly update your profiles with your latest projects, certifications, and endorsements. Share articles and excerpts from those articles that you find helpful. Do not be afraid to demonstrate your expertise and commitment to continuous learning regularly—you never know who might be watching.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Networking&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Engage with peers and industry leaders by participating in networking events, both online and offline. Attend meetups, webinars, and conferences to connect with other Boomi professionals. Building relationships within the community can lead to mentorship opportunities, collaborative projects, and access to job openings. Networking is a powerful tool for career growth, providing you with insights, support, and opportunities that can significantly enhance your professional journey. Check out &lt;a href="https://dev.to/eyer-ai/building-professional-connections-as-a-boomi-developer-1gnp"&gt;this article&lt;/a&gt; to learn more about building professional connections as a Boomi developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Leveraging your reputation for your career advancements
&lt;/h2&gt;

&lt;p&gt;You have built your reputation and expanded your network through community contributions; what’s next?&lt;/p&gt;

&lt;p&gt;The next step is strategically leveraging your contributions to make you a more attractive candidate for any Boomi-related opportunity.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Highlight the community contributions and skills gained on your resume, LinkedIn profile, and during job interviews. Employers value candidates who demonstrate leadership and a commitment to making a positive impact.&lt;/li&gt;
&lt;li&gt;Apply to speak at Boomi-related conferences and webinars. Sharing your knowledge at these events further establishes you as a thought leader and allows you to connect with a wider audience of potential employers and collaborators. By actively promoting your expertise and the value you bring, you'll be well on your way to propelling your career forward.&lt;/li&gt;
&lt;li&gt;Request recommendations and endorsements from individuals in your network who can vouch for your skills, character, and contributions. Strong recommendations can be powerful in job applications and career advancements.&lt;/li&gt;
&lt;li&gt;Leverage your expanded network to find mentors who can provide career advice, industry insights, and feedback on your professional development. A mentor can help you navigate career decisions and introduce you to further opportunities.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  In summary
&lt;/h2&gt;

&lt;p&gt;Communities can be your ticket to an amazing, long-lasting Boomi career when used correctly. They uplift you and provide the resources and the experts to help you troubleshoot and answer your problems. While these are fun to take advantage of, communities can become even more interesting when you contribute to this knowledge base and help people with their queries. By sharing your expertise, you solidify your understanding and establish yourself as a valuable resource within the community, opening you up to career advancement opportunities. This two-way street of learning and giving back fosters a sense of connection and accomplishment, making your Boomi journey all the more rewarding. &lt;/p&gt;

&lt;p&gt;Take the first step and join the &lt;a href="https://discord.gg/CcxvKxkaAJ"&gt;Boomi community by Eyer&lt;/a&gt; today.&lt;/p&gt;

</description>
      <category>community</category>
      <category>boomi</category>
      <category>aiops</category>
      <category>eyer</category>
    </item>
    <item>
      <title>Building Professional Connections as a Boomi Developer</title>
      <dc:creator>Amarachi Iheanacho</dc:creator>
      <pubDate>Fri, 24 May 2024 13:42:18 +0000</pubDate>
      <link>https://dev.to/eyer-ai/building-professional-connections-as-a-boomi-developer-1gnp</link>
      <guid>https://dev.to/eyer-ai/building-professional-connections-as-a-boomi-developer-1gnp</guid>
      <description>&lt;p&gt;With tech being advertised as the next best thing for humanity since the advent of penicillin, it's no surprise that more people are picking up some tech or tech-adjacent skill. While this trend benefits both individuals and the industry, it’s clear that success in this field requires more than individual effort. This is particularly true for the Boomi landscape, highlighting the importance of the &lt;a href="https://discord.gg/CcxvKxkaAJ"&gt;Boomi community by Eyer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;By being a part of this community, you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Learn from others' experiences and contribute your own insights.&lt;/li&gt;
&lt;li&gt;Get help with problems you encounter and help others overcome theirs.&lt;/li&gt;
&lt;li&gt;Keep up-to-date on the latest platform advancements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But the benefits go beyond the Boomi platform. Expanding your network exposes you to broader industry trends and potential collaborations. This can open doors to career advancement, new opportunities, and a more fulfilling professional journey.&lt;/p&gt;

&lt;p&gt;This article discusses shared spaces for Boomi developers of all levels, strategies for maximizing these shared spaces, and building meaningful connections.&lt;/p&gt;

&lt;h2&gt;
  
  
  Shared Boomi developer spaces
&lt;/h2&gt;

&lt;p&gt;Recognizing the invaluable support Boomi developers receive from the community and networking opportunities, let's explore online and offline spaces to connect and build your network with other Boomi developers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Online networking&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The internet serves you the biggest online Boomi communities on a silver platter. You can join communities and keep in touch with members all at the tip of your fingers. Here are some ways to leverage these online communities to your advantage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Boomi online communities:&lt;/strong&gt; In the past few years, several Boomi communities have emerged, including the &lt;a href="https://community.boomi.com/s/"&gt;official Boomi community&lt;/a&gt; and the &lt;a href="https://discord.gg/CcxvKxkaAJ"&gt;Boomi community by Eyer&lt;/a&gt;, among others. These communities host forums, discussions, and Q&amp;amp;A sessions where you can participate by asking questions, sharing your expertise, and engaging in conversations. Contributing to these communities demonstrates your knowledge, builds your reputation, and allows you to connect with developers facing similar challenges.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Social media platforms:&lt;/strong&gt; Utilizing platforms like LinkedIn and Twitter can help you connect quickly with Boomi professionals, industry leaders, and potential employers. Following relevant accounts such as the official &lt;a href="https://x.com/boomi"&gt;Boomi Twitter&lt;/a&gt; and &lt;a href="https://www.linkedin.com/company/boomi-inc/"&gt;LinkedIn&lt;/a&gt; and The Eyer &lt;a href="https://x.com/eyer_ai"&gt;Twitter&lt;/a&gt; and &lt;a href="https://www.linkedin.com/company/eyer-ai/"&gt;LinkedIn,&lt;/a&gt; among others, is also beneficial.&lt;/p&gt;

&lt;p&gt;In addition, creating posts that showcase your skills, certifications, and projects helps maintain meaningful connections in your niche.&lt;/p&gt;

&lt;p&gt;You could share industry news, participate in discussions using relevant hashtags (e.g., #Boomi, #Integration), and connect with individuals whose work interests you."&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Engaging with Others:&lt;/strong&gt; By actively participating in the community, you can gain insights, answer questions, and provide constructive feedback. Respond to comments on your posts, join relevant discussions, and connect with those who share your interests. By taking the initiative and being helpful, you'll build positive relationships and establish yourself as a valuable resource within the Boomi community.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Online events and webinars:&lt;/strong&gt; Attending online Boomi events and webinars offers numerous advantages. You'll gain valuable knowledge about the latest Boomi features, best practices, and industry trends directly from Boomi experts and practitioners. Webinars often feature live Q&amp;amp;A sessions, allowing you to network and connect with presenters and attendees directly.&lt;/p&gt;

&lt;p&gt;These online events provide a platform for learning and expanding your network simultaneously. You'll connect with fellow developers facing similar challenges and exchange ideas.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Offline networking&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While online connections are essential, face-to-face interactions can significantly enhance your network. Let's explore some shared offline networking spaces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Local Boomi meetups and user groups:&lt;/strong&gt; Some organizations like &lt;a href="https://easydatagroup.com/"&gt;Easy Data Integration&lt;/a&gt; host local Boomi meetups and user groups. These gatherings offer a fantastic opportunity to connect with Boomi developers in your area. You'll build relationships, share knowledge, and learn from each other's experiences.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Industry conferences and events:&lt;/strong&gt; Attending industry conferences and events focused on integration or Business Process Management (BPM) can be incredibly valuable. These events attract a wide range of professionals, including Boomi developers, solution providers, and industry leaders. Participating in these events allows you to:

&lt;ul&gt;
&lt;li&gt;Learn about new technologies and upcoming trends in the integration and BPM space.&lt;/li&gt;
&lt;li&gt;Network with a broader audience, potentially leading to new collaborations or job opportunities.&lt;/li&gt;
&lt;li&gt;Attend workshops and sessions focused on Boomi development, further enhancing your skillset.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Understanding the various shared spaces where Boomi developers connect, let's explore how to make the most of these interactions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tips for networking at events
&lt;/h2&gt;

&lt;p&gt;Conferences offer fantastic opportunities to build meaningful connections within your field. Here are some tips to maximize your networking potential:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Make a plan:&lt;/strong&gt; Conferences are fast-paced. Know what sessions you want to attend, who you want to meet, and what you hope to achieve. Prioritize your time!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do your research:&lt;/strong&gt; Before the event, identify key people going to these conferences and research their work. This shows initiative and helps prepare conversation starters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connect beforehand:&lt;/strong&gt; Use social media or email to connect with people you want to meet before the conference. Establish a rapport and build some pre-event connections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schedule your time:&lt;/strong&gt; Create a conference schedule that includes workshops, presentations, meetings, and discussions. This ensures you don't miss valuable networking opportunities.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Building meaningful connections
&lt;/h2&gt;

&lt;p&gt;Swapping business cards is a good start, but true professional connections are built on more than just exchanging contact information. Here are some tips to cultivate deeper relationships with fellow Boomi developers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Actively listen:&lt;/strong&gt; When you meet someone new, put away your phone and truly focus on what they're saying. Ask thoughtful questions that show genuine interest in their work and experiences. This not only makes the other person feel valued but also helps you discover potential areas for collaboration. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Provide value to others:&lt;/strong&gt; Networking isn't a one-way street. Look for ways to be a resource for others. Share your Boomi expertise by offering tips, recommending relevant resources, or even connecting them with someone in your network who might be able to help with their specific challenge. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Follow up after meeting someone:&lt;/strong&gt; Don't let your new connection disappear. Send a personalized email or LinkedIn message within a day or two of meeting someone. Briefly mention something you enjoyed from your conversation and offer additional help if relevant. You can also suggest connecting on social media platforms focused on Boomi development to stay in touch and share industry updates. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By actively listening, providing value, and following up, you'll transform fleeting interactions into meaningful connections that can benefit your professional development and open doors to new opportunities within the Boomi developer community.&lt;/p&gt;

&lt;h2&gt;
  
  
  Go for it!
&lt;/h2&gt;

&lt;p&gt;This article explored the power of community in building a thriving professional network within the Boomi development landscape and, by extension, many software development fields. It discussed the wealth of online and offline spaces available to connect with fellow Boomi developers.&lt;/p&gt;

&lt;p&gt;From online communities and social media platforms to local meetups and industry conferences, these shared spaces offer invaluable opportunities to learn, share knowledge, and forge meaningful connections. By actively engaging in these communities, you'll gain access to a supportive network that can propel your career forward. &lt;/p&gt;

&lt;p&gt;So, take the first step and join the &lt;a href="https://discord.gg/CcxvKxkaAJ"&gt;Boomi community by Eyer&lt;/a&gt; today.&lt;/p&gt;

</description>
      <category>community</category>
      <category>boomi</category>
      <category>ai</category>
      <category>aiops</category>
    </item>
    <item>
      <title>Top Community for Boomi Developers</title>
      <dc:creator>Amarachi Iheanacho</dc:creator>
      <pubDate>Tue, 14 May 2024 15:15:26 +0000</pubDate>
      <link>https://dev.to/eyer-ai/top-community-for-boomi-developers-45pk</link>
      <guid>https://dev.to/eyer-ai/top-community-for-boomi-developers-45pk</guid>
      <description>&lt;p&gt;&lt;strong&gt;Alone, we can do so little; together, we can do so much – Helen Keller.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Boomi has cemented itself as a leading integration platform (iPaaS) service for businesses worldwide. Embraced by thousands of developers, Boomi empowers them to streamline data flows and connect applications seamlessly. However, the potential for growth doesn't stop with individual expertise; it also requires a supportive and knowledgeable community. This is why Eyer, the AI-powered observability tool, has introduced its resourceful and incentive-driven &lt;a href="https://discord.gg/rvEp2wVAke"&gt;Boomi community&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This article explores how being a part of this community on the rise can significantly enhance your experience as a Boomi developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What are the benefits of joining the Boomi community by Eyer?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;It's no coincidence that joining and actively participating in communities have skyrocketed in popularity in recent decades.&lt;/p&gt;

&lt;p&gt;A community brought together by shared interests in the tools developers use in their day-to-day lives is a space driven by collaboration. This space fosters brilliance, enabling you to push the boundaries of what’s possible.&lt;/p&gt;

&lt;p&gt;Naturally, this alliance is what people expect from a top Boomi community, and the Boomi community by Eyer is no exception. In this community, we encourage your growth through the following channels:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resources and development&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Boomi community by Eyer is packed with resources and opportunities to boost your integration skills. Here's what you can expect:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Extensive knowledge base&lt;/strong&gt;: Access a comprehensive &lt;a href="https://eyer.ai/eyer-blog/"&gt;library of articles, tutorials, and FAQs&lt;/a&gt; to deepen your understanding of Boomi, Eyer, and AIOps in general&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Active forums&lt;/strong&gt;: Engage with fellow Boomi developers and experts. Ask questions, share knowledge, and get valuable insights from the community.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Webinars and events&lt;/strong&gt;: Attend informative webinars and online events hosted by experts in the integration space to learn about new features, solutions, and industry trends.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you are a seasoned professional or just starting your journey with Boomi, being a part of the active Boomi community ensures continuous learning and professional advancement within a supportive and collaborative environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Access to network and collaboration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now, acquiring knowledge is great, but if you have stayed long in this industry, you’d recognize that knowledge is not the only guarantee for growth; your network also plays a big part in your success. Joining  a community with people who have walked the path you are currently on or about to walk the same path allows you to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Leverage their expertise&lt;/strong&gt;, get real-world advice, and find solutions to your technical or non-technical challenges.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Contribute your knowledge&lt;/strong&gt; and become a trusted resource for the community, ultimately positioning yourself as a thought leader.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Expand your professional network&lt;/strong&gt; and connect with potential employers and collaborators.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Incentive programs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Boomi community by Eyer regularly rewards its members; not only is this community a fertile ground for you to gain the network and resources you need to take your career to the next level, but you get actively rewarded every step of the journey.&lt;/p&gt;

&lt;p&gt;These rewards include gift cards, exclusive swags, career opportunity referrals, and even license discounts.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Community on the rise
&lt;/h2&gt;

&lt;p&gt;The Boomi community by Eyer might not be a household name just yet, but that's precisely what makes it so exciting. Backed by the &lt;a href="https://eyer.ai/"&gt;innovative Norwegian company Eyer&lt;/a&gt;, this community is taking a knowledge-based development path to success. This means they are focused on creating helpful content, hosting events, and so much more, basically listening and catering to the needs of their community members through content.&lt;/p&gt;

&lt;p&gt;There are many incentives to joining a relatively smaller community:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Shape the direction&lt;/strong&gt;: With a smaller Boomi community, you have a greater chance of influencing its direction and culture. With the exciting plans for the future of &lt;a href="https://eyer.ai/"&gt;Eyer,&lt;/a&gt; being a member allows you to witness this growth, contribute your ideas, and help define the community's focus and how it operates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Get your issues heard&lt;/strong&gt;: One of the problems with a larger community is that some of your questions might get lost in the shuffle. In this Boomi community, your concerns will be heard and addressed until they are resolved. Being in a relatively small community also offers you the opportunity to form close-knit connections with members of the community and the Eyer team.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collaborative leadership&lt;/strong&gt;: In the Boomi community by Eyer, we believe in shared ownership. Our leaders guide discussions and encourage member participation, fostering a safe space for learning and respectful dialogue. We value diverse perspectives and prioritize opportunities for all members to learn, network, and build meaningful connections.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The Boomi community by Eyer offers unparalleled opportunities for potential growth in your career as a Boomi developer. Providing you with the intersection between Boomi development, artificial intelligence, and observability. &lt;/p&gt;

&lt;p&gt;In summary, this community is designed, created, and maintained for and with the Boomi developers and observability enthusiasts. This community welcomes everybody, armoring them with the resources and network required to achieve their integration and observability goals.&lt;/p&gt;

&lt;p&gt;Join the &lt;a href="https://discord.gg/rvEp2wVAke"&gt;Eyer-for-Boomi discord channel&lt;/a&gt; to be a part of the community today!&lt;/p&gt;

</description>
      <category>community</category>
      <category>ipaas</category>
      <category>aiops</category>
      <category>boomi</category>
    </item>
    <item>
      <title>The Boomi community you didn't know you needed</title>
      <dc:creator>Amarachi Iheanacho</dc:creator>
      <pubDate>Thu, 02 May 2024 17:50:55 +0000</pubDate>
      <link>https://dev.to/eyer-ai/the-boomi-community-you-didnt-know-you-needed-ch8</link>
      <guid>https://dev.to/eyer-ai/the-boomi-community-you-didnt-know-you-needed-ch8</guid>
      <description>&lt;p&gt;Throughout history, communities have played core roles in human progress. From large entities like nations to smaller units like the nuclear family, they provide a sense of belonging, support, and encouragement. They also drive positive change on a global scale. The &lt;a href="https://discord.gg/eeahkKBRxz"&gt;Eyer for Boomi community &lt;/a&gt;is no exception.&lt;/p&gt;

&lt;p&gt;This community goes beyond just fostering camaraderie. It empowers &lt;a href="https://boomi.com/"&gt;Boomi developers&lt;/a&gt; by enabling them to collaborate, share knowledge, and overcome challenges together. Ultimately, this collaborative environment pushes the boundaries of what's possible with Boomi integrations.&lt;/p&gt;

&lt;p&gt;This article explores what Eyer for Boomi is and how being a part of its community can significantly enhance your experience as a Boomi developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Eyer for Boomi?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://eyer.ai/boomi/"&gt;Eyer for Boomi&lt;/a&gt; is an &lt;a href="https://eyer.ai/blog/how-to-unlock-ai-powered-observability-insights-in-your-boomi-integration/"&gt;AI-powered observability platform&lt;/a&gt; that delivers actionable insights for your Boomi integrations.&lt;/p&gt;

&lt;p&gt;With the Eyer connector, you can seamlessly introduce AI-powered visibility into your Boomi processes and receive early notifications on crucial performance metrics like throughput, latency, and other runtime processing indicators.&lt;/p&gt;

&lt;p&gt;Moreover, you can take proactive measures—either manual or automated—based on the status of your metrics to prevent performance degradation or, worse, total system shutdown.&lt;/p&gt;

&lt;p&gt;Now, acknowledging the value that the Eyer connector already provides to the Boomi ecosystem, let’s understand how the Eyer for Boomi community can elevate that value and experience even further.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why do you need the Eyer for Boomi community?
&lt;/h2&gt;

&lt;p&gt;Driven by the need to serve the Boomi ecosystem, the good people at Eyer have decided to launch the &lt;a href="https://discord.gg/eeahkKBRxz"&gt;Eyer for Boomi community&lt;/a&gt;, and this community is important for many reasons, some of which are:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learning and Development&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As a member of the Eyer for Boomi community, you gain access to a network of Boomi developer experts and peers, creating a space for knowledge sharing and collaboration. &lt;/p&gt;

&lt;p&gt;Share best practices, discover efficient ways to work within the Boomi ecosystem, and stay up-to-date with the latest Boomi features and functionalities.&lt;/p&gt;

&lt;p&gt;You can access educational resources, &lt;a href="https://eyer.ai/eyer-blog/"&gt;tutorials&lt;/a&gt;, and live events hosted by the community.&lt;/p&gt;

&lt;p&gt;Subsequently, you can use the community's support to gather attention for informative Boomi content or events you decide to put out. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem-solving and Support&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A by-product of being in the network of experienced Boomi developers is the ability to get help when you get stuck on your integration problems.&lt;/p&gt;

&lt;p&gt;With a platform like Discord, you can hold these communities close to your heart. You can also get quicker answers to your questions and solutions to common integration challenges.&lt;/p&gt;

&lt;p&gt;Additionally, you can collaborate with community members and troubleshoot less common issues within the Eyer for Boomi community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Innovation and Inspiration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Another advantage of being a part of communities is learning from other people’s mistakes and success stories. &lt;/p&gt;

&lt;p&gt;The Eyer for Boomi community is no different. Leverage the experiences of Boomi developer experts to discover how to tackle complex integrations and get inspired to try new approaches in your own projects.&lt;/p&gt;

&lt;p&gt;This article has established the advantages of joining a Boomi developer community. Now, let's explore why the Eyer for Boomi community would be a particularly good fit for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the Eyer for Boomi community?
&lt;/h2&gt;

&lt;p&gt;In addition to providing you with a network of Boomi developer experts and peers, the Eyer for Boomi developer community offers much more. Some of these benefits include:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recognition and Rewards&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Are you tired of offering value in private? In the Eyer for Boomi developer community, you get the recognition you deserve. &lt;/p&gt;

&lt;p&gt;You get spotlighted and recognized for your contributions to the community. You can earn points and become a community influencer and leader.&lt;/p&gt;

&lt;p&gt;This recognition comes through public acknowledgment on &lt;a href="https://www.linkedin.com/company/eyer-ai/"&gt;social media pages&lt;/a&gt;, &lt;a href="https://eyer.ai/eyer-blog/"&gt;community blogs&lt;/a&gt;, community events, and sometimes incentives like swags and license discounts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Early access to new features from the Eyer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Eyer for Boomi developer community members receive exclusive access to updates on new features, enhancements, and releases from both Eyer and Boomi.  You will be among the first to know whether it's a new connector or a platform improvement.&lt;/p&gt;

&lt;p&gt;Additionally, community members often get the opportunity to participate in beta programs for upcoming features for Eyer's new releases. This hands-on experience allows you to explore new capabilities before they are widely available, providing valuable insights and shaping the future direction of the Eyer connector.&lt;/p&gt;

&lt;p&gt;Additionally, the Eyer for Boomi developer community provides direct communication channels with product experts and developers from both Eyer and Boomi; you'll have the opportunity to ask questions, provide feedback, and engage in meaningful discussions about new features and updates.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summing up
&lt;/h2&gt;

&lt;p&gt;The Eyer for Boomi developer community proves that magic can happen when a group of people gather for the same cause with the same passion.&lt;/p&gt;

&lt;p&gt;It is an ecosystem designed solely to empower you as a Boomi user. Whether you are a seasoned Boomi developer or just starting out your journey, this Eyer for Boomi community offers invaluable resources and support to help you effectively achieve your Boomi integration goals.&lt;/p&gt;

&lt;p&gt;Join the&lt;a href="https://discord.gg/eeahkKBRxz"&gt; Eyer for Boomi Discord channel&lt;/a&gt; to be a part of this community today!&lt;/p&gt;

</description>
      <category>community</category>
      <category>ipaas</category>
      <category>ai</category>
      <category>aiops</category>
    </item>
    <item>
      <title>How to automate email sending from MySQL databases using Boomi</title>
      <dc:creator>Amarachi Iheanacho</dc:creator>
      <pubDate>Fri, 19 Apr 2024 14:49:39 +0000</pubDate>
      <link>https://dev.to/eyer-ai/how-to-automate-email-sending-from-mysql-databases-using-boomi-4gld</link>
      <guid>https://dev.to/eyer-ai/how-to-automate-email-sending-from-mysql-databases-using-boomi-4gld</guid>
      <description>&lt;p&gt;An &lt;a href="https://www.gartner.com/en/information-technology/glossary/information-platform-as-a-service-ipaas#:~:text=Integration%20Platform%20as%20a%20Service%20(iPaaS)%20is%20a%20suite%20of,individual%20or%20across%20multiple%20organizations."&gt;Integration platform as a service (iPaaS)&lt;/a&gt;, like &lt;a href="https://boomi.com/"&gt;Boomi&lt;/a&gt;, is known for integrating platforms and data from different services. However, another interesting feature of the iPaaS solution is its ability to ensure efficient communication with your business clients. &lt;/p&gt;

&lt;p&gt;Automating email sending directly from your MySQL databases using Boomi allows you to establish personalized and timely communication without manual intervention. This eliminates the time-consuming task of manually sending emails and ensures that your customers receive relevant information promptly. &lt;/p&gt;

&lt;p&gt;This guide discusses automating sending out emails, empowering you to leverage your MySQL data to trigger custom email notifications.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;To automate email sending from your MySQL database with Boomi, follow these steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a new Boomi integration process&lt;/li&gt;
&lt;li&gt;Collect the data from the database&lt;/li&gt;
&lt;li&gt;Transform the data type from database to CSV&lt;/li&gt;
&lt;li&gt;Split the CSV files  by line&lt;/li&gt;
&lt;li&gt;Set Properties&lt;/li&gt;
&lt;li&gt;Create the Message&lt;/li&gt;
&lt;li&gt;Send the email&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;To get the most out of this article, you must have the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Boomi platform account: if you do not have one,&lt;a href="https://boomi.com/"&gt; create a 30-day free trial account&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A Boomi Atom is installed locally and connected to a MySQL account. To learn how to do this, check out &lt;a href="https://dev.to/eyer-ai/connecting-boomi-runtime-with-your-mysql-database-on-docker-18ei"&gt;How to connect your Boomi Atom runtime and MySQL on Docker.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A Boomi Mail connection; to learn how to create one, check out this &lt;a href="https://help.boomi.com/docs/Atomsphere/Integration/Getting%20started/int-Creating_the_Mail_connection_and_operation_96283ae7-a4e4-4589-9e0a-8117286c3e89"&gt;Creating the Mail connection and Operation&lt;/a&gt; Boomi documentation&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Inserting data in your MySQL database
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.mysql.com/"&gt;MySQL&lt;/a&gt; is an open-source &lt;a href="https://www.techtarget.com/searchdatamanagement/definition/RDBMS-relational-database-management-system"&gt;relational database management system (RDBMS)&lt;/a&gt; that stores, organizes, and accesses data in a structured format. The prerequisites section discussed &lt;a href="https://dev.to/eyer-ai/connecting-boomi-runtime-with-your-mysql-database-on-docker-18ei"&gt;Connecting your Boomi Atom runtime and MySQL on Docker&lt;/a&gt;, and this section will build on that knowledge.&lt;/p&gt;

&lt;p&gt;The MySQL database will hold the user information, including their names and the email addresses to which you will send your desired message.  To do this, you must change your folder structure and the &lt;code&gt;docker-compose.yml&lt;/code&gt; file you created when you connected your &lt;a href="https://eyer.ai/blog/how-to-connect-your-boomi-atom-runtime-and-mysql-on-docker/"&gt;Boomi Atom runtime to your MySQL database&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In your project's root directory, create a folder named ‘mysql-data’. This folder will store your MySQL data and ensure it persists even when the Docker container stops running.&lt;/p&gt;

&lt;p&gt;Next, in your &lt;code&gt;docker-compose.yml&lt;/code&gt; file, add a volume mapping for the MySQL service. This line will link your host machine's ‘mysql-data’ folder to the container's internal data directory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt; &lt;span class="na"&gt;mysql&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;mysql:latest&lt;/span&gt;
    &lt;span class="na"&gt;container_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;mysql&lt;/span&gt;
&lt;span class="c1"&gt;# add this line&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;mysql-data:/var/lib/mysql:Z&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; 
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;MYSQL_ROOT_PASSWORD=&amp;lt;root user password&amp;gt;&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;MYSQL_USER=&amp;lt;username&amp;gt;&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;MYSQL_PASSWORD=&amp;lt;password&amp;gt;&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;MYSQL_DATABASE=&amp;lt;name of your MySQL database&amp;gt;&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; 
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;3306:3306"&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After updating your &lt;code&gt;docker-compose.yml&lt;/code&gt; file, run this command to build and run your images.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker compose up -d
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Creating a table in your MySQL Database&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Run this command in your terminal to start an interactive shell in your running MySQL Docker container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
docker exec -it mysql bash

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, log into this shell using this command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
mysql -u &amp;lt;mysql_user&amp;gt; -p&amp;lt;mysql_password&amp;gt; &amp;lt;mysql_database&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The next step is to create a table named '&lt;strong&gt;customers&lt;/strong&gt;' to store your customer data. This table will include ‘&lt;strong&gt;id&lt;/strong&gt;’, ‘&lt;strong&gt;first_name&lt;/strong&gt;’, ‘&lt;strong&gt;last_name&lt;/strong&gt;’, and  ‘&lt;strong&gt;email&lt;/strong&gt;’ fields.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
CREATE TABLE users (
 id integer,
 first_name varchar(255), 
 last_name varchar(255),
 email varchar(255)

);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To check if your tables have been successfully created, run this command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
SHOW TABLES;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Inserting data in your MySQL database&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;After you create your tables, use the following command to insert data into this table, replacing the placeholders with their actual values.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INSERT INTO users  (id, first_name, last_name, email)
VALUES (1, 'user1 first name', 'user1 last name’, ‘user1 email'),
(2, 'user2 first name', 'user2 last name’, ‘user2 email');

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run this command to see your data.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT * FROM users
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Automate email sending with Boomi
&lt;/h2&gt;

&lt;p&gt;This section explains how to set up a Boomi process to automatically collect data from your MySQL database and send a customized email.&lt;/p&gt;

&lt;p&gt;To create this process, follow these steps:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.Create a new Boomi integration process&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Go to the &lt;strong&gt;Integration&lt;/strong&gt; page, click the &lt;strong&gt;Create New button&lt;/strong&gt;, and choose &lt;strong&gt;Process&lt;/strong&gt; from the dropdown menu.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc1k84jxjtofmsbklkcb5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc1k84jxjtofmsbklkcb5.png" alt="The Create New dropdown" width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action will open the &lt;strong&gt;Start Shape&lt;/strong&gt; sidebar. Choose the &lt;strong&gt;No Data&lt;/strong&gt; radio button, indicating that the process will not receive external data, and then confirm by clicking the &lt;strong&gt;OK&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvkmw6tqpn8q939ni9nm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvkmw6tqpn8q939ni9nm.png" alt="The Start Shape sidebar" width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.Collect the data from the database&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After initiating your new Boomi process, add your MySQL database connector, which holds the user information.&lt;/p&gt;

&lt;p&gt;To add a shape to a Boomi process, click on the small box at the end of the dotted lines, leaving the previous shape (in this case, the &lt;strong&gt;Start Shape&lt;/strong&gt;). Then, search for the shape you want to add to the process (the &lt;strong&gt;Database shape&lt;/strong&gt;).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F59u1dwbqo8kpgphy58hy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F59u1dwbqo8kpgphy58hy.png" alt="The Database connector" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, click on the &lt;strong&gt;Database&lt;/strong&gt; connector to configure the shape. This action opens up the &lt;strong&gt;Connector Shape&lt;/strong&gt; sidebar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8das2ci5j9bze4oaplkl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8das2ci5j9bze4oaplkl.png" alt="The Database Connector Sidebar" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this sidebar, click the &lt;strong&gt;Connection&lt;/strong&gt; input field and select the MySQL connection you created in the prerequisites section. &lt;/p&gt;

&lt;p&gt;If you have not created the MySQL database connection, check out &lt;a href="https://dev.to/eyer-ai/connecting-boomi-runtime-with-your-mysql-database-on-docker-18ei"&gt;How to connect your Boomi Atom runtime and MySQL on Docker&lt;/a&gt; to do so.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh00hbn6vdmwe8fpznew8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh00hbn6vdmwe8fpznew8.png" alt="The Connector Shape Action dropdown" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, click on &lt;strong&gt;+&lt;/strong&gt; sign in the Connector &lt;strong&gt;Operation&lt;/strong&gt; input field to create a new operation. In Boomi, a database operation defines how you interact with the database specified in the connection.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjy7kymirlgkg16c5w7a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjy7kymirlgkg16c5w7a.png" alt="The Database Connector Operation input field" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action opens up the &lt;strong&gt;Database Options&lt;/strong&gt; page.&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Database Options&lt;/strong&gt; page, click on the &lt;strong&gt;+&lt;/strong&gt; symbol to create a new Database profile for the operation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffno6g44kl4a9ktr76agz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffno6g44kl4a9ktr76agz.png" alt="The Database Profile input field" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the Database Profile page, click the &lt;strong&gt;Statement&lt;/strong&gt; menu, followed by the &lt;strong&gt;Import&lt;/strong&gt; button on the top right-hand corner to import your database connection.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq68v9shojj3xf6fef4rr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq68v9shojj3xf6fef4rr.png" alt="The Statement details page" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Import&lt;/strong&gt; button opens up a &lt;strong&gt;Database Import Wizard&lt;/strong&gt; menu. Here, fill out the following fields with your credentials: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Boomi Atom you want to run this Boomi process on&lt;/li&gt;
&lt;li&gt;The Database connection you created&lt;/li&gt;
&lt;li&gt;A schema filter of users&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you are done, your &lt;strong&gt;Database Import Wizard&lt;/strong&gt; modal should look like the image below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbi2ercbanxxbtnxs6w33.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbi2ercbanxxbtnxs6w33.png" alt="The Database Import Wizard" width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After clicking &lt;strong&gt;Next&lt;/strong&gt;, you'll be prompted to choose a table for synchronization. Select the desired table and click &lt;strong&gt;Next&lt;/strong&gt; again.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzlc3gwsn2aodv77kb8ee.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzlc3gwsn2aodv77kb8ee.png" alt="The Choose Tables Modal" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, select the columns you want to move to collect your data. You can choose all columns or exclude any as needed. Once you've selected, click &lt;strong&gt;Next&lt;/strong&gt;, followed by the &lt;strong&gt;Finish&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fol8uzyvuy2is194ab294.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fol8uzyvuy2is194ab294.png" alt="The Choose Columns Modal" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, expand the &lt;strong&gt;Fields&lt;/strong&gt; menu to verify that your Database profile has been imported correctly into the Connector.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Femx2etjs42vsuf0y6qk3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Femx2etjs42vsuf0y6qk3.png" alt="The Statement Details page with the imported fields" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After saving and closing the &lt;strong&gt;Profile&lt;/strong&gt; page, you'll be returned to the &lt;strong&gt;Database Options&lt;/strong&gt; page. Here, set up the link between your data points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click on the &lt;strong&gt;Link Element&lt;/strong&gt; field.&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;Fields&lt;/strong&gt; menu, choose &lt;strong&gt;id&lt;/strong&gt;. This tells Boomi to group records that share the same &lt;strong&gt;id&lt;/strong&gt; into a single document.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2wwieivul83pnbn8h6z9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2wwieivul83pnbn8h6z9.png" alt="The Link Element input field" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set the &lt;strong&gt;Batch Count&lt;/strong&gt; to 1 for data retrieval to process data one record at a time. Leave &lt;strong&gt;Max Rows&lt;/strong&gt; at 0 to retrieve all rows from the database.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw83wsltc1hwm2xwq5dia.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw83wsltc1hwm2xwq5dia.png" alt="The Database Options page" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, click the &lt;strong&gt;Save and Close&lt;/strong&gt; button to return to the connector sidebar. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fafm04zxdwy89tcskmon0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fafm04zxdwy89tcskmon0.png" alt="The Database connector with the loaded database connection and operation" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the sidebar, click the &lt;strong&gt;OK&lt;/strong&gt; button to return to the canvas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.Transform the data type from database to CSV&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next, transform the files from the database to a CSV format, which will make it easier for you to parse and retrieve information from the database.&lt;/p&gt;

&lt;p&gt;Add a &lt;strong&gt;Map&lt;/strong&gt; Shape to the Boomi process to change the data format. Click on the Shape to configure it, which opens up a Map sidebar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftp6i6xidvb3lor5rw5qs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftp6i6xidvb3lor5rw5qs.png" alt="The Map Shape" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;+&lt;/strong&gt; sign in the Map input field in this sidebar to open the dedicated Map page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw9kj7u9xo8jqj759k8ta.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw9kj7u9xo8jqj759k8ta.png" alt="The Map Shape input field" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the Map page, go to the &lt;strong&gt;Map Source&lt;/strong&gt; section and select the &lt;strong&gt;Choose&lt;/strong&gt; link.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F253n2el94l7rcb1acegi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F253n2el94l7rcb1acegi.png" alt="The Map Shape input field" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action opens the &lt;strong&gt;Choose a Source Profile&lt;/strong&gt;. In this modal, select the &lt;strong&gt;Profile Type&lt;/strong&gt; of Database, and in the &lt;strong&gt;Profile&lt;/strong&gt; field, select the database profile you created for your &lt;strong&gt;Database Options&lt;/strong&gt; page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7ejjbqbxa0vg9bil7cos.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7ejjbqbxa0vg9bil7cos.png" alt="The Choose a Source Profile modal" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;OK&lt;/strong&gt; button to see your data fields populated in the &lt;strong&gt;Elements&lt;/strong&gt; menu.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhf7lkya7yto0oqsp4zuz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhf7lkya7yto0oqsp4zuz.png" alt="The loaded fields in the Elements menu" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the right side of the page, the &lt;strong&gt;Map Destination&lt;/strong&gt;, find the &lt;strong&gt;Choose&lt;/strong&gt; button and click on it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fibldpzb5xkv9tw6ogo99.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fibldpzb5xkv9tw6ogo99.png" alt="The Map destination Choose link" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action will open the &lt;strong&gt;Choose a Destination Profile&lt;/strong&gt; modal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbmx2mpd9klb7ds3xyxr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbmx2mpd9klb7ds3xyxr.png" alt="The Choose a Destination Profile" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Flat file from the modal's &lt;strong&gt;Profile Type&lt;/strong&gt; dropdown menu. Then, click the &lt;strong&gt;+&lt;/strong&gt; button in the &lt;strong&gt;Profile&lt;/strong&gt; input field to create a new profile for the CSV file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3raz45fk0zouno1m43m5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3raz45fk0zouno1m43m5.png" alt="The Choose a Destination Profile modal" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action opens up a New Flat File Profile page. Right-click the downwards-facing arrow next to &lt;strong&gt;Elements&lt;/strong&gt;, and select &lt;strong&gt;Add Multiple Elements&lt;/strong&gt; from the menu. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0x58ruor3f9euqpwxa0u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0x58ruor3f9euqpwxa0u.png" alt="The Elements menu" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi4iim978w4ci3edymyq5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi4iim978w4ci3edymyq5.png" alt="Image description" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This opens up a modal that asks you to choose how many elements you'd like to add. This tutorial decides to create 4 new elements. Click on the &lt;strong&gt;OK&lt;/strong&gt; button to close the modal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw7hb8oghpu6teriqfzvi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw7hb8oghpu6teriqfzvi.png" alt="The How many modal, with an input field of 4" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, click on each of the newly created elements and change them to correspond with the fields in your database. This tutorial creates fields for &lt;strong&gt;id&lt;/strong&gt;, &lt;strong&gt;first_name&lt;/strong&gt;, &lt;strong&gt;last_name&lt;/strong&gt;, and &lt;strong&gt;email&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsr6mp7e3krmji8k6kal9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsr6mp7e3krmji8k6kal9.png" alt="The data fields in the Elements menu" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, navigate to the &lt;strong&gt;Options&lt;/strong&gt; tab, check the &lt;strong&gt;Use Column Headers&lt;/strong&gt; checkbox, and select the &lt;strong&gt;Comma Delimited&lt;/strong&gt; option from the &lt;strong&gt;File Delimiter&lt;/strong&gt; dropdown.  This indicates that you want to use the column headers present in the data and separate the data fields by a comma. &lt;/p&gt;

&lt;p&gt;Click on &lt;strong&gt;Save and Close&lt;/strong&gt; and the &lt;strong&gt;OK&lt;/strong&gt; buttons to save this profile.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft3hx3a8n74y4fbn31pyb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft3hx3a8n74y4fbn31pyb.png" alt="The options tab describing how to present the CSV data" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To see all your newly created fields, click the downward-facing arrow next to the &lt;strong&gt;Elements&lt;/strong&gt; menu in the &lt;strong&gt;Map Destination&lt;/strong&gt; section and select &lt;strong&gt;Expand&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkxs9w6vadracxb233jth.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkxs9w6vadracxb233jth.png" alt="The Map source and Map destination loaded with data fields" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, map the corresponding fields between your database and CSV profiles.&lt;/p&gt;

&lt;p&gt;Simply drag your cursor from a field on the left side and connect it to its matching field on the right. Once you've mapped all the fields, your page should resemble the example provided.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo9nqpjihm0s1nbpwfnx5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo9nqpjihm0s1nbpwfnx5.png" alt="The fields on both the Map source and Map destination mapped to each other" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;Save and Close&lt;/strong&gt; button to save this Map and return to the Map sidebar. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ef5f1w0q7sgudblg0sj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ef5f1w0q7sgudblg0sj.png" alt="The Map sidebar loaded with the Map information" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;OK&lt;/strong&gt; to save the Map configuration and return to the Boomi canvas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.Split the CSV files by line&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next, you want to split each piece of information in the file by users. To do this,  you need to add the &lt;strong&gt;Data Process&lt;/strong&gt; Shape to the Boomi process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgm7qzuboi5qqor2s7e52.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgm7qzuboi5qqor2s7e52.png" alt="The Data process Shape" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This &lt;strong&gt;Data Process&lt;/strong&gt; shape allows you to split your document line by line, which in your case means user by user.&lt;/p&gt;

&lt;p&gt;Next, click on the &lt;strong&gt;Data Process&lt;/strong&gt; shape to open up its dedicated sidebar. In this dedicated sidebar, click on the &lt;strong&gt;+&lt;/strong&gt; sign to specify a processing step for your data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhvd4mbhs5mdbzxmwj5h9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhvd4mbhs5mdbzxmwj5h9.png" alt="The Data Process Properties" width="800" height="382"&gt;&lt;/a&gt;   &lt;/p&gt;

&lt;p&gt;This action opens up a form; in this form, select:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Split Documents&lt;/strong&gt; from the &lt;strong&gt;Processing Step&lt;/strong&gt; dropdown&lt;/li&gt;
&lt;li&gt; A &lt;strong&gt;Profile Type&lt;/strong&gt; of Flat File to match the CSV file format &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Split Options&lt;/strong&gt; of &lt;strong&gt;Split By Line&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;Headers Option&lt;/strong&gt; of &lt;strong&gt;Retain first line as Column Headers&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xx4ffkyzvwzqly10mjh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xx4ffkyzvwzqly10mjh.png" alt="The Data Process Properties form" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;OK&lt;/strong&gt; button to save this &lt;strong&gt;Data Process&lt;/strong&gt; Shape configuration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.Set Properties&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next, you will use the &lt;strong&gt;Set Properties&lt;/strong&gt; shape to create and set two properties dynamically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The user's first name property is set as the first_name in the data&lt;/li&gt;
&lt;li&gt;The receiver's email address property is set as the email address stated in the data file.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You will need these dynamic properties to create and send out these emails. To create the first name property, click the &lt;strong&gt;+&lt;/strong&gt; button in the &lt;strong&gt;Properties to Set&lt;/strong&gt; section. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjdw22e1p38pzn0u9g5gx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjdw22e1p38pzn0u9g5gx.png" alt="The Set Properties Shape" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action opens up a &lt;strong&gt;Choose Property&lt;/strong&gt; modal. In this modal, select the &lt;strong&gt;Property Type&lt;/strong&gt; of Dynamic Document Property and select the &lt;strong&gt;Property Name&lt;/strong&gt; as first_name.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6v6jdlmsih89o1cwzgx4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6v6jdlmsih89o1cwzgx4.png" alt="The Choose Property modal" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the &lt;strong&gt;OK&lt;/strong&gt; button to save this property.  &lt;/p&gt;

&lt;p&gt;You should see the Dynamic Document Property parameter. Select this parameter, and click the &lt;strong&gt;+&lt;/strong&gt; sign in the &lt;strong&gt;Property Value&lt;/strong&gt; section to create the parameter’s value. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyt0m31mg4kk1z7657adt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyt0m31mg4kk1z7657adt.png" alt="The Property Value" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action opens up the &lt;strong&gt;Parameter Value&lt;/strong&gt; modal. Fill out the &lt;strong&gt;Parameter Value&lt;/strong&gt; modal with the following information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Type&lt;/strong&gt; -&amp;gt; Profile Element&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Profile Type&lt;/strong&gt; -&amp;gt; Flat File&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Profile&lt;/strong&gt; -&amp;gt;  The CSV profile you created during the Map process.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Element&lt;/strong&gt; -&amp;gt; Expand the menu and select the first_name field&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your &lt;strong&gt;Parameter Value&lt;/strong&gt; modal should look like this when you are done. Click the &lt;strong&gt;OK&lt;/strong&gt; button to save the parameter value information.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhqh0k61w0ckarngksir6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhqh0k61w0ckarngksir6.png" alt="The Property Value modal" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, create another parameter for the receiver’s email address. To create this parameter, click the &lt;strong&gt;+&lt;/strong&gt; sign in the &lt;strong&gt;Properties to Set&lt;/strong&gt; section. This action opens up the &lt;strong&gt;Choose Property&lt;/strong&gt; modal. Fill out this modal with the following information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Property Type&lt;/strong&gt; -&amp;gt; Document Property&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source Type&lt;/strong&gt; -&amp;gt; Connectors&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connector&lt;/strong&gt; -&amp;gt; Mail&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Property&lt;/strong&gt; -&amp;gt; To Address &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This creates a dynamic property that holds the receiver's email address.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnilpqhgjt7namatgj377.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnilpqhgjt7namatgj377.png" alt="The Choose Property modal" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;OK&lt;/strong&gt; button to save this property and return to the sidebar. In this sidebar, you should see a &lt;strong&gt;Mail - To Address&lt;/strong&gt; property. &lt;/p&gt;

&lt;p&gt;Select this parameter, and click the &lt;strong&gt;+&lt;/strong&gt; sign in the &lt;strong&gt;Property Value&lt;/strong&gt; section. This action opens up the &lt;strong&gt;Parameter Value&lt;/strong&gt; modal. Fill out the &lt;strong&gt;Parameter Value&lt;/strong&gt; modal with the following information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Type&lt;/strong&gt;  -&amp;gt; Profile Element&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Profile Type&lt;/strong&gt; -&amp;gt; Flat File&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Profile&lt;/strong&gt; -&amp;gt; Mail Flat File Profile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Element&lt;/strong&gt; -&amp;gt; Expand the Elements menu and select the email field&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you are done, your &lt;strong&gt;Parameter Value&lt;/strong&gt; modal should look like this. Click the &lt;strong&gt;OK&lt;/strong&gt; button to save this parameter value and return to the sidebar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe3q0l9l38zwsjr10k3de.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe3q0l9l38zwsjr10k3de.png" alt="The Parameter Value modal" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;OK&lt;/strong&gt; button in this sidebar to save your &lt;strong&gt;Set Properties&lt;/strong&gt; configuration shape and return to the Boomi canvas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0t8uhxlbmbg3uh7s9yes.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0t8uhxlbmbg3uh7s9yes.png" alt="The Set Properties Shape with all your loaded properties" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.Create the Message&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next, you need to create the message in the email you want to send out. Add the &lt;strong&gt;Message&lt;/strong&gt; shape to your Boomi process to create this custom message.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc8iolqxpsyc75q0odh4k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc8iolqxpsyc75q0odh4k.png" alt="The Message Shape" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click this process shape to open its dedicated sidebar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwcr0pimwtwcc0u7xxjzh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwcr0pimwtwcc0u7xxjzh.png" alt="The Message shape sidebar" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this sidebar, write the message you want to send out in the &lt;strong&gt;Message&lt;/strong&gt; input field. This tutorial writes out this message.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    Hey there {1}!


    I hope everything is going great for you.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;{1}&lt;/code&gt; is a variable you will set to the &lt;strong&gt;first_name&lt;/strong&gt; property you created in the &lt;strong&gt;Set Properties&lt;/strong&gt; Shape. &lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;+&lt;/strong&gt; button to set this variable value in the &lt;strong&gt;Variables&lt;/strong&gt; section. This action opens a &lt;strong&gt;Parameter Value&lt;/strong&gt; modal. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0fgk6l6g7fqqhnjr66la.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0fgk6l6g7fqqhnjr66la.png" alt="The Message shape variables" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this modal, fill in a &lt;strong&gt;Type&lt;/strong&gt; of Document Property. Next, click the search icon next to the &lt;strong&gt;Document Property&lt;/strong&gt; input field to open up the &lt;strong&gt;Choose Property&lt;/strong&gt; modal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2doa9u8s42s6skept5tt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2doa9u8s42s6skept5tt.png" alt="The Parameter Value modal" width="800" height="381"&gt;&lt;/a&gt;    &lt;/p&gt;

&lt;p&gt;In this modal, fill out the following credentials:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Property Type&lt;/strong&gt; -&amp;gt; Dynamic Document Property&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Property Name&lt;/strong&gt; -&amp;gt; first_name&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Click the &lt;strong&gt;OK&lt;/strong&gt; button to save and close this modal. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg0ip6iws4gtzjjagcell.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg0ip6iws4gtzjjagcell.png" alt="The choose property modal" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You should see your &lt;strong&gt;Document Property&lt;/strong&gt; loaded in the &lt;strong&gt;Parameter Value&lt;/strong&gt; modal. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhdbntc4ua012fm67x56x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhdbntc4ua012fm67x56x.png" alt="The Parameter Value modal" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;OK&lt;/strong&gt; button to save your parameter value and return to the sidebar. Your sidebar should look like this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fino8plivrgycwgyg6ypx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fino8plivrgycwgyg6ypx.png" alt="The message Shape loaded with the message information " width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After creating your message and setting your dynamic variable, you instruct Boomi to replace the&lt;code&gt;{1}&lt;/code&gt; with the user’s &lt;strong&gt;first_name&lt;/strong&gt; from the file when it sends the email. Finally, click the &lt;strong&gt;OK&lt;/strong&gt; button to save your message configuration and return to the Boomi canvas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7.Send the email&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now, the best part is actually sending the email. The &lt;strong&gt;Mail Connector&lt;/strong&gt; Shape allows you to add this shape to your Boomi process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcpgidb83mi2j2q72y7b1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcpgidb83mi2j2q72y7b1.png" alt="The mail connector" width="800" height="380"&gt;&lt;/a&gt;   &lt;/p&gt;

&lt;p&gt;Click this &lt;strong&gt;Mail&lt;/strong&gt; connector to configure this shape. This opens up the &lt;strong&gt;Mail&lt;/strong&gt; connector sidebar. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcciti50996qqza6b2xl0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcciti50996qqza6b2xl0.png" alt="The connector shape database " width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this sidebar, go to the &lt;strong&gt;Connection&lt;/strong&gt; input field and select the &lt;strong&gt;Mail&lt;/strong&gt; Connection you created in the prerequisites section. If you have not created the Mail Connection yet, check out &lt;a href="https://help.boomi.com/docs/Atomsphere/Integration/Getting%20started/int-Creating_the_Mail_connection_and_operation_96283ae7-a4e4-4589-9e0a-8117286c3e89"&gt;Creating the Mail connection and Operation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Next, select an &lt;strong&gt;Action&lt;/strong&gt; of Send, as you will be sending emails.&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Operation&lt;/strong&gt; input field, you can either select a previously created Mail operation or create a new one. This tutorial shows you how to create a new operation.&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;+&lt;/strong&gt; sign in the Operation input field to create a new operation. This action opens up a new Mail operation page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F13ls3usox4vymcvmiwf0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F13ls3usox4vymcvmiwf0.png" alt="The Mail connector Operation input field" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fill out the input fields on this page with the following information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;From&lt;/strong&gt;: This is the email you used when creating your connection. It is the email address that shows up as the sender in your Mail app&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;To&lt;/strong&gt;: Leave &lt;strong&gt;To&lt;/strong&gt; as blank as you want to dynamically set that property depending on the email address in the data file from your database&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Disposition&lt;/strong&gt;: Select &lt;strong&gt;Inline&lt;/strong&gt; because the document data is sent in the body of the email message instead of as an attachment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Content-Type&lt;/strong&gt;: text/plain, as you will be sending texts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2etso9eckpl4pgb0fd0f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2etso9eckpl4pgb0fd0f.png" alt="The Operation page" width="800" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you are done, your sidebar should look like this: click the &lt;strong&gt;OK&lt;/strong&gt; button to save this sidebar and return to the Boomi canvas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnil2t0bu9q9iy8dipnlj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnil2t0bu9q9iy8dipnlj.png" alt="The Mail connector sidebar with its connection and operation values" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8.Test the process&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To verify if the process is working, click the &lt;strong&gt;Arrange&lt;/strong&gt; button, then click the &lt;strong&gt;Test&lt;/strong&gt; button to test the process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6dbn6xyxecbonzvqs8lr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6dbn6xyxecbonzvqs8lr.png" alt="The Arrange tab" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action asks you to select the Atom you want to run this Boomi process on; select the Atom you created in the prerequisites section. After running the process, you should see the custom email in the provided email address.&lt;/p&gt;

&lt;h2&gt;
  
  
  That’s a Wrap!
&lt;/h2&gt;

&lt;p&gt;This guide has shown you how to dynamically send custom emails to different email addresses in your MySQL database using Boomi. You can also build on this tutorial to create personalized messages based on user information and trigger automated emails based on specific actions.&lt;/p&gt;

&lt;p&gt;However, as interesting as this exercise is, this is only just a starting point for exploring the full capabilities of Boomi.  Refer to the &lt;a href="https://help.boomi.com/"&gt;official documentation&lt;/a&gt; for more information on what Boomi can do.&lt;/p&gt;

</description>
      <category>ipaas</category>
      <category>mysql</category>
      <category>devops</category>
      <category>boomi</category>
    </item>
    <item>
      <title>How to create an ETL process with Boomi, using AWS S3 and Salesforce</title>
      <dc:creator>Amarachi Iheanacho</dc:creator>
      <pubDate>Wed, 10 Apr 2024 10:47:24 +0000</pubDate>
      <link>https://dev.to/eyer-ai/how-to-do-an-etl-process-with-boomi-using-aws-s3-and-salesforce-1nmo</link>
      <guid>https://dev.to/eyer-ai/how-to-do-an-etl-process-with-boomi-using-aws-s3-and-salesforce-1nmo</guid>
      <description>&lt;p&gt;&lt;a href="https://www.ibm.com/topics/etl"&gt;Extract, Transform, and Load (ETL)&lt;/a&gt; is a fundamental data processing technique to prepare data for analysis. It involves gathering data from various sources (extract), cleaning and converting it into a consistent format (transform), and then loading it into a central repository, where it's ready for tasks like business intelligence and machine learning. &lt;/p&gt;

&lt;p&gt;These processes are the backbone of data integration, facilitating the movement of information between systems with efficiency and accuracy.&lt;/p&gt;

&lt;p&gt;This guide simplifies data integration between AWS S3 and Salesforce using Boomi. Learn to extract, transform, and load data, gaining valuable insights for decision-making.  No matter your &lt;a href="https://boomi.com/"&gt;Boomi &lt;/a&gt;experience, this tutorial equips you to build a seamless data pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;To build a simple ETL process that collects files from your AWS S3 bucket, checks if the files were last modified today, and stores them in Salesforce with Boomi, follow these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a new Boomi integration process&lt;/li&gt;
&lt;li&gt;Collecting the data from the AWS S3 bucket&lt;/li&gt;
&lt;li&gt;Use the Business rule to figure out files for the last modified date of today&lt;/li&gt;
&lt;li&gt;Collect the files that were modified today from the S3 bucket&lt;/li&gt;
&lt;li&gt;Change file type from CSV to XML&lt;/li&gt;
&lt;li&gt;Adding a Salesforce connector to store the data&lt;/li&gt;
&lt;li&gt;Mapping the CSV values to the Salesforce fields&lt;/li&gt;
&lt;li&gt;Testing the Boomi process&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;To get the most out of this article, you must have the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Boomi platform account: if you do not have one, &lt;a href="https://boomi.com/"&gt;create a 30-day free trial account&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A Salesforce account: if you do not have one, &lt;a href="https://login.salesforce.com/"&gt;create a free account&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A Boomi Atom is installed locally and connected to a MySQL account. To learn how to do this, check out &lt;a href="https://dev.to/eyer-ai/installing-boomi-atom-runtime-on-docker-4dn2"&gt;how to connect your Boomi Atom runtime and MySQL on Docker&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;An AWS account; if you do not have one, &lt;a href="https://aws.amazon.com/"&gt;create one for free&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Creating files in your AWS S3 bucket
&lt;/h2&gt;

&lt;p&gt;Before uploading files to your S3 bucket, you must create the CSV files you want to store. To accomplish this, create a new directory on your laptop using the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
mkdir &amp;lt;name of your directory&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, open this directory in your code editor and create as many CSV files as possible. This tutorial creates three CSV files: &lt;code&gt;booking-1.csv&lt;/code&gt;, &lt;code&gt;booking-2.csv&lt;/code&gt;, and &lt;code&gt;booking-3.csv&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Populate these files with the CSV data you want to store. For instance, &lt;code&gt;booking-1.csv&lt;/code&gt; can have this data, with each field separated by a comma:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
booking_id,customer_name,customer_email,customer_company
123,Alice Johnson,alice.johnson@hospitality.com,Grand View Hotel
456,Brian Jones,brian.jones@travelagency.net,Adventure Tours

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Populate the rest of the booking files with the data you want to store.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Uploading these files to your AWS S3 bucket&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To upload your CSV files to an S3 bucket, search for S3 in the search bar and then click on the &lt;strong&gt;S3&lt;/strong&gt; service in the modal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fut225i5lv5hn88rlf0z5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fut225i5lv5hn88rlf0z5.png" alt="The AWS services modal" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clicking on the &lt;strong&gt;S3&lt;/strong&gt; service redirects you to the Amazon S3 page. To create a new S3 bucket, click this page's &lt;strong&gt;Create bucket&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ljesjx0ryu76dsmf35k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ljesjx0ryu76dsmf35k.png" alt="The AWS S3 bucket page" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Create bucket&lt;/strong&gt; button leads you to the &lt;strong&gt;General configuration&lt;/strong&gt; page of the S3 bucket you're about to create. Enter your desired Bucket Name, then click the &lt;strong&gt;Create bucket&lt;/strong&gt; button to complete the creation process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fypf223248k3kweton4w5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fypf223248k3kweton4w5.png" alt="The AWS S3 create bucket page" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdaibk55i0j2o2dwvfunj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdaibk55i0j2o2dwvfunj.png" alt="The AWS S3 create bucket button" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you are done, you should see your newly created bucket on your Amazon S3 page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Copy your AWS access and secret key&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The AWS access and secret key allow applications or users to access the data in your S3 bucket.&lt;/p&gt;

&lt;p&gt;To retrieve these keys, you'll need to create a user and specify which artifacts the user can access.&lt;/p&gt;

&lt;p&gt;To create a user, search for and click on the &lt;strong&gt;IAM&lt;/strong&gt; service. Then, open the &lt;strong&gt;Users page&lt;/strong&gt; by clicking the &lt;strong&gt;Users&lt;/strong&gt; tab in the sidebar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F50jo84bijrgrbjgqtvtl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F50jo84bijrgrbjgqtvtl.png" alt="The AWS services modal" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Femvoflnxnzd79opp5o07.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Femvoflnxnzd79opp5o07.png" alt="The IAM dashboard, with an arrow pointing to the Users tab" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On this page, click the &lt;strong&gt;Create User&lt;/strong&gt; button. This action will open the &lt;strong&gt;Specify user details&lt;/strong&gt; page. Input the user name you want to create, then click &lt;strong&gt;Next&lt;/strong&gt; to proceed to the &lt;strong&gt;Set Permissions&lt;/strong&gt; page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh8q50fja9ux76k3bk1hz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh8q50fja9ux76k3bk1hz.png" alt="Image description" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Choose the &lt;strong&gt;Attach Policies Direct&lt;/strong&gt; option on this page, then search for the &lt;strong&gt;AmazonS3FullAccess&lt;/strong&gt; permission policy and click on it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6tslqywoloi49ioayii5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6tslqywoloi49ioayii5.png" alt="The AWS set permissions page" width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;Next&lt;/strong&gt; and &lt;strong&gt;Create User&lt;/strong&gt; buttons to create your new user. You will then see your newly created user on your User page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ab5hlu6utnb9rs63fa8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ab5hlu6utnb9rs63fa8.png" alt="The AWS user Review and create page" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To find your AWS access and secret access key, open your newly created user page by selecting the user from the sidebar, then click the &lt;strong&gt;Security Credentials&lt;/strong&gt; tab.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F17domf86rcmdrp49u1tt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F17domf86rcmdrp49u1tt.png" alt="The users page, with an arrow pointing to the Security credentials tab" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Scroll down to the &lt;strong&gt;Access keys&lt;/strong&gt; section, and click the &lt;strong&gt;Create access key&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3o7k4s0xzcbeowt04vyz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3o7k4s0xzcbeowt04vyz.png" alt="The Create access key button" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action leads you to the &lt;strong&gt;Access key best practices and alternatives&lt;/strong&gt; page. Choose the &lt;strong&gt;Third-party Service&lt;/strong&gt; option on this page since you'll manage the data in your S3 bucket with Boomi.&lt;/p&gt;

&lt;p&gt;After that, check the box, "I understand the above recommendation and want to proceed to create an access key," and click the &lt;strong&gt;Next&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2nl2lg1qzi24ysp3ccgd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2nl2lg1qzi24ysp3ccgd.png" alt="The Third-party Service option" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can input a description tag for the access key if you'd like, but it's not required. Then, click the &lt;strong&gt;Create access key&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;After this step, you will be directed to the &lt;strong&gt;Retrieve access keys&lt;/strong&gt; page. Make sure to copy both the Access and Secret access keys. These keys are necessary for connecting your Boomi process to the AWS S3 bucket.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faovr28zbyr5u06e3dco7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faovr28zbyr5u06e3dco7.png" alt="The Retrieve access key page" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the &lt;strong&gt;Done&lt;/strong&gt; button to return to your user page.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to create the ETL process
&lt;/h2&gt;

&lt;p&gt;This tutorial creates an ETL process that enables you to collect data stored on the AWS S3 bucket.  Next, you'll filter this data to return only the records modified today, transform them into XML format, and then store them in Salesforce. This process empowers the sales team and improves management's visibility and decision-making. &lt;/p&gt;

&lt;p&gt;To create this ETL process in Boomi, follow these steps:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.Create a new Boomi integration process&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To create this process, go to the &lt;strong&gt;Integration&lt;/strong&gt; page, and click the &lt;strong&gt;Create New&lt;/strong&gt; button, and choose &lt;strong&gt;Process&lt;/strong&gt; from the dropdown menu.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv749z4n06uj4a7xigdfh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv749z4n06uj4a7xigdfh.png" alt="The Boomi Create New button" width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action will open the &lt;strong&gt;Start Shape&lt;/strong&gt; sidebar. Choose the &lt;strong&gt;No Data&lt;/strong&gt; radio button, indicating that the process will not receive external data, and then confirm by clicking the &lt;strong&gt;OK&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9m2liheyw7723xg2yuaw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9m2liheyw7723xg2yuaw.png" alt="The Boomi Start Shape sidebar" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.Collecting the data from the AWS S3 bucket&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After initiating your new Boomi process, add your AWS S3 bucket, which contains the files you want to extract, transform, and load into the Salesforce application. However, it is important to incorporate error handling to catch any errors during connection.&lt;/p&gt;

&lt;p&gt;Add the &lt;strong&gt;Try/Catch&lt;/strong&gt; shape to your Boomi process to handle errors.&lt;/p&gt;

&lt;p&gt;To add a shape to a Boomi process, click on the small box at the end of the dotted lines, leaving the previous shape (in this case, the &lt;strong&gt;Start&lt;/strong&gt; shape). Then, search for the shape you want to add to the process (the &lt;strong&gt;Try/Catch&lt;/strong&gt; shape).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk0citl08y9a8idqip4hj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk0citl08y9a8idqip4hj.png" alt="The Try/Catch Shape" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Add the &lt;strong&gt;Amazon S3 REST&lt;/strong&gt; connector to the Try path. This connector links your S3 bucket to the Boomi shape.  Next, click on the &lt;strong&gt;Amazon S3 REST&lt;/strong&gt; connector to configure the shape. This action opens up the &lt;strong&gt;Connector Shape&lt;/strong&gt; sidebar. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa7soj37dsmrmkurp45k6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa7soj37dsmrmkurp45k6.png" alt="The Amazon S3 REST shape" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fido9vkea4g1nyjdb7e81.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fido9vkea4g1nyjdb7e81.png" alt="The Amazon S3 REST connector shape sidebar" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this sidebar, select &lt;strong&gt;QUERY&lt;/strong&gt; as the &lt;strong&gt;Action&lt;/strong&gt; from the dropdown. Then, click the &lt;strong&gt;+&lt;/strong&gt; in the Connection input field to create a new AWS S3 connection.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpef35uaofskwa4t6u00i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpef35uaofskwa4t6u00i.png" alt="The Amazon S3 REST connection input field" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action opens a connection page that requires you to input credentials for your S3 bucket. These credentials include the &lt;strong&gt;Amazon AWS Access Key&lt;/strong&gt; and your &lt;strong&gt;Amazon AWS Secret Key&lt;/strong&gt;. They grant your Boomi process the necessary permissions to access the data in your buckets.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyo5ubfv9adfkqyhryb80.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyo5ubfv9adfkqyhryb80.png" alt="The Amazon S3 REST connection page" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, click the &lt;strong&gt;Save and Close&lt;/strong&gt; button to return to your Connector Shape sidebar.&lt;/p&gt;

&lt;p&gt;After creating the connection, click the &lt;strong&gt;+&lt;/strong&gt; button in the &lt;strong&gt;Operation&lt;/strong&gt; input field to define how to interact with the S3 bucket.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3xd5mczf5vxycv4pfddi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3xd5mczf5vxycv4pfddi.png" alt="The Amazon S3 REST operation input field" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action opens up the &lt;strong&gt;Operation&lt;/strong&gt; page. On this page, click the &lt;strong&gt;Import Operation&lt;/strong&gt; button. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnh2c2of9lykqxv7d60vk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnh2c2of9lykqxv7d60vk.png" alt="The Amazon S3 REST operation" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action opens up an &lt;strong&gt;Amazon S3 REST Operation Import&lt;/strong&gt; modal. In this modal, fill in the required information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Atom&lt;/strong&gt;: The atom you are running your Boomi process in&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connection&lt;/strong&gt;: The Amazon S3 REST connection you just created&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fodonxhh058gf8bgrsf4r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fodonxhh058gf8bgrsf4r.png" alt="The Amazon S3 REST Operation Import modal" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;Next&lt;/strong&gt; button to open the &lt;strong&gt;Amazon S3 REST Operation Import&lt;/strong&gt; modal. In this modal, choose the AWS S3 bucket from which you want to retrieve the files, then click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyymp7w3d0x7s6dj6zdmq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyymp7w3d0x7s6dj6zdmq.png" alt="The Amazon S3 REST Operation Import modal with the preferred S3 bucket option" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, click the &lt;strong&gt;Finish&lt;/strong&gt; button to save your newly loaded operation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fob0429jife9erc6xcl83.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fob0429jife9erc6xcl83.png" alt="The Amazon S3 REST Operation Import modal with the loaded operation configuration" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You should see your S3 bucket in the operation page's &lt;strong&gt;Objects&lt;/strong&gt; section. Click on this bucket.&lt;/p&gt;

&lt;p&gt;Next, you'll define a filter criteria for the &lt;strong&gt;Prefix&lt;/strong&gt; field corresponding to the S3 bucket file path. To do this, click the downward arrow next to &lt;strong&gt;Filter&lt;/strong&gt;. This will open up an &lt;strong&gt;Add Logical Sub-Group&lt;/strong&gt; menu; select this option.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8gu0tinhyoxuwe1r5847.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8gu0tinhyoxuwe1r5847.png" alt="The Amazon S3 REST Operation objects section" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, click the downward-facing arrow and then on the &lt;strong&gt;Add Expression&lt;/strong&gt; menu. This action opens up a form. In this form, input a filter name of &lt;strong&gt;Prefix&lt;/strong&gt;, click the field search bar, and select the prefix menu. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F360dlgf24o1f7p67d2al.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F360dlgf24o1f7p67d2al.png" alt="The Amazon S3 REST Operation prefix field" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, click the &lt;strong&gt;Save and Close&lt;/strong&gt; button to return to the Amazon S3 sidebar.&lt;/p&gt;

&lt;p&gt;Next, go to the &lt;strong&gt;Parameters&lt;/strong&gt; tab to specify that you want to query all the files in the AWS S3 bucket with the static value 'bookings'. To do that, click the &lt;strong&gt;+&lt;/strong&gt; sign in this tab to open the &lt;strong&gt;Parameter value&lt;/strong&gt; modal. Fill out this modal with the following information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Input -  Prefix&lt;/li&gt;
&lt;li&gt;Type -Static&lt;/li&gt;
&lt;li&gt;Static Value - bookings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3r20ssafxywpadmoqr1i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3r20ssafxywpadmoqr1i.png" alt="The Amazon S3 REST Connector Parameter Value " width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;OK&lt;/strong&gt; button to view your newly created parameter in your AWS S3 connector sidebar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3kjaejt88uzp1d081trq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3kjaejt88uzp1d081trq.png" alt="Image description" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;OK&lt;/strong&gt; button in the Connector sidebar to return to the canvas.&lt;/p&gt;

&lt;p&gt;After connecting your Boomi process to your S3 bucket, add a Stop shape at the end of the catch branch to stop the process if any errors are encountered.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuotafgx2lzz6ud7ul8r6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuotafgx2lzz6ud7ul8r6.png" alt="The Stop shape added to the catch path of the process" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.Use the Business rule to figure out files for the last modified date of today&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After connecting your process to your S3 bucket, add a &lt;strong&gt;Business Rules&lt;/strong&gt; shape to filter the files in your bucket based on whether they were modified today.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4vbe9fz757ecr7rrw1su.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4vbe9fz757ecr7rrw1su.png" alt="The Boomi Business Rules Shape" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the &lt;strong&gt;Business Rules&lt;/strong&gt; shape to open the &lt;strong&gt;Business Rules Shape Options&lt;/strong&gt; modal. In this modal, select a &lt;strong&gt;Profile Type&lt;/strong&gt; of XML. In the Profile input field, you will see the profile you created for the Amazon connector. Simply select that profile.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj4vtx38jg5ys8h0jcip2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj4vtx38jg5ys8h0jcip2.png" alt="The Boomi Business Rules Shape Options modal" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, click the &lt;strong&gt;OK&lt;/strong&gt; button to open the &lt;strong&gt;Business Rules Shape&lt;/strong&gt; modal. In this modal, click the &lt;strong&gt;Create a New Rule&lt;/strong&gt; button to create a new business rule.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpl214coo1adgvfgplqnf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpl214coo1adgvfgplqnf.png" alt="The Getting Started with Business Rules Shape" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On this New Business Rule page, click the &lt;strong&gt;Add&lt;/strong&gt; dropdown and select the &lt;strong&gt;Function&lt;/strong&gt; tab. Selecting the &lt;strong&gt;Function&lt;/strong&gt; tab opens up an &lt;strong&gt;Add a Function&lt;/strong&gt; modal. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0823fni6me3khanfl2x1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0823fni6me3khanfl2x1.png" alt="The New Business Rule" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this modal, select a &lt;strong&gt;Category&lt;/strong&gt; of &lt;strong&gt;Date&lt;/strong&gt;, select the &lt;strong&gt;Get Current Date&lt;/strong&gt; function to get the current date, and then click the &lt;strong&gt;OK&lt;/strong&gt; -&amp;gt; &lt;strong&gt;OK&lt;/strong&gt; buttons to save this selection.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fasu5bqxnvrzjnwvnw7f3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fasu5bqxnvrzjnwvnw7f3.png" alt="The Business Rules Add a Function modal" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, add the second input for the comparison; this input will be the file's last modified date.&lt;/p&gt;

&lt;p&gt;To add this second input, click the &lt;strong&gt;Add&lt;/strong&gt; dropdown, then select &lt;strong&gt;Field&lt;/strong&gt; from the menu. This action will open an &lt;strong&gt;Add a Field&lt;/strong&gt; modal. Click on the &lt;strong&gt;Field&lt;/strong&gt; input area to open a &lt;strong&gt;New Input&lt;/strong&gt; modal within this modal. Choose the &lt;strong&gt;LastModified&lt;/strong&gt; field and click the &lt;strong&gt;OK -&amp;gt; OK&lt;/strong&gt; button to save your selection.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcok316kvqgzb0rgftzt8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcok316kvqgzb0rgftzt8.png" alt="The Business Rules New Input modal" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, add a condition to compare these values and check if they are the same. This means checking if the last modified date equals the present date.&lt;/p&gt;

&lt;p&gt;To create this condition, click the &lt;strong&gt;Add a Condition&lt;/strong&gt; link.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7b5ubf2fxhv1ifvj82xa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7b5ubf2fxhv1ifvj82xa.png" alt="The Add a condition link " width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the dropdowns, select the following fields.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the first dropdown, select the  &lt;strong&gt;LastModified(Contents/LastModified)&lt;/strong&gt; field&lt;/li&gt;
&lt;li&gt;In the second dropdown, select the &lt;strong&gt;=&lt;/strong&gt; field&lt;/li&gt;
&lt;li&gt;In the third dropdown, select the &lt;strong&gt;Get Current Date&lt;/strong&gt; field&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2b9uuxmuwdrigorx71ye.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2b9uuxmuwdrigorx71ye.png" alt="The New Business Rule modal " width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, select the &lt;strong&gt;Save&lt;/strong&gt; button and click OK to save the business rules. &lt;/p&gt;

&lt;p&gt;When checking for the condition in the &lt;strong&gt;Business Rules&lt;/strong&gt; shape, it can take one of two paths, Accepted or Rejected.  If the files are rejected, you'll want to end their journey. To do that, add the &lt;strong&gt;End and Continue&lt;/strong&gt; shape to the Rejected path from the Business Rules shape.&lt;/p&gt;

&lt;p&gt;You'll want to retrieve and store the remaining files that pass this condition in your Salesforce application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.Collect the files that were modified today from the S3 bucket&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To retrieve the files that meet these conditions, you need to add another &lt;strong&gt;Amazon S3 REST&lt;/strong&gt; connector to the accepted path from the Business Rules shape.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F877do03p4gu5nynzw6ig.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F877do03p4gu5nynzw6ig.png" alt="The AWS S3 GET Connector on the Accepted path of the Business Rules Shape" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, click on the &lt;strong&gt;Amazon S3 REST&lt;/strong&gt; shape to configure it. In the &lt;strong&gt;Connection&lt;/strong&gt; input field, select the Amazon S3 REST Connection you created earlier. Then, choose the &lt;strong&gt;GET&lt;/strong&gt; action and click the &lt;strong&gt;+&lt;/strong&gt; button in the operation field to create a new operation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fans5xuvnc10ysofcbczh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fans5xuvnc10ysofcbczh.png" alt="The AWS S3 connector operation" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action opens up the &lt;strong&gt;Operation&lt;/strong&gt; page. Click on the &lt;strong&gt;Import Operation&lt;/strong&gt;, and fill out the modal with your credentials:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Atom&lt;/strong&gt;: Select the Atom you want to run your Boomi process in &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connection&lt;/strong&gt;: The AWS S3 REST connection you just created.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Click the &lt;strong&gt;Next&lt;/strong&gt; button to open the &lt;strong&gt;Amazon S3 REST Operation Import&lt;/strong&gt; modal. In this modal, select the S3 bucket with the files you want to get, then click on the &lt;strong&gt;Next -&amp;gt; Finish&lt;/strong&gt; buttons.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4qwjny3l6pxp8pdezuq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4qwjny3l6pxp8pdezuq7.png" alt="The Amazon S3 REST Operation Import with your preferred s3 bucket" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6yktg25et5d8quqse42.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6yktg25et5d8quqse42.png" alt="The Amazon S3 REST Operation Import with your loaded operation" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;Save and Close&lt;/strong&gt; button to save your Amazon S3 operation and return to the sidebar.&lt;/p&gt;

&lt;p&gt;Next, you pass in the file key as a parameter to the next AWS call, allowing you to read the content of the file key. To pass the file key as a parameter,  go to your sidebar, navigate to the Parameters section, and click the + button to create a new parameter. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr3v5zd4bdq4puv0uho7k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr3v5zd4bdq4puv0uho7k.png" alt="The Amazon S3 REST Connector Shape Parameter value" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action opens up a &lt;strong&gt;Parameter Value&lt;/strong&gt; modal. In this modal, fill in the following information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Input - Select the ID field in the New Input modal &lt;/li&gt;
&lt;li&gt;Type - Profile Element&lt;/li&gt;
&lt;li&gt;Profile Type -  XML&lt;/li&gt;
&lt;li&gt;Profile - Your newly created query Amazon S3 profile&lt;/li&gt;
&lt;li&gt;Element - Key&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Click on the &lt;strong&gt;OK&lt;/strong&gt; button to save your parameter. Your newly created parameter should appear in the parameter section.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F59csclps7k59l0da06w3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F59csclps7k59l0da06w3.png" alt="The Parameter value modal" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then click on the OK button to save your Amazon S3 REST configuration. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.Change file type from CSV to XML&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next, you will transform the CSV files you get from the AWS S3 bucket to an XML format for more compatibility with your Salesforce application.&lt;/p&gt;

&lt;p&gt;To change this CSV format, add a &lt;strong&gt;Map&lt;/strong&gt; Shape to the Boomi process. Click on this shape to configure it, which opens up a &lt;strong&gt;Map&lt;/strong&gt; sidebar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa03sf149dqp970dpcp4q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa03sf149dqp970dpcp4q.png" alt="The Boomi Map Shape" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;+&lt;/strong&gt; sign in the &lt;strong&gt;Map&lt;/strong&gt; input field in this sidebar to open the Map page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhz62pa8rjbhh92craebk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhz62pa8rjbhh92craebk.png" alt="The Boomi Map Shape input field" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go to the &lt;strong&gt;Map source&lt;/strong&gt; section on this page and select the &lt;strong&gt;Choose&lt;/strong&gt; link. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff05y5u7o0qs0xcfgqbuf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff05y5u7o0qs0xcfgqbuf.png" alt="The Map source Choose link" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action opens the &lt;strong&gt;Choose a Source Profile&lt;/strong&gt; modal; in this modal, select the &lt;strong&gt;Profile Type&lt;/strong&gt; of &lt;strong&gt;Flat File&lt;/strong&gt;, and in the &lt;strong&gt;Profile&lt;/strong&gt; field, select the CSV profile you created previously. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg5a2x9v2omq3uh457fnz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg5a2x9v2omq3uh457fnz.png" alt="The Map Choose a Source Profile modal" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;OK&lt;/strong&gt; button to see your data fields populated in the &lt;strong&gt;Elements&lt;/strong&gt; menu.&lt;/p&gt;

&lt;p&gt;Next, Click the &lt;strong&gt;Save and Close&lt;/strong&gt; button, as you will need to create a Salesforce profile before you can map the data from the CSV file to the Salesforce field.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.Adding a Salesforce connector to store the data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next, add a Salesforce connector to your Boomi process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnfuj30fl4vulbo5l9bqd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnfuj30fl4vulbo5l9bqd.png" alt="The Salesforce connector shape" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the Salesforce connector to open the sidebar and configure it. In the sidebar, fill out the input fields with the following information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Connection&lt;/strong&gt;: Salesforce connection allows you to connect your Boomi process to the Salesforce&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Action&lt;/strong&gt;: The action will be Send as you are upserting data into your Salesforce application instead of retrieving&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operation&lt;/strong&gt;: This defines how to interact with your Salesforce account.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcgl2fd6vqf9c5don3ygy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcgl2fd6vqf9c5don3ygy.png" alt="The Salesforce connector shape sidebar, filled in with the connector and operation" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To learn how to create a Salesforce connection and Operation, check out &lt;a href="https://eyer.ai/blog/how-to-sync-your-mysql-database-with-salesforce-in-docker/"&gt;How to sync your MySQL database with Salesforce in Docker using Boomi&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Click the OK button to save the configuration for the Salesforce connector Shape.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7.Mapping the CSV values to the Salesforce fields&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To map your data to the fields in Salesforce, open up your CSV to XML map shape, and click the pencil icon to edit the Map shape.&lt;/p&gt;

&lt;p&gt;On the right side of the page, the &lt;strong&gt;Map destination&lt;/strong&gt;, find the &lt;strong&gt;Choose&lt;/strong&gt; button and click it. This action will open the &lt;strong&gt;Choose a Profile&lt;/strong&gt; modal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn5m8ffxkiwy77xdte9hw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn5m8ffxkiwy77xdte9hw.png" alt="The Map destination Choose link" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;XML&lt;/strong&gt; from the &lt;strong&gt;Profile Type&lt;/strong&gt; dropdown menu within the modal. Then, choose the Salesforce Profile you just created. Confirm your selection by clicking &lt;strong&gt;OK&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhasrtg4k8ub6lnb2vutk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhasrtg4k8ub6lnb2vutk.png" alt="The Choose a Destination Profile" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The next step involves linking the corresponding fields between your CSV file and Salesforce. Simply drag your cursor from a field on the left side and connect it to its matching field on the right. For example, in the diagram below, the following fields are mapped together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;booking_id -&amp;gt; Booking_ID_c&lt;/li&gt;
&lt;li&gt;customer_name -&amp;gt; Name&lt;/li&gt;
&lt;li&gt;customer_email -&amp;gt;Email_c&lt;/li&gt;
&lt;li&gt;customer_company -&amp;gt; Company_c&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you've mapped all the fields, your page should resemble the example provided.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhzfjh6sxxujt5kho1nl9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhzfjh6sxxujt5kho1nl9.png" alt="The Mapped values from Map source to the Map destination fields" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, click the &lt;strong&gt;Save and Close&lt;/strong&gt; button to save this Map and return to the sidebar. &lt;/p&gt;

&lt;p&gt;Then, click the &lt;strong&gt;OK&lt;/strong&gt; button on the sidebar to save your Map Shape configuration and return to your Boomi process canvas. &lt;/p&gt;

&lt;p&gt;Finally, add an &lt;strong&gt;End and Continue&lt;/strong&gt; shape to signify the end of the process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuvx4ce8qg4gkj852qnsd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuvx4ce8qg4gkj852qnsd.png" alt="The entire AWS to Salesforce ETL  Boomi process" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8.Testing the Boomi process&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To verify if the process is working, click the &lt;br&gt;
&lt;strong&gt;Arrange&lt;/strong&gt; button, then save and test the process.&lt;/p&gt;

&lt;p&gt;Next, click on the Salesforce application and navigate to the &lt;strong&gt;Shape Source Data&lt;/strong&gt; tab below."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fua781vvthdrqf730cajq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fua781vvthdrqf730cajq.png" alt="The Shape Source Data tab" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will see the data packets; click on one of these packets to see the data in your database.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgsh09383voil2l2axe2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgsh09383voil2l2axe2.png" alt="The Document Viewer modal" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After completing the process, your database data will be visible in your Salesforce application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs93grs4abrhd4yp9ztwq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs93grs4abrhd4yp9ztwq.png" alt="The Salesforce Accounts tab" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  That's a Wrap
&lt;/h2&gt;

&lt;p&gt;This guide has shown you how to build a basic ETL process using Boomi. You learned how to extract data from your AWS S3 bucket, check if it was modified today, transform it into an XML file format, and finally load it into your Salesforce application for easy access.&lt;/p&gt;

&lt;p&gt;ETL processes are a common and valuable application of integration platforms in modern software engineering. However, this is just a starting point for exploring the full capabilities of Boomi.  Refer to the &lt;a href="https://help.boomi.com/"&gt;official documentation&lt;/a&gt; for more information on what Boomi can do.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>boomi</category>
      <category>salesforce</category>
      <category>ipaas</category>
    </item>
    <item>
      <title>How to convert XML files to CSV format using Boomi in Docker</title>
      <dc:creator>Amarachi Iheanacho</dc:creator>
      <pubDate>Wed, 03 Apr 2024 07:23:51 +0000</pubDate>
      <link>https://dev.to/eyer-ai/how-to-convert-xml-files-to-csv-format-using-boomi-in-docker-30c8</link>
      <guid>https://dev.to/eyer-ai/how-to-convert-xml-files-to-csv-format-using-boomi-in-docker-30c8</guid>
      <description>&lt;p&gt;With its structured hierarchy, Extensible Markup Language (XML) excels at storing and sharing data across different applications. However, a simple comma-separated value (CSV) table format shines for its easy readability and compatibility with many data analysis tools.&lt;/p&gt;

&lt;p&gt;This conversion bridges the gap between these formats, making data more accessible to use and analyze. Whether managing databases, migrating data, or integrating with other systems, transforming XML to CSV streamlines your information into a format readily usable by a wide range of applications.    &lt;/p&gt;

&lt;p&gt;This article discusses converting XML data retrieved from an FTP server into a CSV format. It will guide you through setting up the connection, retrieving the files, and converting the data using Boomi.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;To get the most out of this article, you must have the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Boomi platform account: if you do not have one, create&lt;a href="https://boomi.com/"&gt; a 30-day free trial account&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A Boomi Atom is installed locally. To understand how to install a Boomi Atom on Docker, check out this &lt;a href="https://eyer.ai/blog/installing-boomi-atom-runtime-on-docker/"&gt;Installing Boomi Atom runtime on Docker&lt;/a&gt; tutorial&lt;/li&gt;
&lt;li&gt;A basic understanding of Docker and its commands&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Creating an XML data file in your project’s root directory
&lt;/h2&gt;

&lt;p&gt;An &lt;a href="https://blog.hubspot.com/website/what-is-xml-file"&gt;Extensible Markup Language (XML) file&lt;/a&gt; is a file that is used to store data in the form of hierarchical elements. This data stored in this way can be easily exchanged between different computer programs and platforms because XML utilizes a standard format. This makes XML a versatile tool for sharing configuration settings, financial records, or scientific data.&lt;/p&gt;

&lt;p&gt;Before transforming your data, you must create the XML file itself.  In the folder containing your Boomi Atom,  create an "ftp-data" folder.  Within this folder, create a file named &lt;code&gt;data.xml&lt;/code&gt;.  Copy and paste the following code into this file to populate it with sample customer data.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;
&lt;span class="nt"&gt;&amp;lt;xml&lt;/span&gt; &lt;span class="na"&gt;version=&lt;/span&gt;&lt;span class="s"&gt;"1.0"&lt;/span&gt; &lt;span class="na"&gt;encoding=&lt;/span&gt;&lt;span class="s"&gt;"utf-8"&lt;/span&gt;&lt;span class="err"&gt;?&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;customersList&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;customer&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;Aisha&lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;email&amp;gt;&lt;/span&gt;aisha@senegal.com&lt;span class="nt"&gt;&amp;lt;/email&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;country&amp;gt;&lt;/span&gt;Senegal&lt;span class="nt"&gt;&amp;lt;/country&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;state&amp;gt;&lt;/span&gt;Dakar&lt;span class="nt"&gt;&amp;lt;/state&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/customer&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/customersList&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Connecting an FTP server to the Boomi Atom
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://www.hostinger.com/tutorials/what-is-ftp"&gt;File Transfer Protocol (FTP) server&lt;/a&gt; is a digital storage locker you can access online. It uses a specific set of rules called &lt;a href="https://www.fortinet.com/resources/cyberglossary/file-transfer-protocol-ftp-meaning#:~:text=FTP%20(File%20Transfer%20Protocol)%20is,to%20communicate%20with%20each%20other."&gt;File Transfer Protocol (FTP)&lt;/a&gt; to upload and download files. &lt;/p&gt;

&lt;p&gt;You can use an FTP server as a secure transfer station to send files into your Boomi Atom, specifically the newly created XML file. This section will walk you through the process of creating and connecting an FTP server to your Boomi Atom, building upon the knowledge you acquired &lt;a href="https://eyer.ai/blog/installing-boomi-atom-runtime-on-docker/"&gt;installing the Boomi Atom in Docker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To achieve this, update your &lt;code&gt;docker-compose.yml&lt;/code&gt; file with this additional information and replace placeholders with your specific values.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;3'&lt;/span&gt;
&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;atom&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;boomi/atom:5.0.2-rhel&lt;/span&gt;
    &lt;span class="na"&gt;container_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;boomi-atom&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="s"&gt;-&amp;lt;your host directory&amp;gt;/data:/mnt/boomi:Z&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;BOOMI_ATOMNAME=&amp;lt;your atom name&amp;gt;&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;INSTALL_TOKEN=&amp;lt;your atom installer token&amp;gt;&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;BOOMI_ENVIRONMENTID=&amp;lt;your environment ID&amp;gt;&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;ATOM_LOCALHOSTID=&amp;lt;your atom name&amp;gt;&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;9090:9090"&lt;/span&gt;
  &lt;span class="na"&gt;ftp&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;delfer/alpine-ftp-server&lt;/span&gt;
    &lt;span class="na"&gt;container_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ftp-server&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;USERS=&amp;lt;username&amp;gt;|&amp;lt;password&amp;gt;&lt;/span&gt;  &lt;span class="c1"&gt;# Use a strong password!&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;ADDRESS=ftp&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;&amp;lt;path&amp;gt;:/home/ftpuser/ftp&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;21:21"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;20:20"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;21000-21010:21000-21010"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This code block above defines two services:&lt;/p&gt;

&lt;p&gt;I. The Boomi Atom service which is configured by the following fields:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;image: &lt;code&gt;boomi/atom:5.0.2-rhel&lt;/code&gt;: This specifies the Boomi Docker image used for the service.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;container_name&lt;/code&gt;: This allows you to personalize the container name, making it easier to identify and manage&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;your host directory&amp;gt;:/mnt/boomi:Z&lt;/code&gt;: This mounts a host directory onto the container's /mnt/boomi directory with the "Z" compression option. Make sure the host directory exists and has the necessary permissions.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;BOOMI_ATOMNAME&lt;/code&gt;, &lt;code&gt;INSTALL_TOKEN&lt;/code&gt;, &lt;code&gt;BOOMI_ENVIRONMENTID&lt;/code&gt;, &lt;code&gt;ATOM_LOCALHOSTID&lt;/code&gt; variables: These are specific to your Boomi Atom setup and are discussed intensively in this &lt;a href="https://eyer.ai/blog/installing-boomi-atom-runtime-on-docker/"&gt;installing Boomi Atom runtime on Docker article&lt;/a&gt;. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;II. The FTP service, which is configured by the following fields&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;image:  delfer/alpine-ftp-server&lt;/code&gt;: This uses the official &lt;a href="https://github.com/delfer/docker-alpine-ftp-server"&gt; delfer/alpine-ftp-server&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;USERS&lt;/code&gt;: This sets the FTP user and password&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ADDRESS&lt;/code&gt;:  This is the external address to which clients can connect for passive ports&lt;/li&gt;
&lt;li&gt;volumes: &lt;code&gt;&amp;lt;path&amp;gt;:/home/ftpuser/ftp&lt;/code&gt;: This mounts a host directory to the containers home/ftpuser/ftp directory. This directory must contain the &lt;code&gt;data.xml&lt;/code&gt; file&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ports&lt;/code&gt;: This exposes the ports for connection&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Converting your XML data format to a CSV format
&lt;/h2&gt;

&lt;p&gt;This section walks you through a series of steps that allow you to convert your newly created XML file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1&lt;/strong&gt;.&lt;strong&gt;Collecting your XML file from the FTP server&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To create the Boomi process that converts your XML file, navigate to the &lt;strong&gt;Integration&lt;/strong&gt; page and click the  &lt;strong&gt;Create New&lt;/strong&gt; button. From the dropdown menu, select &lt;strong&gt;Process&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Upon selection, the &lt;strong&gt;Start Shape&lt;/strong&gt; sidebar will appear. Here, opt for the &lt;strong&gt;Connector&lt;/strong&gt; radio button. Then, in the &lt;strong&gt;Connector&lt;/strong&gt; input field, choose &lt;strong&gt;FTP&lt;/strong&gt;. You will retrieve the XML data for conversion from your newly created FTP server.&lt;/p&gt;

&lt;p&gt;To proceed, click on the plus icon within the Connection input field. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhyryn4d36nkwhnkbka79.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhyryn4d36nkwhnkbka79.png" alt="The Boomi Start Shape " width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This action will open the connection page, where you should enter your FTP credentials into the provided input field.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Host&lt;/strong&gt;: The &lt;code&gt;FTP_HOST&lt;/code&gt;&lt;code&gt;in your&lt;/code&gt;docker-compose.yml` file&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: Use the default port 21&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connection Mode&lt;/strong&gt;: Passive&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User Name&lt;/strong&gt;: The username in the &lt;code&gt;FTP_USERS&lt;/code&gt; field  in your docker-compose.yml file&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Password&lt;/strong&gt;: Click the &lt;strong&gt;&amp;lt;Encyrpted&amp;gt;&lt;/strong&gt; button to open a password modal. In this modal, input the password in the &lt;code&gt;FTP_USERS&lt;/code&gt; field in your &lt;code&gt;docker-compose.yml&lt;/code&gt; file&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuydqlm7chhfk4ibjp9vo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuydqlm7chhfk4ibjp9vo.png" alt="The Boomi Start Shape FTP connection tab" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;Save and Close&lt;/strong&gt; button to return to the &lt;strong&gt;Start&lt;/strong&gt; Shape sidebar.&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;+&lt;/strong&gt; icon in the &lt;strong&gt;Operation&lt;/strong&gt; input field in the sidebar. This will open the FTP operation page. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzlfb4dg4hzzgu0eu0e4a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzlfb4dg4hzzgu0eu0e4a.png" alt="The Boomi Start Shape FTP Operation Input field" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxpv1pvck0irnh1kj35v4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxpv1pvck0irnh1kj35v4.png" alt="The Boomi Start Shape FTP operation page" width="800" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On this page, fill out the necessary input fields with the required information.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;FTP Action&lt;/strong&gt;: Select &lt;strong&gt;Get&lt;/strong&gt; to retrieve the file&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remote Directory&lt;/strong&gt;: Input the directory where you mounted the folder containing the &lt;code&gt;data.xml&lt;/code&gt; file in your &lt;code&gt;docker-compose.yml&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;File Filter&lt;/strong&gt;: Input ‘data’ to specify that you want to retrieve the file with the name data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transfer Type&lt;/strong&gt;:  Change the transfer type from &lt;strong&gt;Binary&lt;/strong&gt; to &lt;strong&gt;ASCII&lt;/strong&gt; to transfer files as text&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maximum files to Read:&lt;/strong&gt; Leave the value at zero to signify that you want to read all the files in that directory&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Click the &lt;strong&gt;Save and Close&lt;/strong&gt; button, then in the Start Shape sidebar, click on the OK button to save that FTP connector.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0o3h6f29kijjxy8j728a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0o3h6f29kijjxy8j728a.png" alt="The Boomi Start Shape Operation Page" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2&lt;/strong&gt;.&lt;strong&gt;Set properties of the data.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next, you will use the &lt;strong&gt;Set Properties&lt;/strong&gt; shape to dynamically set the output file name for the data coming from the &lt;strong&gt;Start&lt;/strong&gt; Shape. Additionally, you will map the data values from your XML file to the fields you wish to create in your CSV file.&lt;/p&gt;

&lt;p&gt;To ensure these processes run sequentially, the &lt;strong&gt;Branch&lt;/strong&gt; shape comes into play.&lt;/p&gt;

&lt;p&gt;At the end of the dotted line from the Start shape, you'll find a small box with a plus &lt;strong&gt;+&lt;/strong&gt; sign in its middle. Click on this box to open a modal, then search and click on the &lt;strong&gt;Branch&lt;/strong&gt; shape within this modal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdfgz2n8q0fd347jwudeb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdfgz2n8q0fd347jwudeb.png" alt="The Find a step or connector modal" width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Branch shape typically offers two paths by default, with a maximum of 25. However, for this tutorial, you will only need two paths.&lt;/p&gt;

&lt;p&gt;Click on the box representing the first path from the &lt;strong&gt;Branch&lt;/strong&gt; shape. Then, select the &lt;strong&gt;Set Properties&lt;/strong&gt; shape. This will enable you to set values for documents and process their properties.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F92baifwb752fe18yupsl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F92baifwb752fe18yupsl.png" alt="The search for the Boomi Set Properties shape" width="800" height="346"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the &lt;strong&gt;Set Properties&lt;/strong&gt; shape to configure it. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7dmwacjkutkmr9cjz24p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7dmwacjkutkmr9cjz24p.png" alt="The Set Properties Shape tab" width="800" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Properties to Set&lt;/strong&gt; section, click the &lt;strong&gt;+&lt;/strong&gt; sign to open the &lt;strong&gt;Choose Property&lt;/strong&gt; modal. In this modal, select:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Property Type&lt;/strong&gt; - Document Property&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source Type&lt;/strong&gt; - Connectors&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connector&lt;/strong&gt; - Disk &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Property&lt;/strong&gt; - File Name&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75ps0o4942020pkua0ri.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75ps0o4942020pkua0ri.png" alt="The Choose Property modal" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, click on the &lt;strong&gt;OK&lt;/strong&gt; button. &lt;/p&gt;

&lt;p&gt;You should see a Disk parameter. Select this parameter, and click on the &lt;strong&gt;+&lt;/strong&gt; sign in the &lt;strong&gt;Property Value&lt;/strong&gt; section.  This action opens up the Parameter Value modal. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fflo2xfwko882dexm5phw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fflo2xfwko882dexm5phw.png" alt="A newly created Disk Parameter" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5swod7apcnnwope33soj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5swod7apcnnwope33soj.png" alt="The Parameter Value modal" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this modal, change the &lt;strong&gt;Type&lt;/strong&gt; from &lt;strong&gt;Static&lt;/strong&gt; to &lt;strong&gt;Profile Element&lt;/strong&gt; and set the &lt;strong&gt;Profile Type&lt;/strong&gt; to XML.&lt;/p&gt;

&lt;p&gt;Then, click the &lt;strong&gt;+&lt;/strong&gt; icon within the &lt;strong&gt;Profile&lt;/strong&gt; input field to create a new XML profile. This action will take you to a new profile page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft8iem2ubg4r3j3nmvqr2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft8iem2ubg4r3j3nmvqr2.png" alt="The Parameter Value modal" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;Import a Profile&lt;/strong&gt; button on the new profile page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6ai6pomzmx3f7eq8l6n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6ai6pomzmx3f7eq8l6n.png" alt="The Boomi XML Profile page" width="800" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clicking this button will open up an &lt;strong&gt;XML Import wizard&lt;/strong&gt; modal. From the dropdown in this modal, select &lt;strong&gt;XML File&lt;/strong&gt; to build an XML profile.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvkoakzu16e3avf5uvp8g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvkoakzu16e3avf5uvp8g.png" alt="The Boomi XML Import Wizard modal" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, upload the &lt;code&gt;data.xml&lt;/code&gt; file that you created initially. After uploading, click on the &lt;strong&gt;Next&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;You should now see the &lt;strong&gt;Profile Loaded&lt;/strong&gt; modal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4w2129xv2cm8osy56rpo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4w2129xv2cm8osy56rpo.png" alt="The Boomi XML Import Wizard modal with the imported data.xml file" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;Finish&lt;/strong&gt; button to see the XML profile. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fds6nd0hszvs0t5qbrjuc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fds6nd0hszvs0t5qbrjuc.png" alt="The newly created XML profile" width="800" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;Save and Close&lt;/strong&gt; button to return to the &lt;strong&gt;Parameter Value&lt;/strong&gt; modal.&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Parameter Value&lt;/strong&gt; Modal, click the &lt;strong&gt;Element&lt;/strong&gt; field, expand the menus, and select the &lt;strong&gt;name&lt;/strong&gt; element in the &lt;strong&gt;customer&lt;/strong&gt; object. This specifies that each XML file should be titled in the customer’s name.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4k8jil6u9bljmkv03xx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4k8jil6u9bljmkv03xx.png" alt="The Parameter Value modal with the loaded XML profile" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To set the default type value of the files to a .xml file, create another Parameter value. Click on the &lt;strong&gt;+&lt;/strong&gt; sign in the &lt;strong&gt;Parameter Value&lt;/strong&gt; section. This action opens a &lt;strong&gt;Parameter value&lt;/strong&gt; modal. In this modal, choose a &lt;strong&gt;Type&lt;/strong&gt; of &lt;strong&gt;Static&lt;/strong&gt;, and input .xml in the &lt;strong&gt;Static Value&lt;/strong&gt; field.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvzsmu74klyx4dpagp2zd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvzsmu74klyx4dpagp2zd.png" alt="The Parameter value that enforces that the file type should be .xml" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;OK -&amp;gt; OK&lt;/strong&gt; buttons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3&lt;/strong&gt;.&lt;strong&gt;Creating the Map source and destination data Profiles&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://help.boomi.com/docs/atomsphere/integration/process%20building/c-atm-profile_components_e9b3ea44-7b4a-4d1e-8185-e09e429275f6/#:~:text=Profiles%20describe%20the%20layout%20or,Profiles%20are%20used%20in%20maps."&gt;Boomi profiles&lt;/a&gt; describe the layout or format of the documents read into or sent out of processes. This section will create profiles that describe the source XML file and the expected destination or output CSV file.&lt;/p&gt;

&lt;p&gt;To create these profiles, click on the second branch from the &lt;strong&gt;Branch&lt;/strong&gt; Shape and search for the Map Shape.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkwg9dsrqz5tzpl756lmt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkwg9dsrqz5tzpl756lmt.png" alt="The modal search results for Map" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To configure the &lt;strong&gt;Map&lt;/strong&gt; Shape, click on it. This action will open the &lt;strong&gt;Map&lt;/strong&gt; Shape sidebar. Within this sidebar, click the &lt;strong&gt;+&lt;/strong&gt; icon in the &lt;strong&gt;Map&lt;/strong&gt; input field to open a new &lt;strong&gt;Map&lt;/strong&gt; page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F77qdzm2b1jlh4nvqece0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F77qdzm2b1jlh4nvqece0.png" alt="A new Map page" width="800" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Map&lt;/strong&gt; source section, click on the &lt;strong&gt;Choose&lt;/strong&gt; link at the top right of the Map source section. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1bljaghsqqgxbh7mvqyi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1bljaghsqqgxbh7mvqyi.png" alt="The Choose link in the Map source " width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This opens up a &lt;strong&gt;Choose a Source Profile&lt;/strong&gt; modal. In this modal, select a &lt;strong&gt;Profile Type&lt;/strong&gt; of XML, and for the &lt;strong&gt;Profile input&lt;/strong&gt; field, select the profile you just created.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgg0qfwln7xb1vqch555j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgg0qfwln7xb1vqch555j.png" alt="The Choose a Source Profile modal" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the &lt;strong&gt;OK&lt;/strong&gt; button to see that section populated with your object from your XML profile. &lt;/p&gt;

&lt;p&gt;In the Map destination part of the page, click on its &lt;strong&gt;Choose&lt;/strong&gt; link to open up the &lt;strong&gt;Choose a Destination Profile&lt;/strong&gt; modal. &lt;/p&gt;

&lt;p&gt;In this modal, select a &lt;strong&gt;Profile Type&lt;/strong&gt; of Flat file, and click the &lt;strong&gt;+&lt;/strong&gt; button in the &lt;strong&gt;Profile&lt;/strong&gt; input field to create a new profile for the CSV file.&lt;/p&gt;

&lt;p&gt;This opens up a &lt;strong&gt;New Flat File Profile&lt;/strong&gt; page. Right-click the downwards-facing arrow next to Elements on this page, and select &lt;strong&gt;Add Multiple Elements&lt;/strong&gt;. This opens up a modal that asks you to choose how many elements you'd like to add. This tutorial decides to create six new elements. Click on the &lt;strong&gt;OK&lt;/strong&gt; button to close the modal.&lt;/p&gt;

&lt;p&gt;Next, click on each of the newly created elements and change them so that they can respond with the field in your XML profile. This tutorial creates fields for &lt;strong&gt;name&lt;/strong&gt;, &lt;strong&gt;email,&lt;/strong&gt; &lt;strong&gt;country&lt;/strong&gt;, &lt;strong&gt;city&lt;/strong&gt;, &lt;strong&gt;id&lt;/strong&gt;, and &lt;strong&gt;current date.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6stiy9jl6zy8uub054qi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6stiy9jl6zy8uub054qi.png" alt="The Elements page of the Map destination profile" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on &lt;strong&gt;Save and Close&lt;/strong&gt; and &lt;strong&gt;the OK&lt;/strong&gt; buttons to save this profile.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4&lt;/strong&gt;.&lt;strong&gt;Mapping the XML data fields to the CSV data fields&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next, click on a field in the Map Source on the left-hand side, drag a line from the field to their corresponding field on the Map destination, and do this for all the fields. For example, in the diagram below, the following fields are mapped together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;id -&amp;gt; id&lt;/li&gt;
&lt;li&gt;name -&amp;gt; name&lt;/li&gt;
&lt;li&gt;email -&amp;gt; email&lt;/li&gt;
&lt;li&gt;country -&amp;gt; country&lt;/li&gt;
&lt;li&gt;state -&amp;gt; city&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foo7qcn0cinf5wzinsp3d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foo7qcn0cinf5wzinsp3d.png" alt="The XML fields mapped to the CSV fields" width="800" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you are done, you will notice that the &lt;strong&gt;current date&lt;/strong&gt; field does not match with any data. To get the current date, click the &lt;strong&gt;+&lt;/strong&gt; button in the &lt;strong&gt;Functions&lt;/strong&gt; part of the &lt;strong&gt;Map&lt;/strong&gt; page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3cw8tex1bp67kmetg8h0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3cw8tex1bp67kmetg8h0.png" alt="The button that allows us to create Boomi functions" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clicking on the &lt;strong&gt;+&lt;/strong&gt; button opens up an &lt;strong&gt;Add a Function&lt;/strong&gt; modal; in this modal, select a &lt;strong&gt;Category&lt;/strong&gt; of &lt;strong&gt;Date&lt;/strong&gt;, click the &lt;strong&gt;Get Current Date&lt;/strong&gt; function, and Click the &lt;strong&gt;OK&lt;/strong&gt; button. You should see a small box titled &lt;strong&gt;Get Current Date&lt;/strong&gt; in the middle of your Map.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzuygryfimx6rk6z4u5b8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzuygryfimx6rk6z4u5b8.png" alt="The Add a Function modal" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0mla5y5hvu32exr8fjfc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0mla5y5hvu32exr8fjfc.png" alt="The Get Current Date function" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, drag the line from the &lt;strong&gt;Results&lt;/strong&gt; point of the box to the &lt;strong&gt;current date&lt;/strong&gt; menu, then click the &lt;strong&gt;Save and Close&lt;/strong&gt; button. Next, click on the &lt;strong&gt;OK&lt;/strong&gt; button in the &lt;strong&gt;Map&lt;/strong&gt; shape sidebar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8g1ngvsnrotyj04xumwz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8g1ngvsnrotyj04xumwz.png" alt="The results field mapped to the current date field on the Map destination profile" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5&lt;/strong&gt;.&lt;strong&gt;Configuring the Disk Connector&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Disk&lt;/strong&gt; connector gets files or sends files to directories on the disk to which the Atom has access, so once the &lt;strong&gt;Map&lt;/strong&gt; shape transforms the data from XML to CSV, the Disk connector stores this transformed data on your atom.&lt;/p&gt;

&lt;p&gt;To add the &lt;strong&gt;Disk&lt;/strong&gt; connector to your Boomi process, click on the box along the dotted lines that lead out of the &lt;strong&gt;Set Properties&lt;/strong&gt; shape. Then, search for the &lt;strong&gt;Disk&lt;/strong&gt; connector and click on it to open the sidebar.&lt;/p&gt;

&lt;p&gt;Change the Action from &lt;strong&gt;Get&lt;/strong&gt; to &lt;strong&gt;Send&lt;/strong&gt; in this sidebar, as the &lt;strong&gt;Disk&lt;/strong&gt; connector will send out the data. Then, click the &lt;strong&gt;+&lt;/strong&gt; sign in the &lt;strong&gt;Connection&lt;/strong&gt; input field, which opens up the &lt;strong&gt;Disk&lt;/strong&gt; connection page. On this page, input the directory where this newly converted file will live in your atom. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvl5kaswou8yxouc11vym.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvl5kaswou8yxouc11vym.png" alt="The Boomi Disk Connector connection page" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, click the &lt;strong&gt;Save and Close&lt;/strong&gt; button to return to the Connector Shape sidebar. &lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Operation&lt;/strong&gt; input field, click the &lt;strong&gt;+&lt;/strong&gt; sign to create a new &lt;strong&gt;Operation&lt;/strong&gt; for the sidebar. The Disk Operation defines how to read files from or write files to a given directory.&lt;/p&gt;

&lt;p&gt;In this Operation page, tick off the &lt;strong&gt;Create Directory if it doesn’t exist&lt;/strong&gt; checkbox. This allows the &lt;strong&gt;Disk&lt;/strong&gt; Connector to create a new directory if the directory you specified in the connection does not exist.&lt;/p&gt;

&lt;p&gt;Next, select what you want the Disk Connector to do in the event that the file you are trying to convert and store already exists in the directory. This tutorial chooses &lt;strong&gt;Create unique name if file exists&lt;/strong&gt;. Next, click on the &lt;strong&gt;Save and Close&lt;/strong&gt; button, and then click on the &lt;strong&gt;OK&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6f1j67v1yx9auvtpbdvr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6f1j67v1yx9auvtpbdvr.png" alt="The Boomi Connector operation page" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Connect the lines from the &lt;strong&gt;Map&lt;/strong&gt; Shape to the &lt;strong&gt;Disk&lt;/strong&gt; connector so the Disk connector can store the CSV file from the Map Shape.&lt;/p&gt;

&lt;p&gt;Lastly, connect the &lt;strong&gt;Disk&lt;/strong&gt; Connector to the &lt;strong&gt;End and Continue&lt;/strong&gt; Shape.&lt;/p&gt;

&lt;p&gt;Your complete Boomi process should look like this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhcifm3oewjxx75z7rngp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhcifm3oewjxx75z7rngp.png" alt="The complete Boomi process for transforming XML files to CSV" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6&lt;/strong&gt;.&lt;strong&gt;Testing the Boomi process&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To test this process, click the Arrange tab at the top of the canvas to straighten the lines and arrange the connections. Next, select the &lt;strong&gt;Test&lt;/strong&gt; button on the top right of the canvas page.&lt;/p&gt;

&lt;p&gt;To verify the success of your process, click on the &lt;strong&gt;Disk&lt;/strong&gt; Connector and check out the &lt;strong&gt;Shape Source Data&lt;/strong&gt;. In this tab, you should see two files. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F683mibs2zwrnmzskrwgg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F683mibs2zwrnmzskrwgg.png" alt="The Shape Source Data tab" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first file is the XML file, and the second is the newly created CSV file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjm9wfq7de4pk74wsmbfw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjm9wfq7de4pk74wsmbfw.png" alt="The original XML file" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F36lzd8ujv6i3v4eyukfk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F36lzd8ujv6i3v4eyukfk.png" alt="The newly created CSV file" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since you specified a directory, you wanted the CSV file to be stored in your Atom.&lt;/p&gt;

&lt;p&gt;In your project’s root directory, open the folder you specified in your Boomi Atom volumes mount. Navigate to this folder &lt;code&gt;&amp;lt;Atom name&amp;gt;/&amp;lt;directory you inputted in the disk connector&amp;gt;&lt;/code&gt;. Here, you should see both your XML file and CSV file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2f328866twffd1vaovpq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2f328866twffd1vaovpq.png" alt="Image description" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  That’s a Wrap!
&lt;/h2&gt;

&lt;p&gt;This guide has discussed how an Integration Platform as a Service (iPaaS) can convert data from one format to another, making it more compatible with various programs. In this instance, the conversion was from XML data format to CSV format. However, this is just a glimpse of what iPaaS solutions, particularly Boomi, can offer. Please refer to the &lt;a href="https://help.boomi.com/"&gt;official documentation&lt;/a&gt; for a deeper understanding of Boomi's extensive capabilities.&lt;/p&gt;

</description>
      <category>ipaas</category>
      <category>docker</category>
      <category>formatting</category>
      <category>aiops</category>
    </item>
  </channel>
</rss>
