Skip to main content
IoTFlows - Return to homepage

Command Palette

Search for a command to run...

View as Markdown

Share photos, files, and voice notes

Get an image, a document, or a recorded note to your team from any client.

Every attachment travels the same way: pick it, look at the preview, send it. Two things change the outcome. Whether an image goes compressed or at full resolution decides how it arrives, and which client you are on decides what you can attach at all.

Before you start: have a chat open. See Start a direct or group chat.

Send a photo or video

  1. Open the chat.
  2. Select the paperclip to the left of the composer.
  3. Select Photo or Video.
  4. Pick one or more images, or a video.
  5. Type a note into the Type a message... box if you want one.
  6. Select the send arrow.

Dragging files from your desktop onto the open thread opens the same preview, which is faster than the menu when the file is already on screen.

The chat composer's paperclip menu open over the Write a message box, listing Photo or Video, File, and Camera, with a highlight box around the paperclip that opened itAttaching a photo or video.

Send several at once and each one becomes its own message, and the note you typed is repeated under every one of them. A reply you had lined up attaches to the first.

Compressed or original

Two buttons sit at the top left of the preview, and the one in blue is the one that will be used. The picture icon is Send in a quick way, which compresses. The document icon is Send without compression, which sends the file you picked, byte for byte.

Compressing caps the longest side at 1600 px and re-encodes the image as WebP, which is why a phone photo sent this way lands in the thread in a moment.

Send the original when someone will zoom into it: a nameplate, a crack, a wiring detail. Send compressed for everything else. The original is slow on plant Wi-Fi and nobody waits for it.

The choice also decides how the image arrives. A compressed image appears in the thread as a picture you can open, and it is listed under Media in chat info. An original arrives as a file row with a download button, no thumbnail, and it is listed under Files.

The attachment preview dialog showing an image, with two icon buttons at its top left: numbered callout 1 marks the picture icon that compresses, and callout 2 marks the document icon that sends the originalSend the original when someone will zoom into it. Compressed for everything else.

Sending a video?

Select Send without compression first, because the browser's compression step handles still images only.

If the preview closes and nothing appears in the thread, that is what happened: pick the video again and send it without compression.

Send a file

  1. Select the paperclip, then File.
  2. Pick one or more files.
  3. Check the names and sizes listed in the preview.
  4. Select the send arrow.

The browser's chooser applies no type filter, so a PDF, a spreadsheet, a DXF, and a firmware binary all go. If everything you picked is a JPEG, PNG, GIF, WebP, or SVG, the compress button appears here too, set to original.

Take a photo in the app

Select the paperclip, then Camera. The browser asks for permission the first time, your webcam appears, and Capture freezes a still that lands in the usual preview.

Use this for a whiteboard or a printed work instruction sitting next to the laptop. For anything you have to walk to, use the phone: its camera reaches the machine and the laptop does not. The web capture is a still image, so recording video is a phone capability.

Record a voice note

A voice note is an audio message recorded in the composer and posted to the thread like any other message.

  1. Empty the composer. The microphone button appears only when there is no text in it.
  2. Hold the microphone down. It turns red and pulses while it records.
  3. Release to stop.
  4. Play the recording back in the player that replaces the composer.
  5. Select the send arrow, or the X to throw it away.

Nothing is posted until you send it, so a recording you dislike costs nothing. In the thread, a voice note arrives as a play button, a waveform, and its length. The waveform is drawn from the audio itself the first time anyone plays it, so it looks flat until then.

Two voice notes in a chat thread under a PDF attachment, each one a circular play button, a bar waveform beside it, and the recording's length underneathA voice note with its waveform.

On iOS and Android, hold the microphone in the same place, then slide left to cancel the recording or slide up to lock it so you can stop holding. Releasing goes to the same preview the web shows.

An iOS chat screen recording a voice note: the microphone button is enlarged, a running clock and a Slide to cancel hint fill the composer row, and an arrow marks the hold gesture on the buttonHold to record a voice note on mobile.

Share from another app

A photo you just took in the camera app, or a PDF a supplier emailed you, can go straight into IoTFlows without opening it. On iOS this is a share extension: a small piece of the app that the system share sheet runs, which uploads the attachment and posts the message over its own connection rather than waking the full app.

  1. Select Share in the app holding the file.
  2. Select IoTFlows.
  3. Under Create as, select Send as Message.
  4. Under Attach as, select Images or Files.
  5. Select Continue, then pick the chat.

Create as also routes to Maintenance Request, which opens the request form with the attachment staged. See Submit a maintenance request. iOS adds Production Work Order as a third destination; Android offers the first two.

The web dashboard is not a share target. Dragging a file onto an open thread is the closest thing a browser has.

The share sheet routes: another app to IoTFlows, then to a chat or a maintenance request.A diagram in three stages, left to right. A box reading 'Another app: Photos, Files, a supplier's email' has an arrow into a box reading 'IoTFlows share sheet: Create as, then Attach as Images or Files'. Three arrows leave it: to 'Send as Message, pick a chat, posts into the thread', to 'Maintenance Request, opens the request form with the files staged', and to 'Production Work Order, iOS only'. A line underneath reads: the web dashboard is not a share target, drag a file onto the thread instead.

Browse a chat's media, files, and voice notes

Select the chat's name or picture in the header to open chat info. Four tabs run across it: Members, Media, Files, and Voice.

TabHolds
MediaCompressed images, as a grid of thumbnails. Select one to open it full size.
FilesEverything sent without compression: documents, videos, and original-quality images.
VoiceVoice notes, each with its own player.

Each tab loads the most recent items and fetches older ones as you scroll. An empty one says so: "No images have been shared in this chat."

An image sent as an original is under Files, not Media, which is where people go looking for a photo they know they sent.

The chat info panel with the Media tab open, showing a grid of shared image thumbnails. Numbered callouts mark the Media, Files, and Voice tabs across the topEverything shared in a chat, browsable by type.

Download and save

On the web, every attachment carries a download control: the round button on a file or voice bubble in the thread, the download control in the expanded image, or the row itself under Files. The file arrives wherever your browser puts downloads, under the name it was sent with.

On iOS, open the image or video and select Share for Save Video, Save to Files, or AirDrop. On Android, open the image and select Save to phone, which writes it into Pictures/IoTFlows or Movies/IoTFlows and reports progress in a system notification. Tapping a document on Android downloads it and hands it to whichever app opens that type, rather than keeping a copy in your files.

Attachment types

TypeWebiOSAndroidSize or format notes
PhotoYes, compressed or originalYes, always compressedYes, compressed or originalWeb compression caps the longest side at 1600 px and writes WebP. iOS re-encodes to JPEG at a low quality setting with no original option. Android compresses to WebP unless you check Send original (no compression).
VideoYes, uncompressed onlyYesYesArrives in the thread as a file row on the web, and is listed under Files on every client.
Any other fileYesYesYesThe browser's chooser enforces no type filter and no size limit. Several at once is fine.
Camera captureYes, still photoYes, photo or videoYes, photo or videoWeb capture uses the webcam at its own resolution. Android splits the choice into Take photo and Record video.
Voice noteYes, hold the microphoneYesYesPhones add slide left to cancel and slide up to lock.
Shared in from another appNoYesYesiOS offers three destinations, Android two.

You do not need the phone app to share files. Everything except the share sheet and video capture works in the browser, so a planner at a desk never has to install anything.

When an upload fails

What you seeWhat happened
Failed to upload file.The upload was rejected or threw. Nothing was posted to the chat. Send it again.
An error occurred while uploading the file.The connection dropped part way through. The progress bar stops and no message appears.
Waiting for NetworkThe file reached storage, but chat's live connection was down when IoTFlows tried to post the message, so nobody sees it. See Send messages.
Error downloading file:The download link could not be issued. Reload the tab and select the download again.

A voice note is the one case with no toast. If it fails, its bubble sits in the thread at whatever progress it reached and never turns into a message. Record it again.

See also