Using Webhooks with Sparks

🚀 Overview

Webhooks are one of the most powerful automation tools available — and now, they work seamlessly with NSPECT Sparks.

A webhook is a way for one application to instantly send data to another as soon as an event happens. Unlike traditional APIs that require you to “pull” data, a webhook pushes data automatically in real-time. That means as soon as a Spark finishes running in NSPECT, we can send the results straight to your other systems — no manual exports, no waiting, no syncing delays.

With this feature, Sparks can now trigger any action in your workflow the moment field data is captured — updating spreadsheets, posting to project management tools, writing records to your CRM, or sending alerts to Slack, Teams, or custom dashboards.

This is an incredibly powerful way to make your data come alive and connect NSPECT to the rest of your world.


⚙️ How It Works

When a Spark completes, NSPECT automatically sends a JSON payload containing all of your Spark’s data to the webhook URL you specify in your Spark’s configuration.

It’s a simple “fire and forget” mechanism — once the Spark is done, the webhook is instantly triggered, passing along all relevant data from that event.


đź§© Setting Up a Webhook on Your Spark

  1. Open Your Spark Configuration

    Go to your Sparks dashboard, choose the Spark you want to integrate, and click Edit Spark.

    Locate the Webhook Field

    You’ll see a field labeled Webhook URL (or similar). This is where you’ll paste the endpoint of the system you want to send data to.

    Enter Your Webhook Endpoint

    Paste the URL of your webhook endpoint. This could be a URL from:

    • Zapier or Make (formerly Integromat)
    • A CRM or project management system
    • A custom API endpoint you’ve built
  2. Save Your Spark Configuration

    Once saved, your Spark is now live and ready to send data automatically when it completes.

  3. Test It

    Run your Spark and watch your connected system receive the data in real time. It’s that simple.


đź’ˇ Pro Tip

Because NSPECT now connects with platforms like Zapier, your webhook can tie into over 8,000 apps — meaning you can build powerful workflows without writing a single line of code.

Example ideas:

  • Send inspection summaries straight into Google Sheets
  • Create work orders in Asana or Monday
  • Trigger a follow-up email or SMS
  • Log every Spark completion in your internal database

đź§ľ Sample Webhook Payload (JSON Format)

Below is an example of the data NSPECT sends to your webhook endpoint upon Spark completion:

{
  "event": "report_generated",
  "timestamp": "2025-10-18T19:00:03.875170Z",
  "spark": {
    "id": 3,
    "name": "Room Demo",
    "description": "Used for a Simple demo of Sparks",
    "spark_type": null,
    "company_name": "NSPECT Inc.",
    "address": "3636 S Sherwood Forest Blvd",
    "website": "http://www.nspect.net",
    "report_name": "Spark Demo Report",
    "logo": "https://assets.cdn.filesafe.space/s7aaVGStfLkXIAPYxTX2/media/68aa1dc97325cefb0431f481.png",
    "project_summary_heading": "Room Summary",
    "action_items_heading": "Room Action Items",
    "project_assessment_heading": "Room Assessment",
    "project_documentation_heading": "Room Images",
    "primary_color": "#000000",
    "accent_color": "#fa5519",
    "background_color": "#f8fafc",
    "assigned_phone_number": "+12253701395",
    "created_at": "2025-10-06T01:43:44.000000Z"
  },
  "report": {
    "url": "https://spark.nspect.net/spark-report/e246e92c-ca45-49dc-aad2-99edef902e56",
    "generated_at": "2025-10-18T19:00:03.875718Z",
    "from_phone_number": "+12252683483"
  },
  "questions_and_answers": [
    {
      "id": 632,
      "order": 1,
      "question_id": 5,
      "question": "How Many Doors are in the Room?",
      "response_type": "text",
      "response": "5",
      "response_data_type": "text",
      "from_phone_number": "+12252683483",
      "created_at": "2025-10-18T18:58:48.000000Z",
      "updated_at": "2025-10-18T18:58:48.000000Z"
    },
    {
      "id": 633,
      "order": 2,
      "question_id": 6,
      "question": "How Many Windows?",
      "response_type": "text",
      "response": "10",
      "response_data_type": "text",
      "from_phone_number": "+12252683483",
      "created_at": "2025-10-18T18:58:57.000000Z",
      "updated_at": "2025-10-18T18:58:57.000000Z"
    },
    {
      "id": 291,
      "order": 3,
      "question_id": 7,
      "question": "Send me a Picture of the room.",
      "response_type": "image",
      "response": null,
      "response_data_type": "media",
      "from_phone_number": "+12252683483",
      "file_name": "SPARKS-RESPONSE-3-Q7-20251018_135934-0.jpeg",
      "file_type": "image/jpeg",
      "original_filename": "MEd7ae1acea8581907c6492d306653dab5",
      "url": "https://api.spark.nspect.net/sparks_media_response/3/SPARKS-RESPONSE-3-Q7-20251018_135934-0.jpeg",
      "created_at": "2025-10-18T18:59:34.000000Z",
      "updated_at": "2025-10-18T18:59:34.000000Z"
    }
  ],
  "call_summary": {
    "id": 97,
    "project_summary": "The meeting emphasized the need to improve the guest room environment to boost comfort and satisfaction. Key tasks identified include multiple cleaning and restocking activities such as window cleaning, changing sheets, and wiping bathroom mirrors. Specific focus was placed on maintaining hygiene by wiping down the kitchen table and restocking the refrigerator with essentials. Towels will also be replenished to meet guest needs, and both TVs were noted for needing larger screens to enhance the user experience. The room setup features diverse furniture and amenities, including two working desks and seating options like a sectional couch and chaise lounge, catering to relaxation and work. Decorative elements, such as bow and arrow wall art, add character, while multiple lamps and a sizable bathroom enhance overall comfort and utility.",
    "action_items": {
      "2": "Clean windows in the hotel room",
      "3": "Change sheets in the bedroom",
      "4": "Wipe down bathroom mirror",
      "5": "Clean and wipe kitchen table after previous night’s dinner",
      "6": "Restock refrigerator with needed items",
      "7": "Acquire towels to replenish supply",
      "8": "Replace both TVs with larger models"
    },
    "has_transcript": true,
    "full_summary": "{\"keywords\":[\"hotel room\",\"housekeeping\",\"maintenance\",\"furniture\",\"kitchen\",\"bathroom\"],\"outline\":null,\"action_items\":\"\\n**Unassigned**\\nClean windows in the hotel room (00:00)\\nChange sheets in the bedroom (00:00)\\nWipe down bathroom mirror (00:00)\\nClean and wipe kitchen table after previous night\\u2019s dinner (00:00)\\nRestock refrigerator with needed items (00:00)\\nAcquire towels to replenish supply (00:00)\\nReplace both TVs with larger models (00:00)\\n\",\"overview\":\"- Focus on enhancing guest room environment to boost comfort and satisfaction levels, emphasizing its importance in feedback metrics.\\n- Cleaning and restocking tasks prioritized, including window cleaning, sheet changes, and bathroom mirror wiping to maintain high hygiene standards.\\n- Kitchen table requires immediate cleaning post-dinner for ongoing guest satisfaction and cleanliness.\\n- Refrigerator restocking necessary to ensure essentials are continuously available for guest convenience.\\n- Towels must be replenished regularly to meet guest needs and improve overall service quality.\\n- Room setup features diverse furniture options with two functional desks and a sectional couch to cater to relaxation and work activities.\\n- Decorative elements enhance aesthetic appeal; notable mention of bow and arrow wall art adds character to spaces.\\n- Multiple lighting options, including various lamps, increase comfort levels and ensure utility throughout the room.\\n- Need for larger TVs highlighted to improve the user experience among guests, indicating a trend towards higher standards in entertainment.\\n- Maintenance of these facilities directly correlates with guest satisfaction scores and overall hotel ratings.\",\"shorthand_bullet\":\"\\ud83d\\udecf\\ufe0f **Hotel Room Setup** (00:00 - 00:00)\\nDescription of the hotel room setup including furniture and decor: dresser, bed, lamp, three lamps, mirror on the wall, sectional couch, chaise lounge, two working desks, arrows (bow and arrows) on the wall.\\nPresence of additional room housing a living room area with a kitchen table, kitchen, and bar.\\nMention of a large bathroom within the accommodation.\\n\\ud83e\\uddf9 **Maintenance and Housekeeping Tasks** (00:00 - 00:00)\\nIdentification of maintenance and housekeeping tasks required: windows need cleaning, sheets need changing, bathroom mirror needs wiping, kitchen table requires cleaning after last night\\u2019s dinner, refrigerator needs restocking, towels are needed.\\nSuggestion that both TVs in the accommodation should be upgraded to larger sizes for better use.\\n\",\"gist\":\"The meeting focused on enhancing guest room comfort and satisfaction through various maintenance tasks and improvements.\",\"bullet_gist\":\"\\ud83e\\uddf9 Cleaning Tasks: Essential cleaning tasks include window cleaning, sheet changes, and bathroom mirror wiping.\\n\\ud83d\\udecb\\ufe0f Room Setup: Diverse furniture and amenities support relaxation and work, enhancing guest experience.\\n\\ud83d\\udcfa TV Upgrades: Larger TVs are needed to improve the user experience in guest rooms.\\n\\ud83d\\udebf Hygiene Focus: Maintaining hygiene with regular cleaning and restocking is a priority.\\n\\ud83c\\udfa8 Decorative Elements: Character is added to the space with unique decorative art and lighting.\",\"short_summary\":\"The meeting emphasized the need to improve the guest room environment to boost comfort and satisfaction. Key tasks identified include multiple cleaning and restocking activities such as window cleaning, changing sheets, and wiping bathroom mirrors. Specific focus was placed on maintaining hygiene by wiping down the kitchen table and restocking the refrigerator with essentials. Towels will also be replenished to meet guest needs, and both TVs were noted for needing larger screens to enhance the user experience. The room setup features diverse furniture and amenities, including two working desks and seating options like a sectional couch and chaise lounge, catering to relaxation and work. Decorative elements, such as bow and arrow wall art, add character, while multiple lamps and a sizable bathroom enhance overall comfort and utility.\",\"short_overview\":null,\"meeting_type\":null,\"topics_discussed\":null,\"transcript_chapters\":[]}",
    "raw_action_items": "\n**Unassigned**\nClean windows in the hotel room (00:00)\nChange sheets in the bedroom (00:00)\nWipe down bathroom mirror (00:00)\nClean and wipe kitchen table after previous night’s dinner (00:00)\nRestock refrigerator with needed items (00:00)\nAcquire towels to replenish supply (00:00)\nReplace both TVs with larger models (00:00)\n",
    "transcript": [
      {
        "text": "Sitting in a hotel room.",
        "end_time": 1.6,
        "start_time": 0.4,
        "speaker_name": null
      },
      {
        "text": "Got a dresser, a bed, a lamp, three lamps.",
        "end_time": 6.32,
        "start_time": 1.92,
        "speaker_name": null
      },
      {
        "text": "Mirror on the wall.",
        "end_time": 7.44,
        "start_time": 6.4,
        "speaker_name": null
      },
      {
        "text": "Amy's here.",
        "end_time": 10.16,
        "start_time": 9.36,
        "speaker_name": null
      },
      {
        "text": "There's a additional room that's got a living room and a kitchen table and a kitchen and a bar.",
        "end_time": 18.96,
        "start_time": 11.92,
        "speaker_name": null
      },
      {
        "text": "Pretty big bathroom.",
        "end_time": 22.64,
        "start_time": 21.28,
        "speaker_name": null
      },
      {
        "text": "Sectional couch in the other room, chaise lounge.",
        "end_time": 28.18,
        "start_time": 24.72,
        "speaker_name": null
      },
      {
        "text": "And this one, a working desk.",
        "end_time": 29.54,
        "start_time": 28.18,
        "speaker_name": null
      },
      {
        "text": "Two working desk.",
        "end_time": 30.54,
        "start_time": 29.54,
        "speaker_name": null
      },
      {
        "text": "It's got some arrows on the wall.",
        "end_time": 36.54,
        "start_time": 33.34,
        "speaker_name": null
      },
      {
        "text": "Like bow and arrows are on the wall.",
        "end_time": 38.78,
        "start_time": 37.02,
        "speaker_name": null
      },
      {
        "text": "As far as things that need to be done.",
        "end_time": 40.86,
        "start_time": 39.5,
        "speaker_name": null
      },
      {
        "text": "Looks like the windows need to be cleaned.",
        "end_time": 43.02,
        "start_time": 40.86,
        "speaker_name": null
      },
      {
        "text": "Sheets probably need to be changed.",
        "end_time": 46.54,
        "start_time": 44.62,
        "speaker_name": null
      },
      {
        "text": "Bathroom mirror needs to be wiped down.",
        "end_time": 51.26,
        "start_time": 48.3,
        "speaker_name": null
      },
      {
        "text": "Kitchen table needs to be cleaned up.",
        "end_time": 53.66,
        "start_time": 51.74,
        "speaker_name": null
      },
      {
        "text": "Wiped down from dinner last night.",
        "end_time": 55.58,
        "start_time": 53.66,
        "speaker_name": null
      },
      {
        "text": "Need to restock the refrigerator.",
        "end_time": 60.24,
        "start_time": 58.6,
        "speaker_name": null
      },
      {
        "text": "And we need some towels.",
        "end_time": 61.96,
        "start_time": 60.24,
        "speaker_name": null
      },
      {
        "text": "And both of the TVs should probably be bigger.",
        "end_time": 67.88,
        "start_time": 63.16,
        "speaker_name": null
      }
    ],
    "created_at": "2025-10-18T18:58:12.000000Z"
  },
  "additional_final_information": null
}

You can use this JSON structure to map fields into your other systems — giving you total control over where your Spark data goes and how it’s used.