diff --git a/Observer/ConfigChangeObserver.php b/Observer/ConfigChangeObserver.php
new file mode 100644
index 0000000000000000000000000000000000000000..5b68f04d936c192239c72033f12ce70456f5d1e7
--- /dev/null
+++ b/Observer/ConfigChangeObserver.php
@@ -0,0 +1,116 @@
+<?php
+
+namespace BobGroup\BobGo\Observer;
+
+use Magento\Framework\Event\Observer;
+use Magento\Framework\Event\ObserverInterface;
+use Magento\Framework\App\Config\ScopeConfigInterface;
+use Magento\Framework\HTTP\Client\Curl;
+
+class ConfigChangeObserver implements ObserverInterface
+{
+    protected $scopeConfig;
+    protected $curl;
+
+    public function __construct(
+        ScopeConfigInterface $scopeConfig,
+        Curl $curl
+    ) {
+        $this->scopeConfig = $scopeConfig;
+        $this->curl = $curl;
+    }
+
+    public function execute(Observer $observer)
+    {
+        $sectionId = $observer->getEvent()->getSection();
+
+        // Ensure we're working with the 'carriers' section
+        if ($sectionId === 'carriers') {
+            $isEnabled = $this->scopeConfig->getValue('carriers/bobgo/active', \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
+
+            // Check if the extension is enabled
+            if ($isEnabled) {
+                $url = 'https://api.dev.bobgo.co.za/rates-at-checkout/magento';
+
+                // Prepare the payload
+                $payload = json_encode([
+                    "identifier" => "woodemo3.bobgo.co.za",
+                    "rate" => [
+                        "origin" => [
+                            "country" => "ZA",
+                            "postal_code" => "0181",
+                            "province" => "GP",
+                            "city" => "Pretoria",
+                            "name" => null,
+                            "address1" => "125 Dallas Avenue",
+                            "address2" => "Newlands",
+                            "address3" => null,
+                            "phone" => "",
+                            "fax" => "",
+                            "email" => null,
+                            "address_type" => null,
+                            "company_name" => ""
+                        ],
+                        "destination" => [
+                            "country" => "ZA",
+                            "postal_code" => "0181",
+                            "province" => "GP",
+                            "city" => "Pretoria",
+                            "name" => null,
+                            "address1" => null,
+                            "address2" => "",
+                            "address3" => null,
+                            "phone" => "",
+                            "fax" => "",
+                            "email" => null,
+                            "address_type" => null,
+                            "company_name" => "",
+                            "shipping_suburb" => "Elarduspark"
+                        ],
+                        "currency" => "ZAR",
+                        "locale" => "en",
+                        "items" => [
+                            [
+                                "name" => "Colours With Variants - Has dimensions - Red",
+                                "sku" => "sku-1",
+                                "quantity" => 2,
+                                "price" => 500,
+                                "vendor" => "",
+                                "requires_shipping" => true,
+                                "taxable" => true,
+                                "fulfillment_service" => "manual",
+                                "properties" => null,
+                                "product_id" => 160824,
+                                "grams" => 2000,
+                                "height" => 20,
+                                "length" => 43,
+                                "width" => 63,
+                                "variant_id" => 160826,
+                                "shipping_class" => "colours",
+                                "shipping_class_id" => 41
+                            ]
+                        ]
+                    ]
+                ]);
+
+                // Set headers
+                $this->curl->addHeader("Accept", "*/*");
+                $this->curl->addHeader("Accept-Encoding", "deflate, gzip, br");
+                $this->curl->addHeader("Content-Type", "application/json; charset=utf-8");
+                $this->curl->addHeader("Host", "api.dev.bobgo.co.za");
+                $this->curl->addHeader("User-Agent", "Magento/2.x");
+
+                // Send the request
+                $this->curl->post($url, $payload);
+
+                // Check response status
+                if ($this->curl->getStatus() == 200) {
+                    $response = $this->curl->getBody();
+                    // Log response or take further actions
+                } else {
+                    // Handle error response
+                }
+            }
+        }
+    }
+}
diff --git a/etc/adminhtml/events.xml b/etc/adminhtml/events.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4cc2e52b3d3fd11d719cfcb6045fa566ff778739
--- /dev/null
+++ b/etc/adminhtml/events.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
+    <event name="admin_system_config_changed_section_carriers">
+        <observer name="bobgo_config_change_observer" instance="BobGroup\BobGo\Observer\ConfigChangeObserver" />
+    </event>
+</config>
diff --git a/etc/di.xml b/etc/di.xml
index fedc9eeb0003631811c48f5cc00d3e7e837e0d52..28ae9658b7205673267451ea336107d1477d81bc 100644
--- a/etc/di.xml
+++ b/etc/di.xml
@@ -8,4 +8,10 @@
             </argument>
         </arguments>
     </type>
+    <type name="BobGroup\BobGo\Observer\ConfigChangeObserver">
+        <arguments>
+            <argument name="curl" xsi:type="object">Magento\Framework\HTTP\Client\Curl</argument>
+        </arguments>
+    </type>
+
 </config>