Connect your tools on the Integrations tab
Use the Integrations tab for InBody, plus automation webhooks and API keys.
Where: Web, for admins and coaches
The Integrations tab connects other tools to Demotu. Org admins, staff admins, and team admins see it. Open Admin, then Integrations. The tab shows an InBody card. It also shows an Automation webhooks card if webhooks are turned on for your account, and a MOSO card if your organization is connected to MOSO. This article covers InBody, automation webhooks, and API keys. Coaches use the InBody results card and API keys. The rest is for admins.
Turn on InBody and add your InBody accounts
Staff admins and team admins can see the Integrations tab, but the InBody card says Organization admin access required and they cannot open its settings. Your organization must use InBody machines and have an InBody portal login.
Turn it on
Open Admin > Integrations.
On the InBody card, select Enable Integration. The InBody Integration page opens and shows Connected.
After it is on, select Manage Settings on the InBody card to come back to this page.
Set up InBody to send data
Open Setup Instructions. Do these steps in your InBody portal. Each location and the executive account needs its own InBody account and API key.
Ask InBody for API access. View InBody setup guide opens their guide.
In your InBody portal, go to SETUP and select Get a New Key to make your API key.
Put the InBody account name and API key in Demotu (see the next part).
In InBody, allow the IP addresses shown in Demotu. Select Copy IPs to copy them.
In InBody, set the webhook server URL to the one shown in Demotu. Select Copy URL to copy it. You can name the webhook anything.
In InBody, add one extra header. Use the Key shown (Key 1) and the Value shown (Value 1). Select Copy Key and Copy Value to copy them. The value is your webhook secret. If no value shows yet, select Generate Secret first.
Add the account names and keys
Scroll to Account Configurations.
Find Executive/Multi-Location Account or the team's row (Team: and its name). Select Configure. The button says Edit if it is already set.
Type the Account Name (your InBody username) and the API Key.
Select Save. The row shows Configured, the account, and a short key preview. It also shows how many InBody calls ran today out of the daily limit.
To change a key later, select Edit, type the new key, and select Save. Leave API Key blank to keep the old key.
Make a new webhook secret
Next to the secret value, select the Regenerate secret button.
Read the warning, then select Regenerate Secret.
In every InBody account, change the header value to the new secret. If you do not, InBody stops sending live data.
Turn InBody off
On the InBody page, select Disable.
Select Disable Integration. This deletes all keys, account names, and secrets. To turn it back on, you must set it up again from the start.
See InBody results on a client
The Body Composition card shows a client's InBody scan results. It shows only when your organization has InBody turned on. Ask an org admin if you do not see it.
Connect a client
Open the client, select the Profile tab, and scroll to the Body Composition card.
Select Connect to Inbody.
Enter the client's Phone Number. Any format works, but it must have 10 to 12 digits.
Select Look Up Data.
In Select Data to Import, tick the tests you want. You can use Select All or Clear. Select Search for more to look further back.
Select Import {n} Item(s).
New tests that match this phone number come in by themselves after that.
Read the results
Latest shows the newest test and its Test Date.
History lists every test by date. Select a row to open Test Details.
Charts shows one measure over time. Pick it in Select Metric.
Other actions on the card:
Select Refresh Data to check for new tests.
Select Import previous tests (the link icon) to look up older tests.
Next to Phone:, select Edit phone number to change the number.
To remove a test, open History and select Delete this test. Delete test? says "This deletes the imported Inbody measurements for that test date from this client." Select Delete.
On mobile, open the client's Profile, then select View {n} metrics to open the InBody numbers, and Hide metrics to close them.
Connect Zapier or Make with automation webhooks
You see automation webhooks only if they are turned on for your account. Solo coaches set them up in Setup: select your initials at the bottom left, select Setup, then under Business select Automation webhooks. Organizations set them up in Admin > Integrations, on the Automation webhooks card (select Manage Settings), and only org admins can do it.
A webhook sends a short message to another tool each time something happens in Demotu. The page also has a Set up Zapier step by step guide. You can send these events: Payment completed, Payment failed, Payment refunded, Subscription created, Subscription trial ending, Subscription updated, Subscription cancelled, Workout completed, Assessment completed.
Add a webhook (Zapier example)
In Zapier, create a Zap. Choose Webhooks by Zapier as the trigger, then choose Catch Hook. Copy the Catch Hook URL. Keep this page open. In Make, use a custom webhook and copy its URL.
In Demotu, open the Automation webhooks page and select Add webhook.
Type a Name.
Paste the URL in Destination URL. It must be a public HTTPS address.
Pick the Events you want. An example request shows what Demotu will send. You can copy it with Copy JSON or Copy headers.
Select Create webhook.
Demotu shows the signing secret once. Select Copy secret and keep it somewhere safe. Zapier's basic Catch Hook does not need it. Select I've saved it — verify endpoint.
In the verification window, select Send verification request. Demotu sends a one-time code to your URL. The request has no client data in it.
In Zapier, select Test trigger. Open the request it found and copy the value named verification_code.
Back in Demotu, paste the code in Verification code and select Confirm and activate. The code expires after 15 minutes. The webhook shows Verified and Active.
Select a Test button on the webhook, for example Test Payment completed, to send a sample. In Zapier, select Test trigger again and map the fields.
Check, pause, and fix
The switch on each webhook pauses and reactivates it. It stays off until the webhook is verified.
Recent deliveries lists each send with its status: Pending, Sending, Retrying, Delivered, or Failed. Select Retry on a failed one.
If your webhook shows Verification required, select Verify endpoint and repeat the last three add steps (send the request, copy the code, confirm).
Select Rotate secret, then select Rotate secret again in the window to make a new signing secret. This stops the old one at once. Update the secret in your other tool before the next send.
Select the trash icon (Delete webhook) to remove a webhook. There is no confirm step.
Create and revoke an API key
Org admins can make API keys. Coaches in your organization can also make keys if an org admin turns on Allow trainers to generate their own API keys. API access must also be on for your account. Solo coaches without an organization cannot make API keys. Each key can do only what its owner can already do in Demotu.
Create a key
Select your initials at the bottom left, then select Setup.
Under Business, select API keys.
Type a name in Key name (up to 50 characters), for example the tool that will use it.
Select Generate key.
Select Copy key and paste it into your tool right away. Demotu shows the full key once and cannot show it again.
Select Done.
Revoke a key
Open Setup > API keys.
Find the key by its name and the first characters shown.
Select Revoke. There is no confirm step. The key stops working at once. Its row stays in the list and shows Revoked.
Let coaches make their own keys (org admins)
Open Setup > API keys.
Turn on Allow trainers to generate their own API keys.
Common questions
Where do coaches see the InBody data?
On the client profile, in the Body Composition card. See the steps above.
Why does a team say "Not Configured"?
No InBody account name and key are saved for that team yet.
I see no teams in the InBody settings.
Create teams first. Team accounts need a team.
What if the phone number is missing?
The card says new tests will not link by themselves. Your saved history still shows. Add the number to link new tests.
Why did my webhook pause by itself?
It failed to deliver 10 times in a row. Fix the destination, then turn the switch back on.
Do I get the same event twice?
It can happen. If your tool does not accept a send, Demotu tries again, up to 5 times in all. Use the Idempotency-Key header to ignore repeats.
Payment completed fires on renewals too. How do I make one deal per package sale?
Match on data.payment.payment_request_id, so repeats update the same deal.
I do not see Automation webhooks.
They are not turned on for your account yet. Ask support.
I lost my API key. Can I see it again?
No. Revoke the old key and generate a new one.
What happens if I turn the API key switch off?
Coaches cannot make new keys. Keys they already made keep working. The coach can no longer open API keys to revoke them, so turn the switch back on for a moment if a key needs to be revoked.
Can I revoke a key that another coach made?
No. Only the person who made a key can revoke it.
I do not see API keys in Setup.
You are not in an organization, API access is not on for your account, or your org admin has not let coaches make keys.
