Skip to content
IN-DEPTH TUTORIAL / 03

Cross-app handoffs: verify connections before Airtable to Slack

Use two connection states and three schedule records to practice account checks, filtering and a delivery draft. Keep expired connections visible instead of claiming a message was sent.

Prepared by shancha6 stages · Complete prompts5 practice files
On this page
  1. Inputs and complete outputs
  2. Preparation and capabilities
  3. Execution and takeover boundaries
  4. 01 Check tools and account identity
  5. 02 Make filtering rules testable
  6. 03 Read first, then build the checklist
  7. 04 Prepare delivery while retaining the connection blocker
  8. 05 Validate live read and send separately
  9. 06 Handle reruns and uncertain delivery
  10. Troubleshooting and acceptance
  11. Download practice files
  12. Sources and verification scope
THE RESULT

Check the input, then compare the complete deliverables

Explore the original materials, item-by-item outcomes and full report below. Attempt the input independently before using the reference to find omissions or disagreements.

Demonstration scope

Connection and schedule snapshots are synthetic. No Composio installation, authorization, Airtable read or Slack send occurred.

Cross-app handoffs practice
3 records · Slack expired

Original synthetic material. Try the input independently, then compare the reference results.

Original synthetic input
{
  "synthetic": true,
  "case": "composio-many-apps",
  "data": {
    "target_week": "2026-10-19/2026-10-26, end exclusive",
    "connections": [
      {
        "toolkit": "Airtable",
        "account": "editor@example.com",
        "state": "ACTIVE"
      },
      {
        "toolkit": "Slack",
        "workspace": "Example content team",
        "state": "EXPIRED"
      }
    ],
    "records": [
      {
        "id": "R01",
        "title": "Email organization tutorial",
        "date": "2026-10-20",
        "status": "Ready to publish"
      },
      {
        "id": "R02",
        "title": "Inspection notes",
        "date": "2026-10-22",
        "status": "Draft"
      },
      {
        "id": "R03",
        "title": "Month-end review",
        "date": "2026-10-28",
        "status": "Ready to publish"
      }
    ]
  }
}
Processing rules
Select only records inside the week with Ready to publish status. Connection state is not proof of table/channel permission or tool availability. Expired Slack means local draft only; do not bypass authorization. Airtable remains read-only; review final text and channel before delivery.
This shows complete inputs and expected outputs. Switching tabs runs no task; verify real connections and writes separately in your environment.
BEFORE YOU START

Prepare the materials and check your tools

Start with the practice files

  • Download connections and records; filter independently.
  • October 19 inclusive, October 26 exclusive.
  • Separate ACTIVE authentication from business permission.

Before using real services

  • Verify plugin source, account and actual tools.
  • Complete authorization yourself and keep keys out of prompts.
  • Read one test row; review message and channel separately.

Complete one file-based exercise first. For real services, verify the actual account, available tools and operation scope, then follow the acceptance check at each stage.

Download the original input and rules ↓
EXECUTION & TAKEOVER

Execution and takeover boundaries

The actions below require the agreed inputs, accounts and scope. Configuring a Routine does not expand that authorization.

Can run automatically

Inspect supplied connection states and Airtable records; select this week’s pending items and draft a Slack message.

Requires confirmation

Confirm account authorization, broader permissions and actual sending with the connected identity, target channel and complete message. Keep Airtable read-only.

Take over after a failure

Stop sending when authorization expires and have the user reconnect. After a timeout, inspect channel history and message ids before any resend.

STEP 01

Check tools and account identity

A connected app may be the wrong account and may lack target-specific access. Inspect capabilities without exposing credentials.

Stage 01 · Check tools and account identity
Inventory toolkit, account/workspace, state and unverified permissions from the snapshots. Read uploaded files only. Do not install, authorize or request secrets. Save capability.md.
Expected output

Two connection records.

Acceptance check

ACTIVE is not all tools available; Slack EXPIRED stays visible.

STEP 02

Make filtering rules testable

Date and status must both match. Validate the file logic before touching a connected schedule database.

Stage 02 · Make filtering rules testable
Filter the three records by target week and status. Explain every inclusion/exclusion. Do not promote drafts or move R03 into the week.
Expected output

Only R01 selected.

Acceptance check

All three have outcomes and original statuses remain unchanged.

STEP 03

Read first, then build the checklist

Cross-app work needs a complete read before delivery. Keep title, date, count and source identity traceable.

Stage 03 · Read first, then build the checklist
Write the weekly checklist for R01 with date, title, record id and source scope. State this is a file exercise, not a real Airtable read. Keep missing fields unknown and save checklist.md.
Expected output

A one-record local checklist.

Acceptance check

The count is 1 and the source remains R01.

STEP 04

Prepare delivery while retaining the connection blocker

A ready message is not a sent message. The expired Slack connection prevents delivery, not preparation.

Stage 04 · Prepare delivery while retaining the connection blocker
Draft the full Slack message with the checklist and references. Mark EXPIRED and not sent. Do not reconnect, borrow another account or call sending tools. Return the draft and the exact user action needed.
Expected output

A draft and clear blocker.

Acceptance check

No sent status or fabricated message id.

STEP 05

Validate live read and send separately

A successful connection does not prove a particular base or channel is readable. Check each target explicitly.

Stage 05 · Validate live read and send separately
Inspect <Airtable base/table/view> read-only, at most 10 rows. After user reconnects Slack, inspect <workspace/channel> access. Preview final text and target; send once only with explicit approval and return the actual message id. Do not update Airtable.
Expected output

Read evidence and delivery status, or a blocker.

Acceptance check

Airtable remains unchanged; sending requires a real returned identity.

STEP 06

Handle reruns and uncertain delivery

A timeout may occur after a successful send. Deduplicate by window, record identities and actual delivery state.

Stage 06 · Handle reruns and uncertain delivery
Draft a cross-app-checklist Skill with account checks, window/status rules, limits, references, delivery confirmation and deduplication. On uncertain send, read history before retrying. Propose a Routine only; expired access stops delivery and is reported.
Expected output

A reusable handoff method.

Acceptance check

No repeat message for the same confirmed batch; failure is not no new content.

TROUBLESHOOTING & ACCEPTANCE

Find the evidence before choosing the next action

ACTIVE but the table is unreadable

Check target permissions and tool availability separately.

The schedule includes a draft

Reapply both time and status conditions.

Slack expired

Keep the file draft and let the user reconnect.

A send timed out

Check actual channel history/message identity before retrying.

Check every item before finishing

These page-local checkboxes reset on refresh. Checking them does not verify a real service connection.

Checked 0 / 6 items

PRACTICE MATERIALS

Download the inputs separately from the reference answers

Start with input and rules without showing the reference answers. After acceptance, save the report and complete prompt set.

SOURCES & VERIFICATION

Check documented capabilities and exercise results separately

Content updated: · Editing a page does not reverify its sources or live workflow.

Documentation review: Unverified · no review date recorded
No case-specific documentation review is recorded. References below are provided for review and do not establish verification.

Live workflow verification: Unverified
Live accounts, external writes, scheduled execution and long-term operation are unverified. Synthetic exercises and page checkboxes do not establish live verification.

Connection and schedule snapshots are synthetic. No Composio installation, authorization, Airtable read or Slack send occurred.

  1. Composio: connected accounts ↗

    Verify connected identity and authentication status; target-specific permissions still need separate checks.

  2. Grok Bot: apps and the shared computer ↗

    Check connected accounts, available tools, visibility and user takeover.

  3. Grok Bot: Skills and Routines ↗

    Validate a manual run before saving a method or scheduling it.

NEXT STEP

Try another small batch of your own material

Retain original input and operation records. Verify that each result can be traced before adding connections or recurring runs.

217 related external resources →Official sources and original authors’ posts, each with a note on what was checked.

Last updated: