{"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\/en\/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;][image_with_animation image_url=&#8221;17189&#8243; image_size=&#8221;medium&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<h1>Efficient Apartment Hunting with FME Automation: A Step-by-Step Guide<\/h1>\n<h2>Introduction<\/h2>\n<p>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>Steps<\/h2>\n[\/vc_column_text][image_with_animation image_url=&#8221;17188&#8243; image_size=&#8221;medium&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\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[\/vc_column_text][\/vc_column][\/vc_row][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<h2 id=\"ember6141\" class=\"ember-view reader-text-block__heading-2\">Setting Up Email Alerts<\/h2>\n[\/vc_column_text][image_with_animation image_url=&#8221;17187&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<p style=\"text-align: center;\"><em>Triggers in FME Flow<\/em><\/p>\n<p style=\"text-align: left;\">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>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>Every time a new apartment comes to the market, an email is sent to our lizard. This is called a Trigger. In FME Flow you just need to drag and drop to add one.<\/p>\n<h3>Set up the Email trigger<\/h3>\n<ol>\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<li>Enter your email credentials for seamless integration.<\/li>\n<\/ol>\n[\/vc_column_text][image_with_animation image_url=&#8221;17186&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<p style=\"text-align: center;\"><em>Add a trigger object<\/em><\/p>\n[\/vc_column_text][image_with_animation image_url=&#8221;17185&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<p style=\"text-align: center;\"><em>Select the trigger type<\/em><\/p>\n[\/vc_column_text][image_with_animation image_url=&#8221;17184&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<p style=\"text-align: center;\"><em>Load and configure your email account<\/em><\/p>\n<ul>\n<li style=\"text-align: left;\">Check the result<\/li>\n<\/ul>\n<p>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>Manual trigger for testing purposes<\/h3>\n<p>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[\/vc_column_text][image_with_animation image_url=&#8221;17183&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][image_with_animation image_url=&#8221;17182&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<p style=\"text-align: center;\"><em>Output available out of an email trigger, with custom attribute configuration<\/em><\/p>\n<ul>\n<li>Test it !<\/li>\n<\/ul>\n<p>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.[\/vc_column_text][image_with_animation image_url=&#8221;17181&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<p style=\"text-align: center;\"><em>Part of the running Automation interface<\/em><\/p>\n[\/vc_column_text][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\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[\/vc_column_text][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<h2 id=\"ember6164\">Data Extraction, Web Scraping and Geocoding for Additional Details<\/h2>\n[\/vc_column_text][image_with_animation image_url=&#8221;17180&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<p id=\"ember6166\" 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=\"ember6167\" 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=\"ember6168\" 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[\/vc_column_text][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<h3 id=\"ember6169\" class=\"ember-view reader-text-block__heading-3\">FME Form Steps<\/h3>\n[\/vc_column_text][image_with_animation image_url=&#8221;17179&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\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=\"ember6843\" 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=\"ember6844\" class=\"ember-view reader-text-block__paragraph\">Navigate encoding complexities by employing a combination of AttributeEncoder transformations.<\/p>\n[\/vc_column_text][image_with_animation image_url=&#8221;17178&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][image_with_animation image_url=&#8221;17177&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]Leverage StringSearcher and Regex to efficiently extract address components and webpage links, organizing them into a structured list.[\/vc_column_text][image_with_animation image_url=&#8221;17176&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<p id=\"ember6849\" class=\"ember-view reader-text-block__paragraph\">Finalize data preparation using AttributeManager.<\/p>\n[\/vc_column_text][image_with_animation image_url=&#8221;17175&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<p style=\"text-align: center;\"><em>End result<\/em><\/p>\n[\/vc_column_text][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<ul>\n<li><strong>Enhance with Web Scraping<\/strong><\/li>\n<\/ul>\n<p id=\"ember6852\" 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[\/vc_column_text][image_with_animation image_url=&#8221;17174&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<div class=\"reader-image-block reader-image-block--full-width\" style=\"text-align: center;\">\n<figure class=\"reader-image-block__figure\"><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<p id=\"ember6854\" class=\"ember-view reader-text-block__paragraph\"><strong>HttpCaller <\/strong>to retrieve page content.<\/p>\n[\/vc_column_text][image_with_animation image_url=&#8221;17173&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]<strong>HTMLExtractor <\/strong>for targeted text extraction via CSS selectors.[\/vc_column_text][image_with_animation image_url=&#8221;17172&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<p id=\"ember6858\" class=\"ember-view reader-text-block__paragraph\"><strong>StringReplacer <\/strong>for text manipulation.<\/p>\n[\/vc_column_text][image_with_animation image_url=&#8221;17171&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<p id=\"ember6860\" class=\"ember-view reader-text-block__paragraph\">Here is the result of the extraction from the price section shown before.<\/p>\n[\/vc_column_text][image_with_animation image_url=&#8221;17173&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<ul>\n<li><strong>Geocode the Address<\/strong><\/li>\n<\/ul>\n<div class=\"reader-image-block reader-image-block--resize\"><\/div>\n[\/vc_column_text][image_with_animation image_url=&#8221;17169&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<p id=\"ember6864\" 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=\"ember6866\" 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[\/vc_column_text][image_with_animation image_url=&#8221;17168&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<p style=\"text-align: center;\"><em>Automation Writer Feature Type<\/em><\/p>\n[\/vc_column_text][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<h3 id=\"ember6868\" class=\"ember-view reader-text-block__heading-3\">FME Flow Steps: Deploying the Workspace and Adding to the Automation<\/h3>\n[\/vc_column_text][image_with_animation image_url=&#8221;17167&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<p id=\"ember6870\" 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=\"ember6874\" 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[\/vc_column_text][image_with_animation image_url=&#8221;17166&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<div class=\"reader-image-block reader-image-block--resize\" style=\"text-align: center;\">\n<figure class=\"reader-image-block__figure\"><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=\"ember6877\" 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[\/vc_column_text][image_with_animation image_url=&#8221;17165&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<div class=\"reader-image-block reader-image-block--resize\" style=\"text-align: center;\">\n<figure class=\"reader-image-block__figure\"><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[\/vc_column_text][image_with_animation image_url=&#8221;17164&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<div class=\"reader-image-block reader-image-block--resize\" style=\"text-align: center;\">\n<figure class=\"reader-image-block__figure\"><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[\/vc_column_text][image_with_animation image_url=&#8221;17163&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<ul>\n<li><strong>Testing the Deployment<\/strong><\/li>\n<\/ul>\n<p id=\"ember6883\" 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[\/vc_column_text][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<h2 id=\"ember6884\" class=\"ember-view reader-text-block__heading-2\">Pushing Data to Google Sheets<\/h2>\n[\/vc_column_text][image_with_animation image_url=&#8221;17162&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]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.[\/vc_column_text][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<h3 id=\"ember6887\" class=\"ember-view reader-text-block__heading-3\">FME Form steps<\/h3>\n[\/vc_column_text][image_with_animation image_url=&#8221;17161&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<div class=\"reader-image-block reader-image-block--full-width\" style=\"text-align: center;\">\n<figure class=\"reader-image-block__figure\"><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>FME Form pipeline<\/em><\/figcaption><\/figure>\n<\/div>\n<p id=\"ember6889\" 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[\/vc_column_text][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<h3 id=\"ember6891\" 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\"><\/div>\n[\/vc_column_text][image_with_animation image_url=&#8221;17160&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<h3 id=\"ember6894\" class=\"ember-view reader-text-block__heading-3\">Result<\/h3>\n[\/vc_column_text][image_with_animation image_url=&#8221;17159&#8243; image_size=&#8221;full&#8221; animation_type=&#8221;entrance&#8221; animation=&#8221;None&#8221; animation_movement_type=&#8221;transform_y&#8221; hover_animation=&#8221;none&#8221; alignment=&#8221;center&#8221; border_radius=&#8221;none&#8221; box_shadow=&#8221;none&#8221; image_loading=&#8221;default&#8221; max_width=&#8221;100%&#8221; max_width_mobile=&#8221;default&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<div class=\"reader-image-block reader-image-block--full-width\" style=\"text-align: center;\">\n<figure class=\"reader-image-block__figure\"><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 in Google Sheet<\/em><\/figcaption><\/figure>\n<\/div>\n<p id=\"ember6896\" 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[\/vc_column_text][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]\n<h2 id=\"ember6897\" class=\"ember-view reader-text-block__heading-2\">Conclusion<\/h2>\n<p id=\"ember6898\" 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=\"ember6899\" 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[\/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\/en\/17076-2-2-2-4\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\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\/en\/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=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"24 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/spatialworld.fi\\\/en\\\/17076-2-2-2-4\\\/\",\"url\":\"https:\\\/\\\/spatialworld.fi\\\/en\\\/17076-2-2-2-4\\\/\",\"name\":\"Kiinteist\u00f6automaatio - Spatialworld Oy\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/spatialworld.fi\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/spatialworld.fi\\\/en\\\/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\\\/en\\\/17076-2-2-2-4\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[[\"https:\\\/\\\/spatialworld.fi\\\/en\\\/17076-2-2-2-4\\\/\"]]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/spatialworld.fi\\\/en\\\/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\\\/en\\\/17076-2-2-2-4\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/spatialworld.fi\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kiinteist\u00f6automaatio\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/spatialworld.fi\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/spatialworld.fi\\\/en\\\/\",\"name\":\"Spatialworld Oy\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/spatialworld.fi\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/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\/en\/17076-2-2-2-4\/","og_locale":"en_US","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\/en\/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":{"Est. reading time":"24 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/spatialworld.fi\/en\/17076-2-2-2-4\/","url":"https:\/\/spatialworld.fi\/en\/17076-2-2-2-4\/","name":"Kiinteist\u00f6automaatio - Spatialworld Oy","isPartOf":{"@id":"https:\/\/spatialworld.fi\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/spatialworld.fi\/en\/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\/en\/17076-2-2-2-4\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":[["https:\/\/spatialworld.fi\/en\/17076-2-2-2-4\/"]]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/spatialworld.fi\/en\/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\/en\/17076-2-2-2-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/spatialworld.fi\/en\/"},{"@type":"ListItem","position":2,"name":"Kiinteist\u00f6automaatio"}]},{"@type":"WebSite","@id":"https:\/\/spatialworld.fi\/en\/#website","url":"https:\/\/spatialworld.fi\/en\/","name":"Spatialworld Oy","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/spatialworld.fi\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/spatialworld.fi\/en\/wp-json\/wp\/v2\/pages\/17130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spatialworld.fi\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/spatialworld.fi\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/spatialworld.fi\/en\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/spatialworld.fi\/en\/wp-json\/wp\/v2\/comments?post=17130"}],"version-history":[{"count":14,"href":"https:\/\/spatialworld.fi\/en\/wp-json\/wp\/v2\/pages\/17130\/revisions"}],"predecessor-version":[{"id":17305,"href":"https:\/\/spatialworld.fi\/en\/wp-json\/wp\/v2\/pages\/17130\/revisions\/17305"}],"wp:attachment":[{"href":"https:\/\/spatialworld.fi\/en\/wp-json\/wp\/v2\/media?parent=17130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}