Plugins

Other

Guide for setting up integrations in Omnium, including Google product feeds, SendGrid email handling (inbound and outbound), and Link Mobility SMS notifications.

Google Feeds Integration

Omnium supports exporting products as a Google XML product feed. This feed is set up using a combination of scheduled tasks and connector settings in Omnium, resulting in an XML document containing a set of products. The resulting XML document is located in blob storage, and the consumer needs to fetch the feed from its location for consumption.

Multiple feeds can be generated by setting up multiple connectors with different settings. The scheduled task GoogleXmlFeedScheduledTask will read all connectors named GoogleXmlFeed and generate one feed for each.

Options

Product Filtering

By default, only active products are included in the product feeds. However, it is possible to exclude selected products by setting the property "ExcludeFromFeed" to true under SeoInformation on products in Omnium.

The property "ProductMarket" should contain the marketId of the market for the products in the feed. If product languages are enabled, the feed will be populated with information from the market's product content language. This property is required.

Product Availability

The product availability is calculated from the product inventory. Since this status is calculated from the inventory items on the product entity (and not from the inventory index), the scheduled task ProductInventoryStatusScheduledTask should also be activated to populate the products with the required inventory levels used in the feed.

It is possible to specify the store for which availability is calculated by adding the property "Store" and specifying the Omnium storeId.

Virtual products in Omnium will always be shown as "in stock" in the product feed.

Custom Properties

It is possible to add custom properties from products in Omnium to the product feed by adding properties with keyGroup set to "CustomProperties" and key set to the key of the custom property.

Setup

  1. Go to Configuration -> Integrations -> GoogleXmlFeed.
  2. Click Add.
  3. Fill in the required fields. At a minimum, feed title and feed directory must be specified.
  4. Click Save at the bottom of the page. Then click Publish in the top right. The URL pointing to the location where the feed will be located should appear.

Image

Testing the Feed

  1. Go to Configuration -> Advanced -> Scheduled Tasks.
  2. Locate the scheduled task "GoogleXmlFeedScheduledTask".
  3. Click the options button on the right side and click "Run Now".
    • Note: Depending on the number of products, this process might take some time to complete.
  4. Go to Configuration -> Integrations -> GoogleXmlFeed.
  5. Click the link pointing to the feed's location. The feed should be displayed in your browser.

Sample Google Feed

Image


Google Local Feed

Omnium supports Google Local Feeds, which provide more up-to-date information about stock levels in physical stores. The local feed is configured similarly to the GoogleXmlFeed.

Where GoogleXmlFeed uses the GoogleXmlFeedScheduledTask, the local feed relies on its own scheduled task: GoogleXmlLocalFeedScheduledTask.

Feed Frequency

While it is typically sufficient to generate the regular product feed once per day, the local feed should ideally be generated every 30–60 minutes to ensure accurate local stock levels.

However, be aware that the feed generation process performs a full scroll over all active products in Omnium, making it a computationally expensive operation. Therefore, it should not be scheduled more frequently than every 30 minutes.

For stricter update requirements, please contact Omnium Support to discuss potential solutions.

Task Dependencies

The GoogleXmlFeedScheduledTask retrieves inventory status from the product index. As such, it depends on the ProductInventoryStatusScheduledTask to be executed at least as frequently as the product feed generation.

Recommendation: If the GoogleXmlFeedScheduledTask runs every 30 minutes, it's advisable to schedule the ProductInventoryStatusScheduledTask 10–15 minutes earlier to ensure it completes beforehand. This timing ensures that the latest inventory data is available when generating both the product and local feeds.

Store Inclusion Criteria

Note: Only Omnium stores with the store role "ClickAndCollect" are included in the Google Local Feed. This enables you to control which stores are included in the local inventory updates.


SendGrid integration

Settings in Omnium

  1. Go to Configuration -> Advanced -> Email Client.
  2. Set type to Sendgrid.
  3. Add the API key to the "Key Name" field.

Inbound Parsing

To handle incoming e-mails for adding replies to carts, orders, projects, etc., follow SendGrid's documentation: SendGrid Inbound Parse Documentation

Set up MX Records

  1. Navigate to the MX Records page on your hosting provider’s website. If you're unsure who your hosting or DNS provider is, contact your website administrator.
  2. Create a new MX record for the subdomain (e.g., parse.yourdomain.com) you want to process incoming email. This hostname should be used exclusively for parsing incoming emails.
  3. Assign the MX record a priority of 10 and point it to mx.sendgrid.net.

Inbound Settings in SendGrid

  1. Go to Settings -> Inbound Parse.
  2. Click "Add host & URL".
  3. Add your subdomain (same as MX record, e.g., "incoming").
  4. Add your Domain (verified domain).
  5. Set the Destination URL based on your environment:
  1. Optional: Check "Check incoming emails for spam".
  2. Do NOT check "POST the raw, full MIME message".

Inbound Settings in Omnium

  1. Go to Configuration -> Advanced -> Email Client.
  2. Add the new inbound e-mail address to "Inbound E-mail Address".

Using Raw-format with SendGrid

Due to varying formats across different email providers, formatting issues may sometimes occur when using the standard model received from SendGrid. A way to overcome this issue is leveraging the SendGrid option "POST the raw, full MIME message" when setting up the inbound parse hook. This better preserves the formatting information related to the email.

Steps to Use the Raw Option:

  1. Go to Settings -> Inbound Parse
  2. Click "Add host & URL"
  3. Add subdomain (same as MX record, e.g., "incoming")
  4. Domain: Add your verified domain
  5. Destination URL: https://api.omnium.no/api/InboundParse/Raw
  6. Optional: Check incoming emails for spam
  7. Check the option "POST the raw, full MIME message"

Inbound Settings in Omnium:

  1. Go to Configuration -> Advanced -> Email Client
  2. Add the new inbound email address to "Inbound email address"

With the Link Mobility integration, you can configure SMS notifications in Omnium based on various events and order statuses. Follow this guide to set up and get started with SMS notifications in Omnium.

To get started, you must first set up an agreement with Link Mobility.

  1. Contact Link Mobility to obtain a license and establish the agreement.
  2. Once the agreement is in place, Link Mobility will reach out to Omnium to configure the integration in your system.

Set up

The configuration for the SMS client is located under:

Configuration → Advanced → Notifications → SMS Client

Image

Once the integration is ready, you can proceed to configure your notifications.