> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.mimeeq.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# How to use Mimeeq Webhooks


## Content

1. [About Webhooks](#2-about-webhooks)
2. [How to create Webhook](#2-how-to-create-webhook)
3. [How to test Webhook](#2-how-to-test-webhook)
4. [Webhook Format](#2-webhook-format)
5. [List of Webhooks](#2-list-of-webhooks)
6. [Example Use Case](#2-example-use-case)

## About Webhooks

Webhooks are a way for your application to get real-time data from when an event occurs in our platform. They have a message (or payload) which is sent to a unique URL. 
In this article you will find a step-by-step guide to help you create and test your first Webhooks in Mimeeq. 

| For more detailed information on setting up webhooks in Mimeeq, including payload examples, please check out our [developer documentation](https://docs.mimeeq.com/webhooks).

## How to create a webhook

1. Log in to Mimeeq app.
2. Navigate to Settings and look for the Data section.

![How to create a Webhook in Mimeeq](https://storage.crisp.chat/users/helpdesk/website/8410e0b256e81000/webhooks-image-1_trxcso.png)

3. Select Webhooks to open the webhook settings page.
4. On the Webhooks page, you'll see an option to create new webhook. Click on this button and provide the following webhook details:

|   | Name | Description |
| ---- |
| 1. | Webhook Name | A unique name for the webhook. **Required** |
| 2. | Endpoint URL | An endpoint URL is the HTTP endpoint where your preferred events are sent. We can send them only to a full, valid, publicly accessible URL. **Required** |
| 3. | HTTP Auth Header Name and Value | By specifying these, you add an extra security layer to your webhook, ensuring every request includes a custom authorization header. This setup allows for the implementation of custom verification logic at your endpoint, effectively filtering out unauthorized requests.  **Optional** |
| 4. | Select Event Type | Select the events for which you want to receive payloads. **Required** |

![Settings -> Webhooks -> Create a New Webhook](https://storage.crisp.chat/users/helpdesk/website/8410e0b256e81000/webhooks-image-2_1f3kwm0.png)

## How to test your Webhook

Once your webhook is created, it’s important to test it to ensure it’s working as expected. 
you can of course just create a event to test it which will then include you real data however if you want to make sure the end point is functioning then you can send a test payload 

1. Find your Webhook in the list and open the Webhook Details Page.
2. Scroll down to section Test Webhook.
3. Select the Event type you want to test.
4. Click "Send Test". Right after that, you'll get a message at the top telling you if you test request was successful or not.

![How to test Webhook](https://storage.crisp.chat/users/helpdesk/website/8410e0b256e81000/webhooks-image-3_17fbkq2.png)

To review the result of the last attempt, go back to the webhook list.

|| Note: Events generated by testing webhooks are not counted as a last attempt so you will not see this on the datagrid.

![How to check last attempt status](https://storage.crisp.chat/users/helpdesk/website/8410e0b256e81000/webhooks-image-4_klxiv5.png)

We retry failed webhooks, for details refer to our develop documentation for more details

## Webhook Format

When a webhook is triggered, the data received is in the following format:

```json
{
  "meta": {
    "webhookId": "string",
    "eventId": "string",
    "eventType": "string",
    "eventTimestamp": "string", 
    "entityId": "string",
    "version": "string"
  },
  "data": {/*specific data for the event*/} 
}
```

| See our [dev docs](https://docs.mimeeq.com/webhook-payloads-basket) for more details and payloads examples for each event type.

In this example:

* `webhookId` the unique identifier of the webhook definition.
* `eventId`  the unique identifier for the specific event.
* `eventType` the type of event triggered, such as basket-submitted, contact-created, etc.
* `eventTimestamp` the exact date and time when the event happened.
* `entityId` the ID of the main item involved in the event. For example, for events related to contacts (like contact-created, contact-updated, or contact-deleted), this would be the contactId.
* `version` the version of the payload format being used.
* `data` this contains event-specific information and will vary depending on the eventType.

## List of Webhooks

Below is the current list of event types available in Mimeeq. These events can trigger notifications or updates within your system, ensuring seamless real-time communication and automated processes based on specific actions or changes:

**Basket**

| Event Type | Triggered when... |
| ---- |
| basket-submitted | ... someone submits basket. |
**Contact**

| Event Type | Triggered when... |
| ---- |
| contact-created | ... a new contact is created. |
| contact-updated | ... changes are made to a existing contact. |
| contact-deleted | ...  a contact is removed. |
**Company**

| Event Type | Triggered when... |
| ---- |
| company-created | ...  a new company is created. |
| company-updated | ... changes are made to existing company. |
| company-deleted | ...  a company is removed. |
| company-note-created | ... a new note is attached to a company's records. |
| company-note-updated | ... an existing note on a company's record is updated. |
| company-note-deleted | ... a note linked to a company is removed. |

## Example Use Case

You want to create a new Deal in your CRM for Basket submissions
For the sake of this example lets presume you CRM in Pipedrive and you will use Zapier to connect it
Here is how you would do that

1. Login to Zapier and create a ZAP
2. The Zap would have a Webhook as a trigger
3. Copy the Webhook address and create you webhook in Mimeeq for the basket payload,
4. Click test Webhook to send the payload to zapier
5. In Zapier set up your actions to create a contact and deal in Pipedrive
6. To do that you would pass the contact name and email from the Webhook payload to Pipedrive and likewise you can create a deal with the details from the payload
7. You could finish with another action that notifies the sales team via MS teams that there is a new basket submission that needs attention

| There are many low code automation tools such as [Zapier](https://zapier.com/) probably the most popular with the most connections and [Make](https://www.make.com/en) for more advanced scenarios. With Zapier you will not need a developer to set up your automations as its a low code user friendly system.


## Can I use Power Automate With Mimeeq Webhooks
 
> Yes but you need to use a middle tool like Hoockdeck


When sending webhooks from Mimeeq to Power Automate, you may encounter issues where the data doesn't arrive correctly. This happens because AWS (which powers Mimeeq) sends webhook data in "chunks," but Power Automate expects to receive data all at once in a single package.

Note: This solution is specifically required for Mimeeq basket webhooks and other webhook types where the payload can exceed the 256KB size limit for a single chunk. The basket-submitted webhook often contains detailed product configurations and customer data that make the payload large enough to trigger chunking.

This guide will help you set up Hookdeck as a middleware solution that sits between Mimeeq and Power Automate. Hookdeck automatically receives the chunked data, reassembles it, and sends it to Power Automate in the format it expects. This solves the data transmission issues without requiring any changes to your Mimeeq or Power Automate configurations beyond changing a single webhook URL.

## Getting Started

1. Create a Hookdeck account   
* Go to [hookdeck.com](https://hookdeck.com/) and sign up for a free account       
* The free tier includes 10,000 events per month (each webhook counts as one event when received and another when forwarded)     
* This gives you approximately 5,000 webhook processes per month at no cost
        
2. Create a Source (Inbound Webhook)    
* In the Hookdeck dashboard, click on "Create a Source"        
* Give it a descriptive name like "Mimeeq Webhooks"        
* You'll get a unique URL that looks like: `https://hook.events/yourworkspace/yoursource`        
* Copy this URL - you'll need it for the Mimeeq configuration
        
3. Create a Destination (Outbound Webhook)    
* In Hookdeck, click on "Create a Destination"       
* Enter your existing Power Automate webhook URL 
* Keep the default settings for request method (POST) and content type (application/json)            
* Save the destination
        
4. Connect Source to Destination    
* Create a Connection that links your Source to your Destination          
* This tells Hookdeck where to forward the webhooks after receiving them

## Mimeeq Configuration

1. Update your webhook settings in Mimeeq      
* Navigate to Settings → Webhooks    
* In the "Webhook URL" field, replace your Power Automate URL with the Hookdeck Source URL        
* Leave everything else the same (event types, authentication if any)       
* Save changes

## That's it!

Hookdeck will now:

* Receive chunked webhook data from Mimeeq    
* Automatically reassemble it into complete payloads    
* Forward the complete data to Power Automate
* No additional configuration is needed - chunking is handled automatically by Hookdeck.


## Benefits

* Reliability: Hookdeck will manage the chunking issue completely    
* Visibility: You can see all webhook events in the Hookdeck dashboard    
* History: View detailed logs of all sent/received webhooks    
* Troubleshooting: Easily identify and resolve any webhook issues    
* Free Tier: 10,000 events per month at no cost

## Optional Advanced Features

* Retry Logic: Configure automatic retries if the destination is temporarily unavailable    
* Filtering: Set up rules to filter webhooks based on their content    
* Transformations: Modify payload content before it reaches Power Automate (not needed for chunking)    
* Alerting: Get notified about failed webhook deliveries

Hookdeck is used by many developers and businesses to solve exactly this kind of webhook reliability issue. This solution works perfectly with Mimeeq and Power Automate.

---

#### We hope this guide makes your webhook integration smooth and efficient 🤝
