{"id":17130,"date":"2025-01-27T16:08:09","date_gmt":"2025-01-27T14:08:09","guid":{"rendered":"https:\/\/spatialworld.fi\/?page_id=17130"},"modified":"2025-02-05T17:13:26","modified_gmt":"2025-02-05T15:13:26","slug":"17076-2-2-2-4","status":"publish","type":"page","link":"https:\/\/spatialworld.fi\/sv\/17076-2-2-2-4\/","title":{"rendered":"Kiinteist\u00f6automaatio"},"content":{"rendered":"[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; scene_position=&#8221;center&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; row_border_radius=&#8221;none&#8221; row_border_radius_applies=&#8221;bg&#8221; overflow=&#8221;visible&#8221; overlay_strength=&#8221;0.3&#8243; gradient_direction=&#8221;left_to_right&#8221; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221;][vc_column column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; column_position=&#8221;default&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<header class=\"pt4\" aria-label=\"Article header\">\n<header class=\"pt4\" aria-label=\"Article header\">\n<figure class=\"relative\">\n<div class=\"reader-cover-image__wrapper-right-rail-layout\"><img decoding=\"async\" id=\"ember33\" class=\"reader-cover-image__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQHO5LYVfp7dbg\/article-cover_image-shrink_720_1280\/article-cover_image-shrink_720_1280\/0\/1713436995324?e=1743638400&amp;v=beta&amp;t=eaGoxN51-lQOFEUFCSRK0ndmxMPr-zWhLQsUMqMRrno\" \/><\/div>\n<\/figure>\n<h1 class=\"reader-article-header__title\" dir=\"ltr\"><\/h1>\n<\/header>\n<div class=\"relative reader__grid\">\n<div data-scaffold-immersive-reader-content=\"\">\n<div class=\"reader-article-content reader-article-content--content-blocks\" dir=\"ltr\">\n<h2><\/h2>\n<h2 id=\"ember50\" class=\"ember-view reader-text-block__heading-2\">Introduction<\/h2>\n<p id=\"ember51\" class=\"ember-view reader-text-block__paragraph\">Searching for the perfect apartment can be time-consuming and boring, but with the power of automation, we can simplify the process. In this tutorial, we&#8217;ll walk through how to set up an automated workflow using FME (Feature Manipulation Engine) to streamline the apartment search process of our FME Lizard in Tampere, Finland. Let&#8217;s dive in!<\/p>\n<h2 id=\"ember52\" class=\"ember-view reader-text-block__heading-2\">Steps<\/h2>\n<p>&nbsp;<\/p>\n<div class=\"reader-image-block reader-image-block--full-width\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember53\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQEzpfuhJT1-lA\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713446218257?e=1743638400&amp;v=beta&amp;t=uB3fHyiClBcH7p97rPGZOlbzMeHhW5oYAqI2RD0JmNA\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<ol>\n<li><strong>Setting Up Email Alerts<\/strong><\/li>\n<li><strong>Data Extraction, Web Scraping and Geocoding for Additional Details<\/strong><\/li>\n<li><strong>Pushing Data to Google Sheets<\/strong><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h2 id=\"ember56\" class=\"ember-view reader-text-block__heading-2\">Setting Up Email Alerts<\/h2>\n<p>&nbsp;<\/p>\n<div class=\"reader-image-block reader-image-block--resize\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember57\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQG6j6f7HwO_nw\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713439372487?e=1743638400&amp;v=beta&amp;t=B4f5R1XKkbxl-CrKYusK3UBODBubFKeexxqSvTlHgUU\" alt=\"\" \/><\/div>\n<div><\/div>\n<div class=\"ivm-view-attr__img-wrapper \" style=\"text-align: center;\"><em>Triggers in FME Flow<\/em><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p id=\"ember58\" class=\"ember-view reader-text-block__paragraph\">Each time a new apartment listing hits the market, an email notification is promptly dispatched to our trusty lizard companion. A fast integration and comparison, thanks to this email alert, will put us in a better position to make an offer when time is of the essence!<\/p>\n<p id=\"ember59\" class=\"ember-view reader-text-block__paragraph\">In FME Flow, adding this automated alert is as simple as a drag and drop action. Here&#8217;s how to set it up:<\/p>\n<ol>\n<li>Load the configuration for your email provider, such as Gmail.<\/li>\n<li>Facilitate testing by adding Manual trigger with a shared custom attribute.<\/li>\n<\/ol>\n<p id=\"ember61\" class=\"ember-view reader-text-block__paragraph\">Every time a new apartment comes to the market, an email is sent to our lizard. This is called a <a class=\"gNDVSUlysFTeyzqdLkmGtXiwIkTNLonGmA \" href=\"https:\/\/docs.safe.com\/fme\/html\/FME-Flow\/WebUI\/Automations-General\/Automations-Triggers.htm\" target=\"_self\" data-test-app-aware-link=\"\">Trigger<\/a>. In FME Flow you just need to drag and drop to add one.<\/p>\n<h3 id=\"ember62\" class=\"ember-view reader-text-block__heading-3\">Set up the Email trigger<\/h3>\n<ul>\n<li>Add a trigger object and select the trigger type.<\/li>\n<li>Load the configuration for your email provider, such as Gmail.<\/li>\n<\/ul>\n<p>Enter your email credentials for seamless integration.<\/p>\n<ul>\n<li>Add a trigger object<\/li>\n<\/ul>\n<p><img decoding=\"async\" id=\"ember64\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQHz-nQoeRC67g\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713513763472?e=1743638400&amp;v=beta&amp;t=FdXg-uQ6-67Amc8tUIeGhlL4xKLyqBWbSSeF7HmcuNo\" alt=\"\" \/><\/p>\n<ul>\n<li>Select the trigger type<\/li>\n<\/ul>\n<div class=\"reader-image-block reader-image-block--resize\"><\/div>\n<div class=\"reader-image-block reader-image-block--resize\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember65\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQEkvn0bxzFV_A\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713513796312?e=1743638400&amp;v=beta&amp;t=5pAZwBNMsrwsmTKtcs0L5Vb9STS73w0k2Dt4lnTOSTY\" alt=\"\" \/><\/div>\n<\/div>\n<ul>\n<li>Load and configure your email account<\/li>\n<\/ul>\n<\/div>\n<div class=\"reader-image-block reader-image-block--resize\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember66\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQFZ8avKaqNt3w\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713513887461?e=1743638400&amp;v=beta&amp;t=POLOphRFqktZakPLDchxdklBG6jmo1ulvf0qWZJYpqc\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<ul>\n<li>Check the result<\/li>\n<\/ul>\n<p id=\"ember68\" class=\"ember-view reader-text-block__paragraph\">To ensure everything is running smoothly, add a log message action after setting up the trigger. This will provide a visual representation of the email content, allowing for quick verification of data retrieval.<\/p>\n<h3 id=\"ember69\" class=\"ember-view reader-text-block__heading-3\">Manual trigger for testing purposes<\/h3>\n<p id=\"ember70\" class=\"ember-view reader-text-block__paragraph\">Additionally, consider adding a manual trigger for testing purposes. This feature enables you to input a default or test value, ideal for validating the automation process. Given the current state of the Finnish real estate market, this manual trigger proves invaluable for testing the automation without relying solely on a constant influx of new listings.<\/p>\n<ol>\n<li>Add a trigger object and select the Manual Trigger type.<\/li>\n<li>Set a value which will be pushed as a message when the trigger is pushed. It should be what you got from an email.content from the other trigger.<\/li>\n<li>Create a custom attribute on both triggers, here &#8220;user.emailcontent&#8221;, containing either email.body or &#8220;manual&#8221; content.<\/li>\n<\/ol>\n<div class=\"reader-image-block reader-image-block--resize\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember73\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQFVT0jAd-RVFw\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713513947606?e=1743638400&amp;v=beta&amp;t=uUkatK418Bxu2QPQ_9H-HY-J4XTCCgbLDsqc-sHJGo0\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<div class=\"reader-image-block reader-image-block--resize\" style=\"text-align: center;\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember74\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQFZOT2Qapbo0w\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713440570995?e=1743638400&amp;v=beta&amp;t=09imMd7LNVcrX6ZtJnnOFeCFORCwthZmflUbzCANzGM\" alt=\"\" \/><\/div>\n<\/div><figcaption class=\"reader-image-block__figure-image-caption display-block full-width text-body-small-open t-sans text-align-center t-black--light\"><em>Output available out of an email trigger, with custom attribute configuration,<\/em><\/figcaption><\/figure>\n<\/div>\n<ul>\n<li>Test it !<\/li>\n<\/ul>\n<p id=\"ember76\" class=\"ember-view reader-text-block__paragraph\">With these steps in place, testing the automation is a breeze. Click &#8220;Start&#8221; and then &#8220;Trigger&#8221; to initiate the process. Voila! Your first automation is up and running. While the current output may be a simple text format with address, price, and a link in an unconventional encoding, fear not\u2014we&#8217;ll refine this with FME Form in the next steps.<\/p>\n<div class=\"reader-image-block reader-image-block--full-width\" style=\"text-align: center;\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember78\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQEPktJ1HqG8xw\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713441176082?e=1743638400&amp;v=beta&amp;t=cbdvNSWN8TTRRNpKYn5LkC1RcIroOChuA4wWQl-5HWA\" alt=\"\" \/><\/div>\n<\/div><figcaption class=\"reader-image-block__figure-image-caption display-block full-width text-body-small-open t-sans text-align-center t-black--light\"><em>Part of the running Automation interface<\/em><\/figcaption><\/figure>\n<\/div>\n<blockquote>\n<pre class=\"reader-text-block__code-block\">Etuovi.com 1 uusi kohde l\u00c3\u00b6ytynyt! Hei WT2020, Vahtisi Tampere on l\u00c3\u00b6yt\u00c3\u00a4nyt 1 uuden tai hinnaltaan muuttuneen kohteen, joka vastaa hakuehtojasi. streetname 5 B, 33720, area, Tampere, Suomi https:\/\/www.etuovi.com\/kohde\/1111111<\/pre>\n<\/blockquote>\n<h2><\/h2>\n<h2 id=\"ember79\" class=\"ember-view reader-text-block__heading-2\">Data Extraction, Web Scraping and Geocoding for Additional Details<\/h2>\n<p>&nbsp;<\/p>\n<div class=\"reader-image-block reader-image-block--full-width\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember80\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQGBMeFMlgE-5Q\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713513371646?e=1743638400&amp;v=beta&amp;t=EBzm8YjK2HlSefD6dgC38XWFeCb44AYdeES20U8WWII\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p id=\"ember81\" class=\"ember-view reader-text-block__paragraph\">In this phase, our goal is to transform the raw email message into structured data containing the apartment characteristics, ready for upload to our spreadsheet.<\/p>\n<p id=\"ember82\" class=\"ember-view reader-text-block__paragraph\">Data quality and preparation are essential for building a strong and reliable data pipeline. Therefore, we&#8217;ll take the time to delve into these crucial steps. If you&#8217;re not inclined to explore these details, feel free to skip ahead.<\/p>\n<p id=\"ember83\" class=\"ember-view reader-text-block__paragraph\">As this requires more intricate processing, we&#8217;ll utilize FME Form to handle these complex steps before seamlessly integrating the pipeline back into FME Flow.<\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"ember84\" class=\"ember-view reader-text-block__heading-3\">FME Form Steps<\/h3>\n<div class=\"reader-image-block reader-image-block--full-width\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember85\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQEeXsnWu3_rfg\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713442472580?e=1743638400&amp;v=beta&amp;t=g2TDmBTnkb402Tyj-dqnyEK4FVYxqI5tQIpToQnHAx0\" alt=\"\" \/><\/div>\n<div><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<ol>\n<li><strong>Extract Information from the Email Message<\/strong><\/li>\n<li><strong>Enhance with Web Scraping<\/strong><\/li>\n<li><strong>Geocode the Address<\/strong><\/li>\n<li><strong>Integrating with FME Flow Automation<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>Extract Information from the Email Message<\/strong><\/li>\n<\/ul>\n<p id=\"ember90\" class=\"ember-view reader-text-block__paragraph\">FME Flow pushes the email message through a parameter, requiring definition and retrieval using ParameterFetcher.<\/p>\n<p id=\"ember91\" class=\"ember-view reader-text-block__paragraph\">Navigate encoding complexities by employing a combination of AttributeEncoder transformations.<\/p>\n<div class=\"reader-image-block reader-image-block--resize\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember92\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQETRFBMayugjg\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713518183696?e=1743638400&amp;v=beta&amp;t=r0Ja2WdfRh6NUrNQzlzRkSgK8sX3UPNj-Y4UzPEhUV4\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<div class=\"reader-image-block reader-image-block--resize\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember93\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQELnTAa752tiw\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713518188540?e=1743638400&amp;v=beta&amp;t=_WjK2pO51OZP9nP5_8uBUHAp3QPZFsa_xB63fdoCa6s\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<p id=\"ember94\" class=\"ember-view reader-text-block__paragraph\">Leverage StringSearcher and Regex to efficiently extract address components and webpage links, organizing them into a structured list.<\/p>\n<div class=\"reader-image-block reader-image-block--full-width\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember95\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQHjgoIWzSAx2A\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713518201105?e=1743638400&amp;v=beta&amp;t=MXkmulwjqDdVktfwCtV3YaTBUJXFNGN9tzb57AYKOaw\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p id=\"ember96\" class=\"ember-view reader-text-block__paragraph\">Finalize data preparation using AttributeManager.<\/p>\n<div class=\"reader-image-block reader-image-block--full-width\" style=\"text-align: center;\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember97\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQFscZ5dg08cdA\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713443936800?e=1743638400&amp;v=beta&amp;t=4dC5-gIxtPzw7wQN8GJTXMCeP26gxIzq8CjfZr9qWgQ\" alt=\"\" \/><\/div>\n<\/div><figcaption class=\"reader-image-block__figure-image-caption display-block full-width text-body-small-open t-sans text-align-center t-black--light\"><em>End result<\/em><\/figcaption><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<ul>\n<li><strong>Enhance with Web Scraping<\/strong><\/li>\n<\/ul>\n<p id=\"ember99\" class=\"ember-view reader-text-block__paragraph\">Here we want to extract as much as we can without making the process to rigid. Tackling modern webpages&#8217; complexities requires strategic tools. Here are some tools worth learning.<\/p>\n<div class=\"reader-image-block reader-image-block--full-width\" style=\"text-align: center;\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember100\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQGZSqD7sjjiDw\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713518522260?e=1743638400&amp;v=beta&amp;t=5WramXsHxA_Ci42NYLzbLgRVHm1O1TJSrolAoJ3cv-k\" alt=\"\" \/><\/div>\n<\/div><figcaption class=\"reader-image-block__figure-image-caption display-block full-width text-body-small-open t-sans text-align-center t-black--light\"><em>Web scrapping steps<\/em><\/figcaption><\/figure>\n<\/div>\n<ul>\n<li id=\"ember101\" class=\"ember-view reader-text-block__paragraph\"><strong>HttpCaller <\/strong>to retrieve page content.<\/li>\n<\/ul>\n<div class=\"reader-image-block reader-image-block--resize\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember102\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQG2sl07zSsZWQ\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713518534722?e=1743638400&amp;v=beta&amp;t=9JtnNFOUM6r-TkFO2Z6XR7bgz2_u7JDbvCOz6V-8E-Y\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<ul>\n<li id=\"ember103\" class=\"ember-view reader-text-block__paragraph\"><strong>HTMLExtractor <\/strong>for targeted text extraction via CSS selectors<\/li>\n<\/ul>\n<div class=\"reader-image-block reader-image-block--resize\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember104\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQG_lYHpA5MkJA\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713518553590?e=1743638400&amp;v=beta&amp;t=Fdnz0q3-m287MdeB-aPOi6BfrxTIb6HzCzzZBEBwko4\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<ul>\n<li id=\"ember105\" class=\"ember-view reader-text-block__paragraph\"><strong>StringReplacer <\/strong>for text manipulation.<\/li>\n<\/ul>\n<div class=\"reader-image-block reader-image-block--resize\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember106\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQGYGiOvdiqggg\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713518573775?e=1743638400&amp;v=beta&amp;t=cLh1jPpe0_BPt3J3fEq-whJTPi--hLi5PYoW7dClcxo\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p id=\"ember107\" class=\"ember-view reader-text-block__paragraph\" style=\"text-align: center;\"><em>Here is the result of the extraction from the price section shown before.<\/em><\/p>\n<div class=\"reader-image-block reader-image-block--resize\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember108\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQE1i6m7IcWlxg\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713445054006?e=1743638400&amp;v=beta&amp;t=_2joI53gBzFXhQnyHbuwPcijUA6D9G4xVqf3r_zwBEw\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<ul>\n<li><strong>Geocode the Address<\/strong><\/li>\n<\/ul>\n<div class=\"reader-image-block reader-image-block--resize\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember110\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQHaez2pzX1bkA\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713445866861?e=1743638400&amp;v=beta&amp;t=QUMWDOj-rEULJKxAP5vKUpvZHoKY9vJkNl5c90SlwLM\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p id=\"ember111\" class=\"ember-view reader-text-block__paragraph\">Real estate&#8217;s golden rule emphasizes location. With FME&#8217;s dedicated transformer, effortlessly geocode addresses to unlock spatial insights crucial for decision-making.<\/p>\n<ul>\n<li><strong>Prepare the message to be pushed back to the Automation<\/strong><\/li>\n<\/ul>\n<p id=\"ember113\" class=\"ember-view reader-text-block__paragraph\">Transitioning from FME Form back to FME Flow is seamless. By mapping attributes, effortlessly integrate the refined dataset into the automation pipeline.<\/p>\n<div class=\"reader-image-block reader-image-block--resize\" style=\"text-align: center;\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember114\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQFcX7F4GFgVVg\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713446268908?e=1743638400&amp;v=beta&amp;t=UafEko-HcTQiHdAgGSPcXd6u88XmbirvLgR0l3YY4_U\" alt=\"\" \/><\/div>\n<\/div><figcaption class=\"reader-image-block__figure-image-caption display-block full-width text-body-small-open t-sans text-align-center t-black--light\"><em>Automation Writer Feature Type<\/em><\/figcaption><\/figure>\n<\/div>\n<h3><\/h3>\n<h3 id=\"ember115\" class=\"ember-view reader-text-block__heading-3\">FME Flow Steps: Deploying the Workspace and Adding to the Automation<\/h3>\n<p>&nbsp;<\/p>\n<div class=\"reader-image-block reader-image-block--full-width\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember116\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQFKDpnNH_l2NQ\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713513438079?e=1743638400&amp;v=beta&amp;t=L4tWVX3TvMcZy4sN3J19dPn0xpg4TgXMuS0oyrLHG9o\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<p id=\"ember117\" class=\"ember-view reader-text-block__paragraph\">Once your workspace is ready for deployment in FME Flow, the process is remarkably straightforward:<\/p>\n<ol>\n<li><strong>Publishing the Workspace: <\/strong>to make it accessible for the Automation<\/li>\n<li><strong>Adding it to the Automation: <\/strong>to link to the previous steps<\/li>\n<li><strong>Testing the Deployment<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>Publishing the Workspace<\/strong><\/li>\n<\/ul>\n<p id=\"ember121\" class=\"ember-view reader-text-block__paragraph\">Begin by clicking on the &#8220;publish&#8221; option. This initiates a guided process where you simply need to follow the prompts, clicking through &#8220;next, next, next, done.&#8221; This intuitive flow ensures a hassle-free publishing experience, even for those new to the platform.<\/p>\n<div class=\"reader-image-block reader-image-block--resize\" style=\"text-align: center;\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember122\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQG40QXP-Ojh9A\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713513477949?e=1743638400&amp;v=beta&amp;t=TTTg0eA4cwsm2_O-NwgywGrRA7DMgrfODvG_KikvQm8\" alt=\"\" \/><\/div>\n<\/div><figcaption class=\"reader-image-block__figure-image-caption display-block full-width text-body-small-open t-sans text-align-center t-black--light\"><em>First step when you click to publish a workspace<\/em><\/figcaption><\/figure>\n<\/div>\n<ul>\n<li><strong>Adding it to the Automation<\/strong><\/li>\n<\/ul>\n<p id=\"ember124\" class=\"ember-view reader-text-block__paragraph\">After publishing, integrate the workspace into your automation pipeline. This step involves adding an action within FME Flow. Since running a workspace functions as an action, simply select your workspace from the available options. Then, feed it with the relevant message data, conveniently stored in the custom attribute.<\/p>\n<div class=\"reader-image-block reader-image-block--resize\" style=\"text-align: center;\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember126\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQFE1Eub521REw\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713513695187?e=1743638400&amp;v=beta&amp;t=qLar7r36nEq9Y5o-DGcJOcT18uXAA-HPOTcItaLWnGI\" alt=\"\" \/><\/div>\n<\/div><figcaption class=\"reader-image-block__figure-image-caption display-block full-width text-body-small-open t-sans text-align-center t-black--light\"><em>Drag and drop an action step<\/em><\/figcaption><\/figure>\n<\/div>\n<div class=\"reader-image-block reader-image-block--resize\" style=\"text-align: center;\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember127\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQFsJ_91AbQc0w\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713446550228?e=1743638400&amp;v=beta&amp;t=z__paw74lehlol7UNUgGXd2NSK_-y4eSlvupfGJckvs\" alt=\"\" \/><\/div>\n<\/div><figcaption class=\"reader-image-block__figure-image-caption display-block full-width text-body-small-open t-sans text-align-center t-black--light\"><em>Workspace configuration in Flow<\/em><\/figcaption><\/figure>\n<\/div>\n<div class=\"reader-image-block reader-image-block--resize\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember128\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQG3wcHP03fJHA\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713519214442?e=1743638400&amp;v=beta&amp;t=IB7gTJNdK1j1Vb5SsMa8_LKTOCiNmhCKdMihfKtcEaM\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<ul>\n<li><strong>Testing the Deployment<\/strong><\/li>\n<\/ul>\n<p id=\"ember130\" class=\"ember-view reader-text-block__paragraph\">Before finalizing the integration, it&#8217;s essential to conduct thorough testing. This ensures that the workspace functions as intended within the automation pipeline. With a simple drag drop, add an action to log the message. Then initiate the test by starting the Manual Trigger.<\/p>\n<p>&nbsp;<\/p>\n<h2 id=\"ember131\" class=\"ember-view reader-text-block__heading-2\">Pushing Data to Google Sheets<\/h2>\n<div class=\"reader-image-block reader-image-block--resize\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember132\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQEqn5vgJK2pcw\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713513245261?e=1743638400&amp;v=beta&amp;t=gF06mToD9BUqGQp_NOhAWc8P7-iVxeXgFfXb6dMyQYk\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p id=\"ember133\" class=\"ember-view reader-text-block__paragraph\">While it may seem tempting to utilize FME Form directly for pushing data, doing so could inadvertently limit future flexibility. By incorporating the data push to Google Sheets within FME Flow, you ensure a more adaptable pipeline. Should your automation&#8217;s requirements evolve\u2014perhaps necessitating data storage in an Excel file in S3 or a database\u2014the flexibility of FME Flow allows for adjustments.<\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"ember134\" class=\"ember-view reader-text-block__heading-3\">FME Form steps<\/h3>\n<div class=\"reader-image-block reader-image-block--full-width\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember135\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQEKOm00aTbpBg\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713512717190?e=1743638400&amp;v=beta&amp;t=8_O4_aoMVzr-4Dmb1Nt6U6jSEo5o5Qf2B2BOMLR_sG4\" alt=\"\" \/><\/div>\n<\/div>\n<h3 class=\"reader-image-block__figure\">FME Form pipeline<\/h3>\n<\/div>\n<p id=\"ember136\" class=\"ember-view reader-text-block__paragraph\">In the FME Form process, several key components ensure efficient data handling:<\/p>\n<ol>\n<li><strong>Generating Feature IDs: <\/strong>this ensures robust data management and tracking capabilities.<\/li>\n<li><strong>Extracting Automation Messages: <\/strong>this converts the relevant automation messages to attributes.<\/li>\n<li><strong>Pushing to Google Sheets:<\/strong> this relies on Google Sheet dedicated writer.<\/li>\n<li><strong>Pushing Back to Automation: <\/strong>it opens the door for other potential steps on the automation. Pushing the UUID back is critical to maintain data integrity.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3 id=\"ember138\" class=\"ember-view reader-text-block__heading-3\">FME Flow steps<\/h3>\n<ol>\n<li><strong>Publish the Workspace<\/strong><\/li>\n<li><strong>Add it as an Action<\/strong><\/li>\n<li><strong>Link Attributes and Parameters<\/strong><\/li>\n<\/ol>\n<div class=\"reader-image-block reader-image-block--resize\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \"><img decoding=\"async\" id=\"ember140\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQFxo_XWwKCCrw\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713513621546?e=1743638400&amp;v=beta&amp;t=dHdxj4qRClN0w5amAVZuN5jKwk1U1VR6sOUmEPZ1lqM\" alt=\"\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<h3 id=\"ember141\" class=\"ember-view reader-text-block__heading-3\">Result<\/h3>\n<div class=\"reader-image-block reader-image-block--full-width\">\n<figure class=\"reader-image-block__figure\">\n<div class=\"ivm-image-view-model \">\n<div class=\"ivm-view-attr__img-wrapper \" style=\"text-align: center;\"><img decoding=\"async\" id=\"ember142\" class=\"ivm-view-attr__img--centered reader-image-block__img evi-image lazy-image ember-view aligncenter\" src=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQEoDdEELlR7qQ\/article-inline_image-shrink_1500_2232\/article-inline_image-shrink_1500_2232\/0\/1713514752446?e=1743638400&amp;v=beta&amp;t=Ak5erUQ3AfQWTuNDp1v5lZCGINw20qy9d_CrJsNt7lo\" alt=\"\" \/><em>Output in Google Sheet<\/em><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p id=\"ember143\" class=\"ember-view reader-text-block__paragraph\">With the data successfully pushed to Google Sheets! This streamlined automation process not only simplifies apartment hunting but also demonstrates the power of FME in creating flexible and efficient data pipelines.<\/p>\n<h2 id=\"ember144\" class=\"ember-view reader-text-block__heading-2\">Conclusion<\/h2>\n<p id=\"ember145\" class=\"ember-view reader-text-block__paragraph\">With just two well-crafted workspaces and a few simple actions in FME Flow, we&#8217;ve established a seamless process for monitoring email alerts, extracting information from webpages, and pushing refined data to our cloud-based spreadsheet\u2014all without any coding in Python, JavaScript, or reliance on external APIs.<\/p>\n<p id=\"ember146\" class=\"ember-view reader-text-block__paragraph\">FME&#8217;s strength lies in its flexibility to integrate with various external services seamlessly, enabling organizations to break down data silos and enhance efficiency and collaboration. Transitioning to web-based automation and apps empowers non-coders to design tailored workflows, fostering innovation and driving success in the digital age.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/header>\n[\/vc_column_text][\/vc_column][\/vc_row]","protected":false},"excerpt":{"rendered":"<p>[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; scene_position=&#8221;center&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; row_border_radius=&#8221;none&#8221; row_border_radius_applies=&#8221;bg&#8221; overflow=&#8221;visible&#8221; overlay_strength=&#8221;0.3&#8243; gradient_direction=&#8221;left_to_right&#8221; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221;][vc_column column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221;&#8230;<\/p>\n","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-17130","page","type-page","status-publish"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Kiinteist\u00f6automaatio - Spatialworld Oy<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/spatialworld.fi\/sv\/17076-2-2-2-4\/\" \/>\n<meta property=\"og:locale\" content=\"sv_SE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kiinteist\u00f6automaatio - Spatialworld Oy\" \/>\n<meta property=\"og:description\" content=\"[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; scene_position=&#8221;center&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; row_border_radius=&#8221;none&#8221; row_border_radius_applies=&#8221;bg&#8221; overflow=&#8221;visible&#8221; overlay_strength=&#8221;0.3&#8243; gradient_direction=&#8221;left_to_right&#8221; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221;][vc_column column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221;...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/spatialworld.fi\/sv\/17076-2-2-2-4\/\" \/>\n<meta property=\"og:site_name\" content=\"Spatialworld Oy\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-05T15:13:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQHO5LYVfp7dbg\/article-cover_image-shrink_720_1280\/article-cover_image-shrink_720_1280\/0\/1713436995324?e=1743638400&amp;v=beta&amp;t=eaGoxN51-lQOFEUFCSRK0ndmxMPr-zWhLQsUMqMRrno\" \/>\n<meta name=\"twitter:label1\" content=\"Ber\u00e4knad l\u00e4stid\" \/>\n\t<meta name=\"twitter:data1\" content=\"24 minuter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/spatialworld.fi\\\/sv\\\/17076-2-2-2-4\\\/\",\"url\":\"https:\\\/\\\/spatialworld.fi\\\/sv\\\/17076-2-2-2-4\\\/\",\"name\":\"Kiinteist\u00f6automaatio - Spatialworld Oy\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/spatialworld.fi\\\/sv\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/spatialworld.fi\\\/sv\\\/17076-2-2-2-4\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/spatialworld.fi\\\/17076-2-2-2-4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/media.licdn.com\\\/dms\\\/image\\\/v2\\\/D4D12AQHO5LYVfp7dbg\\\/article-cover_image-shrink_720_1280\\\/article-cover_image-shrink_720_1280\\\/0\\\/1713436995324?e=1743638400&amp;v=beta&amp;t=eaGoxN51-lQOFEUFCSRK0ndmxMPr-zWhLQsUMqMRrno\",\"datePublished\":\"2025-01-27T14:08:09+00:00\",\"dateModified\":\"2025-02-05T15:13:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/spatialworld.fi\\\/sv\\\/17076-2-2-2-4\\\/#breadcrumb\"},\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[[\"https:\\\/\\\/spatialworld.fi\\\/sv\\\/17076-2-2-2-4\\\/\"]]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\\\/\\\/spatialworld.fi\\\/sv\\\/17076-2-2-2-4\\\/#primaryimage\",\"url\":\"https:\\\/\\\/media.licdn.com\\\/dms\\\/image\\\/v2\\\/D4D12AQHO5LYVfp7dbg\\\/article-cover_image-shrink_720_1280\\\/article-cover_image-shrink_720_1280\\\/0\\\/1713436995324?e=1743638400&amp;v=beta&amp;t=eaGoxN51-lQOFEUFCSRK0ndmxMPr-zWhLQsUMqMRrno\",\"contentUrl\":\"https:\\\/\\\/media.licdn.com\\\/dms\\\/image\\\/v2\\\/D4D12AQHO5LYVfp7dbg\\\/article-cover_image-shrink_720_1280\\\/article-cover_image-shrink_720_1280\\\/0\\\/1713436995324?e=1743638400&amp;v=beta&amp;t=eaGoxN51-lQOFEUFCSRK0ndmxMPr-zWhLQsUMqMRrno\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/spatialworld.fi\\\/sv\\\/17076-2-2-2-4\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/spatialworld.fi\\\/sv\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kiinteist\u00f6automaatio\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/spatialworld.fi\\\/sv\\\/#website\",\"url\":\"https:\\\/\\\/spatialworld.fi\\\/sv\\\/\",\"name\":\"Spatialworld Oy\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/spatialworld.fi\\\/sv\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sv-SE\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kiinteist\u00f6automaatio - Spatialworld Oy","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/spatialworld.fi\/sv\/17076-2-2-2-4\/","og_locale":"sv_SE","og_type":"article","og_title":"Kiinteist\u00f6automaatio - Spatialworld Oy","og_description":"[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; scene_position=&#8221;center&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; row_border_radius=&#8221;none&#8221; row_border_radius_applies=&#8221;bg&#8221; overflow=&#8221;visible&#8221; overlay_strength=&#8221;0.3&#8243; gradient_direction=&#8221;left_to_right&#8221; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221;][vc_column column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221;...","og_url":"https:\/\/spatialworld.fi\/sv\/17076-2-2-2-4\/","og_site_name":"Spatialworld Oy","article_modified_time":"2025-02-05T15:13:26+00:00","og_image":[{"url":"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQHO5LYVfp7dbg\/article-cover_image-shrink_720_1280\/article-cover_image-shrink_720_1280\/0\/1713436995324?e=1743638400&amp;v=beta&amp;t=eaGoxN51-lQOFEUFCSRK0ndmxMPr-zWhLQsUMqMRrno","type":"","width":"","height":""}],"twitter_misc":{"Ber\u00e4knad l\u00e4stid":"24 minuter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/spatialworld.fi\/sv\/17076-2-2-2-4\/","url":"https:\/\/spatialworld.fi\/sv\/17076-2-2-2-4\/","name":"Kiinteist\u00f6automaatio - Spatialworld Oy","isPartOf":{"@id":"https:\/\/spatialworld.fi\/sv\/#website"},"primaryImageOfPage":{"@id":"https:\/\/spatialworld.fi\/sv\/17076-2-2-2-4\/#primaryimage"},"image":{"@id":"https:\/\/spatialworld.fi\/17076-2-2-2-4\/#primaryimage"},"thumbnailUrl":"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQHO5LYVfp7dbg\/article-cover_image-shrink_720_1280\/article-cover_image-shrink_720_1280\/0\/1713436995324?e=1743638400&amp;v=beta&amp;t=eaGoxN51-lQOFEUFCSRK0ndmxMPr-zWhLQsUMqMRrno","datePublished":"2025-01-27T14:08:09+00:00","dateModified":"2025-02-05T15:13:26+00:00","breadcrumb":{"@id":"https:\/\/spatialworld.fi\/sv\/17076-2-2-2-4\/#breadcrumb"},"inLanguage":"sv-SE","potentialAction":[{"@type":"ReadAction","target":[["https:\/\/spatialworld.fi\/sv\/17076-2-2-2-4\/"]]}]},{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/spatialworld.fi\/sv\/17076-2-2-2-4\/#primaryimage","url":"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQHO5LYVfp7dbg\/article-cover_image-shrink_720_1280\/article-cover_image-shrink_720_1280\/0\/1713436995324?e=1743638400&amp;v=beta&amp;t=eaGoxN51-lQOFEUFCSRK0ndmxMPr-zWhLQsUMqMRrno","contentUrl":"https:\/\/media.licdn.com\/dms\/image\/v2\/D4D12AQHO5LYVfp7dbg\/article-cover_image-shrink_720_1280\/article-cover_image-shrink_720_1280\/0\/1713436995324?e=1743638400&amp;v=beta&amp;t=eaGoxN51-lQOFEUFCSRK0ndmxMPr-zWhLQsUMqMRrno"},{"@type":"BreadcrumbList","@id":"https:\/\/spatialworld.fi\/sv\/17076-2-2-2-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/spatialworld.fi\/sv\/"},{"@type":"ListItem","position":2,"name":"Kiinteist\u00f6automaatio"}]},{"@type":"WebSite","@id":"https:\/\/spatialworld.fi\/sv\/#website","url":"https:\/\/spatialworld.fi\/sv\/","name":"Spatialworld Oy","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/spatialworld.fi\/sv\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sv-SE"}]}},"_links":{"self":[{"href":"https:\/\/spatialworld.fi\/sv\/wp-json\/wp\/v2\/pages\/17130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spatialworld.fi\/sv\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/spatialworld.fi\/sv\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/spatialworld.fi\/sv\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/spatialworld.fi\/sv\/wp-json\/wp\/v2\/comments?post=17130"}],"version-history":[{"count":14,"href":"https:\/\/spatialworld.fi\/sv\/wp-json\/wp\/v2\/pages\/17130\/revisions"}],"predecessor-version":[{"id":17305,"href":"https:\/\/spatialworld.fi\/sv\/wp-json\/wp\/v2\/pages\/17130\/revisions\/17305"}],"wp:attachment":[{"href":"https:\/\/spatialworld.fi\/sv\/wp-json\/wp\/v2\/media?parent=17130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}