IM Form Documentation
Integrations
Setup Guide
Step-by-step setup instructions for every integration in IM Form — payments, Google Apps, email marketing, CRM, and automation tools.
11Integrations
5Categories
50+Setup Steps
Scroll to explore
All Integrations
Connect IM Form to Your Stack
Every integration ships with full step-by-step instructions. Click through to set up in minutes.
💰
Payments
3 integrations
3
💳
Stripe
Payments
Basic & Pro
Accept credit and debit card payments globally via Stripe. Supports one-time payments, deposits, and full payment flows directly inside your booking form.
Stripe Dashboard →
Configuration Fields
Mode
Select Test Mode during setup. Switch to Live Mode when you're ready to accept real payments.
Publishable Key
Starts with pk_test_ or pk_live_. Found in Stripe Dashboard → Developers → API Keys.
Secret Key
Starts with sk_test_ or sk_live_. Never share this publicly.
Webhook Secret
Starts with whsec_. Required for payment confirmation. Set up a webhook in Stripe to your site URL.
Step-by-Step Setup
1
Create a Stripe account
Go to stripe.com and sign up or log in to your existing account.
2
Get your API keys
Stripe Dashboard → Developers → API Keys. Copy both the Publishable Key and Secret Key.
3
Set up a Webhook
Stripe Dashboard → Developers → Webhooks → Add Endpoint. Set the URL to your site and select the event: payment_intent.succeeded. Copy the Signing Secret (whsec_...).
4
Enter keys in IM Form
IM Form → Integrations → Stripe. Paste your Publishable Key, Secret Key, and Webhook Secret. Set Mode to Test.
5
Test a payment
Submit a test booking using card number 4242 4242 4242 4242, any future expiry, any CVC.
6
Go Live
Once confirmed working, switch Mode to Live and replace test keys with live keys from Stripe Dashboard.
Use Test Mode with test card 4242 4242 4242 4242 before going live
The Webhook Secret is required — without it, Stripe cannot confirm payments to IM Form
Stripe supports 135+ currencies — set your currency in IM Form → Settings → General
🇵🇭
PayMongo
Payments
Basic & Pro
Accept GCash, Maya, and credit/debit cards via PayMongo — the leading payment gateway in the Philippines. No monthly fees, pay only per transaction.
PayMongo Dashboard →
Configuration Fields
Mode
Test or Live. Use Test Mode during setup.
Public Key
Starts with pk_test_ or pk_live_. Found in PayMongo Dashboard → Developers → API Keys.
Secret Key
Starts with sk_test_ or sk_live_.
Webhook Secret
Starts with whsec_. Create a webhook in PayMongo pointing to your site.
Step-by-Step Setup
1
Create a PayMongo account
Go to app.paymongo.com and complete business verification.
2
Get your API keys
PayMongo Dashboard → Developers → API Keys. Copy Public Key and Secret Key.
3
Create a Webhook
PayMongo Dashboard → Developers → Webhooks → Add Webhook. Enter your site URL. Select payment.paid event. Copy the Webhook Secret.
4
Enter keys in IM Form
IM Form → Integrations → PayMongo. Paste all three keys. Set Mode to Test.
5
Test with GCash
Submit a test booking. Use PayMongo's test credentials to simulate GCash or card payment.
6
Activate Live Mode
After testing, switch to Live Mode and replace test keys with live keys.
PayMongo supports GCash, Maya, BPI, UnionBank, and all major credit/debit cards
Webhook Secret is required for IM Form to confirm payment completion
PayMongo requires business verification before live transactions are enabled
🅿️
PayPal
Payments
Basic & Pro
Accept PayPal payments in your booking forms. Clients can pay with their PayPal balance, linked bank account, or any card — no PayPal account required for the client.
PayPal Developer →
Configuration Fields
Mode
Sandbox (Testing) or Live. Always test in Sandbox first.
Client ID
Found in PayPal Developer Dashboard → My Apps & Credentials → Your App → Client ID.
Secret
Found alongside the Client ID. Never expose this publicly.
Step-by-Step Setup
1
Create a PayPal Business account
Go to paypal.com/business and sign up or upgrade your existing account.
2
Access Developer Dashboard
Go to developer.paypal.com and log in with your PayPal Business account.
3
Create an App
My Apps & Credentials → Create App. Name it 'IM Form'. Copy the Client ID and Secret from the Sandbox section.
4
Enter credentials in IM Form
IM Form → Integrations → PayPal. Paste Client ID and Secret. Set Mode to Sandbox.
5
Test a payment
Submit a test booking using PayPal's sandbox buyer account (provided in developer dashboard).
6
Switch to Live
In PayPal Developer Dashboard, switch to Live credentials. Update IM Form with Live Client ID and Secret, set Mode to Live.
PayPal Sandbox provides test buyer accounts — use them to simulate payments without real money
Clients don't need a PayPal account — they can pay by card through PayPal's guest checkout
PayPal fees: 3.49% + $0.49 per transaction for standard payments
🔵
Google Apps
2 integrations
2
📊
Google Sheets
Google Apps
Basic & Pro
Automatically log every new booking as a row in a Google Sheet. Perfect for reporting, sharing data with your team, or feeding into other tools.
Google Cloud Console →
Configuration Fields
Service Account JSON
A JSON key file from Google Cloud Console. This authenticates IM Form to write to your sheet.
Spreadsheet ID
The long ID in your Google Sheet URL: docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit
Sheet Tab Name
The name of the specific tab to write to (e.g. Sheet1, Bookings, Leads).
Step-by-Step Setup
1
Create a Google Cloud project
Go to console.cloud.google.com → New Project. Name it 'IM Form'.
2
Enable Google Sheets API
APIs & Services → Library → Search 'Google Sheets API' → Enable.
3
Create a Service Account
APIs & Services → Credentials → Create Credentials → Service Account. Fill in name, click Done.
4
Generate a JSON key
Click your Service Account → Keys → Add Key → Create new key → JSON. Download the file.
5
Share your Google Sheet
Open your Google Sheet → Share → paste the service account email (found in the JSON file as client_email) → set role to Editor.
6
Enter credentials in IM Form
IM Form → Integrations → Google Apps → paste the full contents of the JSON file → enter Spreadsheet ID and Sheet Tab Name → Save.
7
Test it
Submit a test booking. A new row should appear in your Google Sheet within seconds.
The service account email looks like: name@project-id.iam.gserviceaccount.com — share your sheet with this exact address
Both Google Sheets and Google Calendar share the same Service Account JSON — you only need to set it up once
The Spreadsheet ID is between /d/ and /edit in the URL — it's a long alphanumeric string
📅
Google Calendar
Google Apps
Basic & Pro
Sync every confirmed booking directly to Google Calendar. Each booking creates a calendar event with the client name, service, date, time, and staff member.
Google Calendar →
Configuration Fields
Service Account JSON
Same JSON file used for Google Sheets. Set it up once and it works for both.
Calendar ID or URL
The Calendar ID from Google Calendar settings, or paste the full calendar sharing URL — IM Form extracts the ID automatically.
Step-by-Step Setup
1
Complete Google Sheets setup first
Google Calendar uses the same Service Account JSON as Google Sheets. Complete that setup first (steps above).
2
Open Google Calendar settings
calendar.google.com → Settings (gear icon) → Settings → My Calendars → select your calendar.
3
Copy the Calendar ID
Scroll to 'Integrate calendar' → copy the Calendar ID (looks like: abc123@group.calendar.google.com). Or copy the full sharing URL.
4
Share the calendar with your service account
Still in Calendar Settings → Share with specific people → paste your service account email → set permission to 'Make changes to events'.
5
Enter in IM Form
IM Form → Integrations → Google Apps → Calendar tab → paste Calendar ID or URL → Save.
6
Test it
Submit a test booking. A new event should appear in your Google Calendar immediately.
Share the calendar with your service account email and grant 'Make changes to events' — without this, events cannot be created
You can use a dedicated calendar just for IM Form bookings to keep things organized
Calendar events include: client name, service, date, time, staff, and booking ID
📬
Email Marketing
1 integration
1
🐵
Mailchimp
Email Marketing
Basic & Pro
Automatically add every new client who books through IM Form to a Mailchimp audience. Build your email list effortlessly without any manual work.
Mailchimp →
Configuration Fields
API Key
Found in Mailchimp → Account → Extras → API Keys → Create A Key.
Audience List ID
Found in Mailchimp → Audience → Settings → Audience name and defaults → Audience ID.
Double Opt-in
Disabled = subscribe immediately. Enabled = send the client a confirmation email first (recommended for compliance).
Step-by-Step Setup
1
Log in to Mailchimp
Go to mailchimp.com and log in to your account.
2
Get your API Key
Click your profile (top right) → Account → Extras → API Keys → Create A Key. Copy it.
3
Get your Audience ID
Audience → All Contacts → Settings → Audience name and defaults. Copy the Audience ID.
4
Enter in IM Form
IM Form → Integrations → Mailchimp → paste API Key and Audience ID → choose Double Opt-in preference → Save.
5
Test it
Submit a test booking. Check your Mailchimp audience — the contact should appear within a minute.
Use Double Opt-in to stay GDPR/CAN-SPAM compliant — the client confirms their subscription via email
One-way sync: IM Form pushes contacts TO Mailchimp. Changes in Mailchimp do not sync back to IM Form
Tags from the booking (service name, form name) can be added to Mailchimp contacts via Automations
🔔
Notifications
1 integration
1
💬
Slack
Notifications
Basic & Pro
Get instant Slack notifications for every new booking. Customize the message template with booking details and route alerts to any channel.
Slack API →
Configuration Fields
Webhook URL
An Incoming Webhook URL from your Slack app. Looks like: https://hooks.slack.com/services/T000/B000/XXXX
Channel Override
Optional. Override the default channel from the webhook (e.g. #bookings). Leave blank to use the webhook's default.
Message Template
Customize the notification text. Use variables: {name} {email} {phone} {service} {date}
Step-by-Step Setup
1
Go to Slack API
Visit api.slack.com/apps and click Create New App → From scratch.
2
Enable Incoming Webhooks
In your app settings → Incoming Webhooks → toggle On → Add New Webhook to Workspace.
3
Select a channel
Choose the Slack channel to receive notifications → Allow → copy the Webhook URL.
4
Enter in IM Form
IM Form → Integrations → Slack → paste Webhook URL → customize message template → Save.
5
Test it
Submit a test booking. A message should appear in your Slack channel immediately.
The Webhook URL is NOT the same as a Bot Token (xoxb-...) — make sure you use an Incoming Webhook URL
You can have different Slack channels for different forms using Automations → Post Slack node
Message template supports: {name} {email} {phone} {service} {date} — customize to your needs
⚡
Automation
3 integrations
3
🔗
Webhooks
Automation
Basic & Pro
POST booking data as JSON to any endpoint whenever a new booking is submitted. Connect IM Form to any tool that accepts webhooks — no third-party required.
Webhook.site (Test) →
Configuration Fields
Endpoint URL
The URL IM Form will POST data to. Must be publicly accessible (not localhost).
Secret Header
Optional. A secret string sent in the X-IM-Secret header so your endpoint can verify the request came from IM Form.
Trigger On
All Submissions / Bookings Only / Leads Only.
Step-by-Step Setup
1
Set up your receiving endpoint
Create a URL on your server or use a service like RequestBin (requestbin.com) to inspect incoming data.
2
Enter endpoint URL in IM Form
IM Form → Integrations → Webhooks → paste your endpoint URL → optionally set a Secret Header.
3
Choose trigger
Select All Submissions, Bookings Only, or Leads Only based on what you want to capture.
4
Save and test
Submit a test booking. Check your endpoint for the incoming JSON payload.
5
Map the data
Use the received JSON fields (name, email, phone, service, date, amount, etc.) in your receiving system.
Webhook data is sent as JSON via HTTP POST — your endpoint must return a 200 status to confirm receipt
Use the Secret Header to verify authenticity — check the X-IM-Secret header value in your endpoint
Use RequestBin or Webhook.site to inspect the exact payload structure before building your integration
⚡
Zapier
Automation
Basic & Pro
Connect IM Form to 5,000+ apps via Zapier. Every new booking triggers a Zap — push data to Google Drive, Airtable, Notion, Monday.com, ActiveCampaign, and thousands more.
Zapier →
Configuration Fields
Zapier Webhook URL
Generated by Zapier when you set up a 'Webhooks by Zapier' trigger. Looks like: https://hooks.zapier.com/hooks/catch/...
Step-by-Step Setup
1
Create a Zapier account
Go to zapier.com and sign up or log in.
2
Create a new Zap
Click Create → Zaps → Create Zap.
3
Set up the Trigger
Search for 'Webhooks by Zapier' → Select 'Catch Hook' → Copy the webhook URL provided.
4
Enter URL in IM Form
IM Form → Integrations → Zapier → paste the Zapier Webhook URL → Save.
5
Send test data
Submit a test booking in IM Form. Return to Zapier and click 'Test trigger' — it will detect the booking data.
6
Set up the Action
Choose what Zapier does with the data — add a row to Google Sheets, create a Notion page, send an email via Gmail, etc.
7
Turn on the Zap
Click Publish. Every future booking will now trigger your Zap automatically.
Zapier receives all booking fields: name, email, phone, service, date, time, amount, status, form name
You can add multiple Zap actions — e.g. create a contact AND send an email AND add a spreadsheet row
Free Zapier plan allows 100 tasks/month — upgrade for higher volume
🗂
Trello
Automation
Pro
Automatically create a Trello card for every new lead or booking. Track your client pipeline visually — move cards through stages as bookings progress.
Trello API Key →
Configuration Fields
API Key
Found at trello.com/app-key. Log in to Trello first.
Token
Generated on the same page — click 'generate a Token' link next to the API Key.
Board ID
The ID of the Trello board to create cards on. Found in the board URL or via Trello API.
List ID
The ID of the specific list on the board (e.g. 'New Leads', 'Pending'). Found via Trello API.
Step-by-Step Setup
1
Get your API Key
Go to trello.com/app-key — your API Key is shown immediately. Copy it.
2
Generate a Token
On the same page, click 'generate a Token' → Allow → copy the Token.
3
Find your Board ID
Open your Trello board. The URL looks like: trello.com/b/BOARD_ID/board-name. Copy the BOARD_ID.
4
Find your List ID
Add .json to your board URL: trello.com/b/BOARD_ID/board-name.json → search for the list name → copy the list id.
5
Enter in IM Form
IM Form → Integrations → Trello → paste API Key, Token, Board ID, and List ID → Save.
6
Test it
Submit a test booking. A new card should appear in your Trello list.
Board ID is in the Trello board URL — the short code between /b/ and the board name
To find List ID: append .json to your board URL and search for your list name in the response
Card name defaults to the client's name + service. Use Automations to customize card content
👥
CRM
1 integration
1
🔶
HubSpot
CRM
Pro
Push every new lead or booking directly into HubSpot CRM as a Contact or Deal. Keep your sales pipeline up to date automatically without manual data entry.
HubSpot →
Configuration Fields
Private App Token
Starts with pat-na1-... Found in HubSpot → Settings → Private Apps → Create.
Create Leads As
Contact = creates a contact only. Deal + Contact = creates both a deal and contact (requires Pipeline ID).
Pipeline ID
Optional. The HubSpot pipeline to create deals in. Found in HubSpot → CRM → Deals → Pipelines.
Step-by-Step Setup
1
Log in to HubSpot
Go to app.hubspot.com and log in.
2
Create a Private App
Settings (gear icon) → Integrations → Private Apps → Create a private app. Name it 'IM Form'.
3
Set permissions
In the Scopes tab: enable crm.objects.contacts.write and crm.objects.deals.write → Create App.
4
Copy the Token
After creation, copy the Access Token (starts with pat-na1-...).
5
Enter in IM Form
IM Form → Integrations → HubSpot → paste the Private App Token → choose Create As → Save.
6
Test it
Submit a test booking. Check HubSpot CRM → Contacts — the new contact should appear within seconds.
Use 'Deal + Contact' to create full sales pipeline entries — not just contacts
HubSpot's free CRM plan supports this integration — no paid HubSpot plan required
Contact properties mapped: First Name, Last Name, Email, Phone, and service as a note
Contents
Reading progress0%