Location: Team → AI Agents
Post type integration: team_manager (create/update/publish/delete)
Logging: enable Advanced → Debug Logging to write agent activity to the plugin log.
1) FAQ Bot (Pro)
Purpose: Answer common questions about a team member (front-end or admin), using your OpenAI API key.
Fields
- Enable FAQ Bot — on/off.
- OpenAI API Key — stored in options; required.
- Model — e.g., gpt-4o-mini.
How it works
- Builds a prompt from the member’s fields (name, role, bio, skills, custom meta).
- Caches short responses to reduce calls.
- Honors privacy: excludes emails/phones unless explicitly allowed.
Security notes
- Store the key in wp-config.php if preferred (e.g., define(‘WTM_OPENAI_KEY’, ‘…’);), and read it in the field callback.
- Redact PII via a filter (see “Developer hooks” below).
2) Telegram Notifier (Free)
Purpose: Send Telegram messages when a team profile is created/updated.
Fields
- Enable Telegram notifications
- Bot Token
- Chat ID — channel, group, or user. (Channel IDs can be negative.)
- Send Test Message — sends a ping using the current settings.
Events
- By default: publish, update, trash/restore of team_manager.
Message template (default)
{name} ({designation})
Status: {event}
Link: {permalink}
Customize via the wtm_ai_telegram_message filter.
Troubleshooting
- Add the bot to the group/channel and make it an admin if required.
- For channels, use the channel’s numeric ID (often negative).
- If you see 403s, rotate the token and retry the “Send Test Message”.
3) Profile Sync Agent (Free)
Purpose: Push a member profile to your webhook (n8n, Zapier, custom API).
Fields
- Enable Sync
- Webhook URL — HTTPS recommended.
- HMAC Secret (optional) — if set, requests include X-WTM-Signature (HMAC-SHA256).
- Only sync when status is Published — avoids drafts/previews.
Payload (example)
{
"member_id": 123,
"name": "Jane Doe",
"slug": "jane-doe",
"designation": "UI Designer",
"department": ["Design"],
"groups": ["Photographer"],
"genders": ["Female"],
"meta": {
"email": "jane@example.com",
"mobile": "+1 555-0100",
"location": "Seattle, WA",
"skills": [{"label":"Figma","value":90}]
},
"permalink": "https://site.com/team-details/jane-doe/",
"updated_at": "2025-08-22T18:04:00Z",
"event": "updated"
}
Signature
Header: X-WTM-Signature: sha256=<hex_digest>
Body used for HMAC: raw JSON payload
Retries
- Uses wp_remote_post with sane timeouts; failed posts are logged when Debug Logging is on.
4) Onboarding Guide (Pro)
Purpose: Generate/share a welcome message or checklist when a new member is added.
Fields
- Enable Onboarding Guide
- Welcome Message / Template — base text used by the guide.
Behavior
- Can post the message to your selected channel (e.g., Slack via Slack Notifier) or display it in admin context.
- Template supports tokens like {name}, {designation}, {manager}, {start_date}.
5) Conditional Notifier (Pro)
Purpose: Send notifications when rules match member data.
Fields
- Enable Conditional Notifier
- Rules (JSON) — simple rule blocks.
Rule example
[
{
"when": {"department":"Design", "designation":"Senior"},
"notify": {"via":"telegram","template":" {name} promoted to Senior {designation}!"}
},
{
"when": {"skills.contains":"Figma"},
"notify": {"via":"slack","channel":"#design","template":"{name} has Figma expertise ({skills})"}
}
]
Supported operators: equals, in, contains, not_equals (documented via inline help link).
6) Activity Tracker (Pro)
Purpose: Track views/clicks on team listings and detail pages to an endpoint you control.
Fields
- Enable Activity Tracker
- Target Endpoint (URL) — receives events.
Events
{"event":"profile_view","member_id":123,"at":"2025-08-22T18:04:00Z","context":"single"}
{"event":"social_click","member_id":123,"network":"linkedin","at":"..."}
Front-end JS is only enqueued when enabled. Complies with cookie-less mode by default; add consent gating via filter.
7) Slack Notifier (Pro)
Purpose: Post updates to Slack via Incoming Webhooks.
Fields
- Enable Slack notifications
- Webhook URL
- Channel (optional) — overrides the default webhook channel.
Message template (default)
*{name}* – {designation}
{event} • {permalink}
Customize via wtm_ai_slack_payload filter (return an array or text).
Developer hooks (high-value)
- General
- wtm_ai_event_subscriptions( array $events ) Add/remove event types per agent.
- wtm_ai_can_notify( bool $allowed, string $agent, WP_Post $post )
- Telegram
- wtm_ai_telegram_message( string $text, WP_Post $post, array $ctx )
- Slack
- wtm_ai_slack_payload( array|string $payload, WP_Post $post, array $ctx )
- Profile Sync
- wtm_ai_webhook_payload( array $payload, WP_Post $post )
- wtm_ai_webhook_headers( array $headers, string $body )
- FAQ Bot
- wtm_ai_faq_prompt( string $prompt, WP_Post $post )
- wtm_ai_faq_can_use_field( bool $allow, string $meta_key ) (redact PII)
(If any of these aren’t in code yet, they’re the exact signatures we’ve been using in examples—easy to add where we assemble messages/payloads.)
Security & compliance
- All outbound calls use wp_remote_* with nonces/cap checks on admin saves.
- Secrets (tokens, webhook URLs) are stored in options and masked in UI.
- Optional HMAC signing for webhooks.
- Respect status gating (e.g., send only on Published).
- Debug logs are opt-in and rotate by size.
Quick setup cheat-sheet
- Telegram Notifier (Free):
- Create bot (@BotFather), copy Bot Token, add bot to channel/group, find Chat ID.
- Paste both, click Send Test Message.
- Profile Sync (Free):
- Paste your n8n webhook URL.
- (Optional) Set HMAC Secret and verify X-WTM-Signature in your workflow.
- Slack Notifier (Pro):
- Create Incoming Webhook in Slack.
- Paste Webhook URL (and channel if you want to override), save.
- FAQ Bot (Pro):
- Add OpenAI API Key, pick Model, enable.
- Conditional + Activity (Pro):
- Add Rules JSON and/or Target Endpoint.
- Verify data arrives; enable Debug Logging if needed.